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.unsubscribe
  • send
  • chats.list (การตรวจสอบ/การวินิจฉัย)

ดูการตั้งค่าและการระบุปลายทางได้ที่ iMessage (ควรใช้ chat_id แทนสตริงชื่อที่แสดง)

แนวทางสำหรับอะแดปเตอร์

  • Gateway จัดการโปรเซส (การเริ่ม/หยุดเชื่อมโยงกับวงจรชีวิตของผู้ให้บริการ)
  • ทำให้ไคลเอนต์ RPC ทนทานต่อข้อผิดพลาด: กำหนดเวลาหมดและเริ่มใหม่เมื่อโปรเซสสิ้นสุด
  • ควรใช้ ID ที่คงที่ (เช่น chat_id) แทนสตริงชื่อที่แสดง

เนื้อหาที่เกี่ยวข้อง

Was this useful?
On this page

On this page