Gateway
Gateway หลายรายการ
การตั้งค่าส่วนใหญ่ต้องใช้ Gateway หนึ่งตัว โดย Gateway เดียวรองรับการเชื่อมต่อการส่งข้อความและเอเจนต์ได้หลายรายการ ให้เรียกใช้ Gateway แยกกันโดยใช้โปรไฟล์/พอร์ตที่แยกจากกันเฉพาะเมื่อจำเป็นต้องมีการแยกที่เข้มงวดยิ่งขึ้นหรือความซ้ำซ้อน (เช่น บอตกู้คืน)
เริ่มต้นใช้งานบอตกู้คืนอย่างรวดเร็ว
การตั้งค่าบอตกู้คืนที่ง่ายที่สุด:
- ให้บอตหลักใช้โปรไฟล์เริ่มต้น
- เรียกใช้บอตกู้คืนบน
--profile rescueโดยใช้โทเค็นบอต Telegram ของตนเอง - กำหนดพอร์ตฐานของบอตกู้คืนให้แตกต่างออกไป เช่น
19789
วิธีนี้ทำให้บอตกู้คืนยังสามารถแก้ไขข้อบกพร่องหรือใช้การเปลี่ยนแปลงการกำหนดค่าได้หากบอตหลักหยุดทำงาน เว้นระยะห่างระหว่างพอร์ตฐานอย่างน้อย 20 พอร์ต เพื่อไม่ให้พอร์ตเบราว์เซอร์/CDP ที่คำนวณตามพอร์ตฐานเกิดการชนกัน
# บอตกู้คืน (บอต Telegram แยกต่างหาก โปรไฟล์แยกต่างหาก พอร์ต 19789)openclaw --profile rescue onboardopenclaw --profile rescue gateway install --port 19789หากบอตหลักกำลังทำงานอยู่ โดยทั่วไปเพียงเท่านี้ก็เพียงพอแล้ว หากการเริ่มต้นใช้งานติดตั้งบริการกู้คืนไว้แล้ว ให้ข้าม gateway install ขั้นตอนสุดท้าย
ระหว่าง openclaw --profile rescue onboard:
- ใช้โทเค็นบอต Telegram แยกต่างหากสำหรับบัญชีกู้คืนโดยเฉพาะ (จำกัดให้เฉพาะผู้ดูแลระบบได้ง่าย เป็นอิสระจากการติดตั้งช่องทาง/แอปของบอตหลัก และเป็นช่องทางกู้คืนผ่าน DM ที่เรียบง่าย)
- คงชื่อโปรไฟล์
rescueไว้ - ใช้พอร์ตฐานที่สูงกว่าบอตหลักอย่างน้อย 20
- ยอมรับพื้นที่ทำงานกู้คืนเริ่มต้น เว้นแต่จะจัดการพื้นที่ทำงานด้วยตนเองอยู่แล้ว
สิ่งที่ --profile rescue onboard เปลี่ยนแปลง
--profile rescue onboard เรียกใช้ขั้นตอนการเริ่มต้นใช้งานตามปกติ แต่เขียนทุกอย่างลงในโปรไฟล์แยกต่างหาก บอตกู้คืนจึงมีรายการต่อไปนี้เป็นของตนเอง:
- ไฟล์โปรไฟล์/การกำหนดค่า
- ไดเรกทอรีสถานะ
- พื้นที่ทำงาน (ค่าเริ่มต้น:
~/.openclaw/workspace-rescue) - ชื่อบริการที่มีการจัดการ
- พอร์ตฐาน (รวมถึงพอร์ตที่คำนวณตามพอร์ตฐาน)
- โทเค็นบอต Telegram
พรอมต์อื่น ๆ เหมือนกับการเริ่มต้นใช้งานตามปกติ
การตั้งค่า Gateway หลายตัวโดยทั่วไป
รูปแบบการแยกเดียวกันนี้ใช้ได้กับ Gateway คู่ใด ๆ หรือกลุ่มใด ๆ บนโฮสต์เดียว โดยกำหนดโปรไฟล์ที่มีชื่อและพอร์ตฐานของตนเองให้ Gateway แต่ละตัวที่เพิ่มเข้ามา:
# ตัวหลัก (โปรไฟล์เริ่มต้น)openclaw setupopenclaw gateway --port 18789 # Gateway เพิ่มเติมopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789การใช้โปรไฟล์ที่มีชื่อทั้งสองฝั่งก็ใช้ได้เช่นกัน:
openclaw --profile main setupopenclaw --profile main gateway --port 18789 openclaw --profile ops setupopenclaw --profile ops gateway --port 19789บริการใช้รูปแบบเดียวกัน:
openclaw gateway installopenclaw --profile ops gateway install --port 19789ใช้คู่มือเริ่มต้นใช้งานบอตกู้คืนอย่างรวดเร็วสำหรับช่องทางสำรองของผู้ดูแลระบบ และใช้รูปแบบโปรไฟล์ทั่วไปสำหรับ Gateway ที่ทำงานระยะยาวหลายตัวในช่องทาง ผู้เช่า พื้นที่ทำงาน หรือบทบาทด้านการปฏิบัติงานที่แตกต่างกัน
รายการตรวจสอบการแยก
กำหนดรายการต่อไปนี้ให้ไม่ซ้ำกันสำหรับอินสแตนซ์ Gateway แต่ละตัว:
| การตั้งค่า | วัตถุประสงค์ |
|---|---|
OPENCLAW_CONFIG_PATH |
ไฟล์การกำหนดค่าต่ออินสแตนซ์ |
OPENCLAW_STATE_DIR |
เซสชัน ข้อมูลประจำตัว และแคชต่ออินสแตนซ์ |
agents.defaults.workspace |
รากพื้นที่ทำงานต่ออินสแตนซ์ |
gateway.port (หรือ --port) |
ไม่ซ้ำกันในแต่ละอินสแตนซ์ |
| พอร์ตเบราว์เซอร์/CDP ที่คำนวณตามพอร์ตฐาน | ดูด้านล่าง |
การใช้รายการใดรายการหนึ่งเหล่านี้ร่วมกันทำให้เกิดข้อขัดแย้งของการกำหนดค่า สถานะ หรือพอร์ต การเริ่มต้น Gateway
บังคับให้แต่ละไดเรกทอรีสถานะมีเจ้าของที่ไม่ซ้ำกัน แม้ว่า
OPENCLAW_ALLOW_MULTI_GATEWAY=1 จะข้ามซิงเกิลตันต่อการกำหนดค่าก็ตาม
การแมปพอร์ต (คำนวณตามพอร์ตฐาน)
พอร์ตฐาน = gateway.port (หรือ OPENCLAW_GATEWAY_PORT / --port)
- พอร์ตบริการควบคุมเบราว์เซอร์ = พอร์ตฐาน + 2 (เฉพาะลูปแบ็ก)
- โฮสต์ Canvas ให้บริการบนเซิร์ฟเวอร์ HTTP ของ Gateway โดยตรง (พอร์ตเดียวกับ
gateway.port) - พอร์ต CDP ของโปรไฟล์เบราว์เซอร์จะจัดสรรโดยอัตโนมัติตั้งแต่
browser control port + 9ถึง+ 108
หากแทนที่ค่าใด ๆ เหล่านี้ในการกำหนดค่าหรือตัวแปรสภาพแวดล้อม ต้องกำหนดค่าเหล่านั้นให้ไม่ซ้ำกันในแต่ละอินสแตนซ์
หมายเหตุเกี่ยวกับเบราว์เซอร์/CDP (ข้อผิดพลาดที่พบบ่อย)
- ห้าม ตรึง
browser.cdpUrlให้เป็นค่าเดียวกันในหลายอินสแตนซ์ - แต่ละอินสแตนซ์ต้องมีพอร์ตควบคุมเบราว์เซอร์และช่วง CDP ของตนเอง (คำนวณจากพอร์ต Gateway)
- สำหรับพอร์ต CDP ที่ระบุอย่างชัดเจน ให้ตั้งค่า
browser.profiles.<name>.cdpPortแยกสำหรับแต่ละอินสแตนซ์ - สำหรับ Chrome ระยะไกล ให้ใช้
browser.profiles.<name>.cdpUrl(ต่อโปรไฟล์ ต่ออินสแตนซ์)
ตัวอย่างตัวแปรสภาพแวดล้อมแบบกำหนดเอง
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 --deepopenclaw --profile rescue gateway status --deepopenclaw --profile rescue gateway probeopenclaw statusopenclaw --profile rescue statusopenclaw --profile rescue browser statusgateway status --deepตรวจพบบริการ launchd/systemd/schtasks ที่ค้างอยู่จากการติดตั้งรุ่นเก่า- ข้อความเตือนของ
gateway probeเช่นmultiple reachable gateway identities detectedเป็นสิ่งที่คาดไว้เฉพาะเมื่อจงใจเรียกใช้ Gateway ที่แยกจากกันมากกว่าหนึ่งตัว หรือเมื่อ OpenClaw ไม่สามารถยืนยันได้ว่าเป้าหมายโพรบที่เข้าถึงได้คือ Gateway เดียวกัน ทันเนล SSH, URL พร็อกซี หรือ URL ระยะไกลที่กำหนดค่าไว้ซึ่งชี้ไปยัง Gateway เดียวกัน ถือเป็น Gateway หนึ่งตัวที่มีการรับส่งข้อมูลหลายช่องทาง แม้ว่าพอร์ตการรับส่งข้อมูลจะแตกต่างกันก็ตาม