跳到內容

OpenClaw RPC Adapters 整合指南

串接不同的通訊軟體時,最痛苦的往往不是寫程式碼,而是要應付各種 CLI 工具的啟動與連線。你可能遇過 Daemon 莫名其妙掛掉,或是訊息同步慢半拍,卻找不到簡單的方法來統一管理這些外部程序。

OpenClaw 透過 JSON-RPC 規範了解決方案,讓你不用為了不同的工具去寫一堆重複的膠水程式碼。

  • OpenClaw 核心系統
  • signal-cli (用於 Signal 整合)
  • imsg (用於舊版 iMessage 整合)
  • BlueBubbles (新版 iMessage 建議方案)

OpenClaw 目前主要透過兩種模式來整合外部工具,你可以根據需求選擇適合的實作路徑。

這種模式適合以 Daemon 形式運行的工具,目前 signal-cli 就是採用此方案。OpenClaw 會直接與該工具的 HTTP 伺服器通訊:

  • 生命週期管理:只要在設定檔中將 channels.signal.autoStart 設為 true,OpenClaw 就會幫你搞定進程的啟動與停止。
  • 事件監聽:透過 /api/v1/events 的 SSE (Server-Sent Events) 串流獲取即時訊息。
  • 狀態檢查:系統會定時打 /api/v1/check 端點,確保 API 運作正常。
  • 端點配置:詳細的設定與 Endpoint 說明可以參考 Signal 文件。

模式 B:stdio 子進程 (Legacy iMessage)

Section titled “模式 B:stdio 子進程 (Legacy iMessage)”

這是比較傳統的模式。如果你正在處理舊版的 imsg 整合(注意:如果是新的 iMessage 設定,請改用 BlueBubbles):

  • 直接調用:OpenClaw 會直接執行 imsg rpc 作為子進程,不需要佔用額外的 TCP Port。
  • 行分隔 JSON:透過 stdin 與 stdout 傳輸資料,每一行就是一個完整的 JSON 物件。
  • 核心方法:支援 watch.subscribe(接收通知)、send(傳送訊息)、chats.list(診斷用)以及 watch.unsubscribe。
  • ID 優先:在處理對話時,請優先使用 chat_id 而非顯示名稱,以確保連線穩定。
  • 進程崩潰:請確保 RPC Client 具備韌性,當外部進程意外結束時,系統必須能夠自動重啟並恢復連線。
  • 連線逾時:針對 RPC 請求設定合理的 Timeout,避免單一請求卡死整個 Gateway 的生命週期。

AI Setup Assistant

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。