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 (ดูได้ในการตั้งค่าการแก้ไขข้อบกพร่อง)
คำสั่งที่ใช้บ่อย:
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 แบบลงนามจะล้างการแทนที่นี้หากมีไฟล์เครื่องหมาย
อยู่ หากต้องการรีเซ็ตด้วยตนเอง:
rm ~/.openclaw/disable-launchagentโหมดเชื่อมต่อเท่านั้น
หากต้องการบังคับไม่ให้แอป macOS ติดตั้งหรือจัดการ launchd ให้เปิดแอปด้วย
--attach-only (หรือ --no-launchd) การดำเนินการนี้จะตั้งค่า
~/.openclaw/disable-launchagent เพื่อให้แอปเชื่อมต่อกับ Gateway ที่กำลัง
ทำงานอยู่แล้วเท่านั้น คุณสามารถสลับลักษณะการทำงานเดียวกันนี้ได้ในการตั้งค่าการแก้ไขข้อบกพร่อง
โหมดระยะไกล
โหมดระยะไกลจะไม่เริ่ม Gateway เฉพาะที่ แอปจะใช้อุโมงค์ SSH ไปยัง โฮสต์ระยะไกลและเชื่อมต่อผ่านอุโมงค์นั้น
เหตุผลที่เราเลือกใช้ launchd
- เริ่มทำงานอัตโนมัติเมื่อเข้าสู่ระบบ
- มีกลไกเริ่มใหม่/KeepAlive ในตัว
- มีบันทึกและการกำกับดูแลที่คาดการณ์ได้
หากจำเป็นต้องใช้โหมดโปรเซสลูกจริงอีกครั้ง ควรจัดทำเอกสารเป็น โหมดแยกต่างหากสำหรับการพัฒนาเท่านั้นอย่างชัดเจน