Gateway

Gateway หลายรายการ

การตั้งค่าส่วนใหญ่ต้องใช้ Gateway หนึ่งตัว โดย Gateway เดียวรองรับการเชื่อมต่อการส่งข้อความและเอเจนต์ได้หลายรายการ ให้เรียกใช้ Gateway แยกกันโดยใช้โปรไฟล์/พอร์ตที่แยกจากกันเฉพาะเมื่อจำเป็นต้องมีการแยกที่เข้มงวดยิ่งขึ้นหรือความซ้ำซ้อน (เช่น บอตกู้คืน)

เริ่มต้นใช้งานบอตกู้คืนอย่างรวดเร็ว

การตั้งค่าบอตกู้คืนที่ง่ายที่สุด:

  • ให้บอตหลักใช้โปรไฟล์เริ่มต้น
  • เรียกใช้บอตกู้คืนบน --profile rescue โดยใช้โทเค็นบอต Telegram ของตนเอง
  • กำหนดพอร์ตฐานของบอตกู้คืนให้แตกต่างออกไป เช่น 19789

วิธีนี้ทำให้บอตกู้คืนยังสามารถแก้ไขข้อบกพร่องหรือใช้การเปลี่ยนแปลงการกำหนดค่าได้หากบอตหลักหยุดทำงาน เว้นระยะห่างระหว่างพอร์ตฐานอย่างน้อย 20 พอร์ต เพื่อไม่ให้พอร์ตเบราว์เซอร์/CDP ที่คำนวณตามพอร์ตฐานเกิดการชนกัน

bash
# บอตกู้คืน (บอต 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 แต่ละตัวที่เพิ่มเข้ามา:

bash
# ตัวหลัก (โปรไฟล์เริ่มต้น)openclaw setupopenclaw gateway --port 18789 # Gateway เพิ่มเติมopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789

การใช้โปรไฟล์ที่มีชื่อทั้งสองฝั่งก็ใช้ได้เช่นกัน:

bash
openclaw --profile main setupopenclaw --profile main gateway --port 18789 openclaw --profile ops setupopenclaw --profile ops gateway --port 19789

บริการใช้รูปแบบเดียวกัน:

bash
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 (ต่อโปรไฟล์ ต่ออินสแตนซ์)

ตัวอย่างตัวแปรสภาพแวดล้อมแบบกำหนดเอง

bash
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

การตรวจสอบอย่างรวดเร็ว

bash
openclaw gateway status --deepopenclaw --profile rescue gateway status --deepopenclaw --profile rescue gateway probeopenclaw statusopenclaw --profile rescue statusopenclaw --profile rescue browser status
  • gateway status --deep ตรวจพบบริการ launchd/systemd/schtasks ที่ค้างอยู่จากการติดตั้งรุ่นเก่า
  • ข้อความเตือนของ gateway probe เช่น multiple reachable gateway identities detected เป็นสิ่งที่คาดไว้เฉพาะเมื่อจงใจเรียกใช้ Gateway ที่แยกจากกันมากกว่าหนึ่งตัว หรือเมื่อ OpenClaw ไม่สามารถยืนยันได้ว่าเป้าหมายโพรบที่เข้าถึงได้คือ Gateway เดียวกัน ทันเนล SSH, URL พร็อกซี หรือ URL ระยะไกลที่กำหนดค่าไว้ซึ่งชี้ไปยัง Gateway เดียวกัน ถือเป็น Gateway หนึ่งตัวที่มีการรับส่งข้อมูลหลายช่องทาง แม้ว่าพอร์ตการรับส่งข้อมูลจะแตกต่างกันก็ตาม

ที่เกี่ยวข้อง

Was this useful?
On this page

On this page