Gateway
Gateway หลายรายการ
การตั้งค่าส่วนใหญ่ควรใช้ Gateway เดียว เพราะ Gateway เดียวสามารถจัดการการเชื่อมต่อข้อความและเอเจนต์ได้หลายรายการ หากคุณต้องการการแยกที่เข้มงวดขึ้นหรือความซ้ำซ้อน (เช่น บอตกู้คืน) ให้รัน Gateway แยกกันด้วยโปรไฟล์/พอร์ตที่แยกกัน
การตั้งค่าที่แนะนำที่สุด
สำหรับผู้ใช้ส่วนใหญ่ การตั้งค่าบอตกู้คืนที่ง่ายที่สุดคือ:
- เก็บบอตหลักไว้บนโปรไฟล์เริ่มต้น
- รันบอตกู้คืนบน
--profile rescue - ใช้บอต Telegram แยกต่างหากโดยสิ้นเชิงสำหรับบัญชีกู้คืน
- เก็บบอตกู้คืนไว้บนพอร์ตฐานอื่น เช่น
19789
วิธีนี้จะทำให้บอตกู้คืนแยกออกจากบอตหลัก เพื่อให้สามารถดีบักหรือปรับใช้ การเปลี่ยนแปลงการตั้งค่าได้หากบอตหลักล่ม เว้นระยะพอร์ตฐานอย่างน้อย 20 พอร์ต เพื่อไม่ให้พอร์ต browser/canvas/CDP ที่ได้มาชนกัน
เริ่มต้นใช้งานบอตกู้คืนอย่างรวดเร็ว
ใช้เส้นทางนี้เป็นค่าเริ่มต้น เว้นแต่คุณจะมีเหตุผลหนักแน่นที่จะทำอย่างอื่น:
# Rescue bot (separate Telegram bot, separate profile, port 19789)
openclaw --profile rescue onboard
openclaw --profile rescue gateway install --port 19789
หากบอตหลักของคุณกำลังทำงานอยู่ โดยปกติเท่านี้ก็เพียงพอแล้ว
ระหว่าง openclaw --profile rescue onboard:
- ใช้โทเคนบอต Telegram แยกต่างหาก
- เก็บโปรไฟล์
rescueไว้ - ใช้พอร์ตฐานที่สูงกว่าบอตหลักอย่างน้อย 20 พอร์ต
- ยอมรับพื้นที่ทำงานกู้คืนเริ่มต้น เว้นแต่คุณจัดการเองอยู่แล้ว
หากการเริ่มต้นใช้งานได้ติดตั้งบริการกู้คืนให้คุณแล้ว คำสั่ง
gateway install สุดท้ายก็ไม่จำเป็น
เหตุผลที่วิธีนี้ใช้ได้
บอตกู้คืนยังคงเป็นอิสระเพราะมีสิ่งเหล่านี้เป็นของตัวเอง:
- โปรไฟล์/การตั้งค่า
- ไดเรกทอรีสถานะ
- พื้นที่ทำงาน
- พอร์ตฐาน (รวมถึงพอร์ตที่ได้มา)
- โทเคนบอต Telegram
สำหรับการตั้งค่าส่วนใหญ่ ให้ใช้บอต Telegram แยกต่างหากโดยสิ้นเชิงสำหรับโปรไฟล์กู้คืน:
- ทำให้จำกัดเฉพาะผู้ปฏิบัติการได้ง่าย
- โทเคนและตัวตนของบอตแยกกัน
- เป็นอิสระจากการติดตั้งช่องทาง/แอปของบอตหลัก
- เส้นทางกู้คืนผ่าน DM ที่เรียบง่ายเมื่อบอตหลักเสีย
สิ่งที่ --profile rescue onboard เปลี่ยน
openclaw --profile rescue onboard ใช้ขั้นตอนการเริ่มต้นใช้งานปกติ แต่จะ
เขียนทุกอย่างลงในโปรไฟล์แยกต่างหาก
ในทางปฏิบัติ หมายความว่าบอตกู้คืนจะได้รับสิ่งเหล่านี้เป็นของตัวเอง:
- ไฟล์การตั้งค่า
- ไดเรกทอรีสถานะ
- พื้นที่ทำงาน (ค่าเริ่มต้นคือ
~/.openclaw/workspace-rescue) - ชื่อบริการที่จัดการ
พรอมป์อื่นๆ จะเหมือนกับการเริ่มต้นใช้งานปกติ
การตั้งค่า Gateway หลายตัวทั่วไป
รูปแบบบอตกู้คืนด้านบนเป็นค่าเริ่มต้นที่ง่ายที่สุด แต่รูปแบบการแยกเดียวกัน ใช้ได้กับ Gateway คู่ใดก็ได้หรือกลุ่มใดก็ได้บนโฮสต์เดียว
สำหรับการตั้งค่าที่ทั่วไปกว่า ให้ Gateway เพิ่มเติมแต่ละตัวมีโปรไฟล์ที่ตั้งชื่อของตัวเองและ พอร์ตฐานของตัวเอง:
# main (default profile)
openclaw setup
openclaw gateway --port 18789
# extra gateway
openclaw --profile ops setup
openclaw --profile ops gateway --port 19789
หากคุณต้องการให้ Gateway ทั้งสองใช้โปรไฟล์ที่ตั้งชื่อไว้ ก็ทำได้เช่นกัน:
openclaw --profile main setup
openclaw --profile main gateway --port 18789
openclaw --profile ops setup
openclaw --profile ops gateway --port 19789
บริการใช้รูปแบบเดียวกัน:
openclaw gateway install
openclaw --profile ops gateway install --port 19789
ใช้การเริ่มต้นใช้งานบอตกู้คืนอย่างรวดเร็วเมื่อคุณต้องการช่องทางผู้ปฏิบัติการสำรอง ใช้ รูปแบบโปรไฟล์ทั่วไปเมื่อคุณต้องการ Gateway หลายตัวที่ใช้งานระยะยาวสำหรับ ช่องทาง ผู้เช่า พื้นที่ทำงาน หรือบทบาทการปฏิบัติงานที่แตกต่างกัน
รายการตรวจสอบการแยก
ทำให้รายการเหล่านี้ไม่ซ้ำกันต่ออินสแตนซ์ Gateway:
OPENCLAW_CONFIG_PATH— ไฟล์การตั้งค่าต่ออินสแตนซ์OPENCLAW_STATE_DIR— เซสชัน ข้อมูลรับรอง แคช ต่ออินสแตนซ์agents.defaults.workspace— รากพื้นที่ทำงานต่ออินสแตนซ์gateway.port(หรือ--port) — ไม่ซ้ำกันต่ออินสแตนซ์- พอร์ต browser/canvas/CDP ที่ได้มา
หากแชร์สิ่งเหล่านี้ คุณจะเจอการแย่งเขียนการตั้งค่าและพอร์ตชนกัน
การแมปพอร์ต (ที่ได้มา)
พอร์ตฐาน = gateway.port (หรือ OPENCLAW_GATEWAY_PORT / --port)
- พอร์ตบริการควบคุมเบราว์เซอร์ = ฐาน + 2 (เฉพาะ loopback)
- โฮสต์ canvas ให้บริการบนเซิร์ฟเวอร์ HTTP ของ Gateway (พอร์ตเดียวกับ
gateway.port) - พอร์ต CDP ของโปรไฟล์เบราว์เซอร์จัดสรรอัตโนมัติจาก
browser.controlPort + 9 .. + 108
หากคุณแทนที่ค่าใดๆ เหล่านี้ใน config หรือ env คุณต้องทำให้ค่าเหล่านั้นไม่ซ้ำกันต่ออินสแตนซ์
หมายเหตุ Browser/CDP (ข้อผิดพลาดที่พบบ่อย)
- อย่า ปัก
browser.cdpUrlไว้เป็นค่าเดียวกันในหลายอินสแตนซ์ - แต่ละอินสแตนซ์ต้องมีพอร์ตควบคุมเบราว์เซอร์และช่วง CDP ของตัวเอง (ได้มาจากพอร์ต Gateway ของมัน)
- หากคุณต้องการพอร์ต CDP แบบชัดเจน ให้ตั้ง
browser.profiles.<name>.cdpPortต่ออินสแตนซ์ - Chrome ระยะไกล: ใช้
browser.profiles.<name>.cdpUrl(ต่อโปรไฟล์ ต่ออินสแตนซ์)
ตัวอย่าง env แบบแมนนวล
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \
OPENCLAW_STATE_DIR=~/.openclaw \
openclaw gateway --port 18789
OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \
OPENCLAW_STATE_DIR=~/.openclaw-rescue \
openclaw gateway --port 19789
การตรวจสอบอย่างรวดเร็ว
openclaw gateway status --deep
openclaw --profile rescue gateway status --deep
openclaw --profile rescue gateway probe
openclaw status
openclaw --profile rescue status
openclaw --profile rescue browser status
การตีความ:
gateway status --deepช่วยตรวจจับบริการ launchd/systemd/schtasks ค้างจากการติดตั้งเก่า- ข้อความเตือนของ
gateway probeเช่นmultiple reachable gateways detectedคาดหวังได้เฉพาะเมื่อคุณตั้งใจรัน Gateway ที่แยกกันมากกว่าหนึ่งตัว