RPC and API
อะแดปเตอร์ RPC
OpenClaw ผสานรวม CLI ภายนอกผ่าน JSON-RPC ปัจจุบันมีการใช้งานสองรูปแบบ
รูปแบบ A: ดีมอน HTTP (signal-cli)
signal-cliทำงานเป็นดีมอนโดยใช้ JSON-RPC ผ่าน HTTP- สตรีมเหตุการณ์ใช้ SSE (
/api/v1/events) - จุดตรวจสอบสถานะ:
/api/v1/check - OpenClaw จัดการวงจรชีวิตเมื่อ
channels.signal.autoStart=true
ดูการตั้งค่าและเอนด์พอยต์ได้ที่ Signal
รูปแบบ B: โปรเซสลูกแบบ stdio (imsg)
- OpenClaw เรียกใช้
imsg rpcเป็นโปรเซสลูกสำหรับ iMessage - JSON-RPC แบ่งตามบรรทัดผ่าน stdin/stdout (หนึ่งออบเจ็กต์ JSON ต่อบรรทัด)
- ไม่ใช้พอร์ต TCP และไม่ต้องมีดีมอน
เมธอดหลักที่ใช้:
watch.subscribe→ การแจ้งเตือน (method: "message")watch.unsubscribesendchats.list(การตรวจสอบ/การวินิจฉัย)
ดูการตั้งค่าและการระบุปลายทางได้ที่ iMessage (ควรใช้ chat_id แทนสตริงชื่อที่แสดง)
แนวทางสำหรับอะแดปเตอร์
- Gateway จัดการโปรเซส (การเริ่ม/หยุดเชื่อมโยงกับวงจรชีวิตของผู้ให้บริการ)
- ทำให้ไคลเอนต์ RPC ทนทานต่อข้อผิดพลาด: กำหนดเวลาหมดและเริ่มใหม่เมื่อโปรเซสสิ้นสุด
- ควรใช้ ID ที่คงที่ (เช่น
chat_id) แทนสตริงชื่อที่แสดง
เนื้อหาที่เกี่ยวข้อง
Was this useful?