Get started

วงจรชีวิตของ Gateway บน macOS

โดยค่าเริ่มต้น แอป macOS จะจัดการ Gateway ผ่าน launchd และไม่ เริ่ม Gateway เป็นโปรเซสลูก ขั้นแรกแอปจะพยายามเชื่อมต่อกับ Gateway ที่ทำงานอยู่แล้วบนพอร์ตที่กำหนดค่าไว้ หากไม่สามารถเข้าถึงได้ แอปจะเปิดใช้บริการ launchd ผ่าน CLI openclaw ภายนอก (ไม่มี รันไทม์แบบฝังตัว) วิธีนี้ช่วยให้เริ่มทำงานอัตโนมัติเมื่อเข้าสู่ระบบและเริ่มใหม่เมื่อเกิดข้อขัดข้องได้อย่างน่าเชื่อถือ

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

ลักษณะการทำงานเริ่มต้น (launchd)

  • แอปติดตั้ง LaunchAgent สำหรับผู้ใช้แต่ละรายที่มีป้ายกำกับ ai.openclaw.gateway (หรือ ai.openclaw.<profile> เมื่อใช้ --profile/OPENCLAW_PROFILE)
  • เมื่อเปิดใช้โหมดเฉพาะที่ แอปจะตรวจสอบให้แน่ใจว่าโหลด LaunchAgent แล้ว และ เริ่ม Gateway หากจำเป็น
  • บันทึกจะถูกเขียนไปยังเส้นทางบันทึกของ launchd gateway (ดูได้ในการตั้งค่าการแก้ไขข้อบกพร่อง)

คำสั่งที่ใช้บ่อย:

bash
launchctl kickstart -k gui/$UID/ai.openclaw.gatewaylaunchctl bootout gui/$UID/ai.openclaw.gateway

เมื่อเรียกใช้โปรไฟล์ที่มีชื่อ ให้แทนที่ป้ายกำกับด้วย ai.openclaw.<profile>

บิลด์สำหรับการพัฒนาที่ไม่ได้ลงนาม

scripts/restart-mac.sh --no-sign ใช้สำหรับบิลด์เฉพาะที่แบบรวดเร็วโดยไม่ต้องใช้คีย์ ลงนาม เพื่อป้องกันไม่ให้ launchd ชี้ไปยังไบนารีรีเลย์ที่ไม่ได้ลงนาม สคริปต์จะเขียน ~/.openclaw/disable-launchagent

การเรียกใช้ scripts/restart-mac.sh แบบลงนามจะล้างการแทนที่นี้หากมีไฟล์เครื่องหมาย อยู่ หากต้องการรีเซ็ตด้วยตนเอง:

bash
rm ~/.openclaw/disable-launchagent

โหมดเชื่อมต่อเท่านั้น

หากต้องการบังคับไม่ให้แอป macOS ติดตั้งหรือจัดการ launchd ให้เปิดแอปด้วย --attach-only (หรือ --no-launchd) การดำเนินการนี้จะตั้งค่า ~/.openclaw/disable-launchagent เพื่อให้แอปเชื่อมต่อกับ Gateway ที่กำลัง ทำงานอยู่แล้วเท่านั้น คุณสามารถสลับลักษณะการทำงานเดียวกันนี้ได้ในการตั้งค่าการแก้ไขข้อบกพร่อง

โหมดระยะไกล

โหมดระยะไกลจะไม่เริ่ม Gateway เฉพาะที่ แอปจะใช้อุโมงค์ SSH ไปยัง โฮสต์ระยะไกลและเชื่อมต่อผ่านอุโมงค์นั้น

เหตุผลที่เราเลือกใช้ launchd

  • เริ่มทำงานอัตโนมัติเมื่อเข้าสู่ระบบ
  • มีกลไกเริ่มใหม่/KeepAlive ในตัว
  • มีบันทึกและการกำกับดูแลที่คาดการณ์ได้

หากจำเป็นต้องใช้โหมดโปรเซสลูกจริงอีกครั้ง ควรจัดทำเอกสารเป็น โหมดแยกต่างหากสำหรับการพัฒนาเท่านั้นอย่างชัดเจน

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

Was this useful?
On this page

On this page