แอป macOS จัดการ Gateway ผ่าน launchd เป็นค่าเริ่มต้น และไม่สร้าง Gateway เป็นกระบวนการลูก ก่อนอื่นแอปจะพยายามแนบเข้ากับ Gateway ที่ทำงานอยู่แล้ว บนพอร์ตที่กำหนดค่าไว้ หากไม่สามารถเข้าถึงได้ แอปจะเปิดใช้งานบริการ launchd ผ่าน CLIDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw ภายนอก (ไม่มีรันไทม์ฝังในตัว) วิธีนี้ช่วยให้เริ่มทำงาน
อัตโนมัติได้อย่างเชื่อถือได้เมื่อเข้าสู่ระบบ และรีสตาร์ตเมื่อเกิดการขัดข้อง
โหมดกระบวนการลูก (Gateway ที่แอปสร้างขึ้นโดยตรง) ไม่ได้ใช้งาน ในปัจจุบัน
หากคุณต้องการให้ผูกกับ UI แน่นขึ้น ให้รัน Gateway ด้วยตนเองในเทอร์มินัล
ลักษณะการทำงานเริ่มต้น (launchd)
- แอปติดตั้ง LaunchAgent แบบต่อผู้ใช้ที่มีป้ายกำกับ
ai.openclaw.gateway(หรือai.openclaw.<profile>เมื่อใช้--profile/OPENCLAW_PROFILE; รองรับcom.openclaw.*แบบเดิม) - เมื่อเปิดใช้งานโหมดภายในเครื่อง แอปจะตรวจสอบให้แน่ใจว่า LaunchAgent ถูกโหลดแล้ว และ เริ่ม Gateway หากจำเป็น
- บันทึกจะถูกเขียนไปยังเส้นทางบันทึก Gateway ของ launchd (ดูได้ในการตั้งค่าดีบัก)
ai.openclaw.<profile> เมื่อรันโปรไฟล์ที่มีชื่อ
บิลด์สำหรับพัฒนาที่ไม่ได้ลงนาม
scripts/restart-mac.sh --no-sign ใช้สำหรับบิลด์ภายในเครื่องอย่างรวดเร็วเมื่อคุณไม่มี
คีย์สำหรับลงนาม เพื่อป้องกันไม่ให้ launchd ชี้ไปยังไบนารี relay ที่ไม่ได้ลงนาม สคริปต์จะ:
- เขียน
~/.openclaw/disable-launchagent
scripts/restart-mac.sh แบบลงนามจะล้างการแทนที่ค่านี้ หากมีมาร์กเกอร์อยู่
หากต้องการรีเซ็ตด้วยตนเอง:
โหมดแนบเท่านั้น
หากต้องการบังคับให้แอป macOS ไม่ติดตั้งหรือจัดการ launchd เลย ให้เปิดแอปด้วย--attach-only (หรือ --no-launchd) ค่านี้จะตั้ง ~/.openclaw/disable-launchagent
ดังนั้นแอปจะแนบเข้ากับ Gateway ที่ทำงานอยู่แล้วเท่านั้น คุณสามารถสลับลักษณะการทำงานเดียวกันนี้
ได้ในการตั้งค่าดีบัก
โหมดระยะไกล
โหมดระยะไกลจะไม่เริ่ม Gateway ภายในเครื่อง แอปใช้ทันเนล SSH ไปยัง โฮสต์ระยะไกลและเชื่อมต่อผ่านทันเนลนั้นเหตุผลที่เราเลือกใช้ launchd
- เริ่มทำงานอัตโนมัติเมื่อเข้าสู่ระบบ
- มีความหมายเชิง restart/KeepAlive ในตัว
- บันทึกและการกำกับดูแลที่คาดเดาได้