forked from Selig/openclaw-skill
6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
> ## Documentation Index
|
|
> Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
|
|
> Use this file to discover all available pages before exploring further.
|
|
|
|
# RPC Adapters
|
|
|
|
# RPC adapters
|
|
|
|
OpenClaw integrates external CLIs via JSON-RPC. Two patterns are used today.
|
|
|
|
## Pattern A: HTTP daemon (signal-cli)
|
|
|
|
* `signal-cli` runs as a daemon with JSON-RPC over HTTP.
|
|
* Event stream is SSE (`/api/v1/events`).
|
|
* Health probe: `/api/v1/check`.
|
|
* OpenClaw owns lifecycle when `channels.signal.autoStart=true`.
|
|
|
|
See [Signal](/channels/signal) for setup and endpoints.
|
|
|
|
## Pattern B: stdio child process (legacy: imsg)
|
|
|
|
> **Note:** For new iMessage setups, use [BlueBubbles](/channels/bluebubbles) instead.
|
|
|
|
* OpenClaw spawns `imsg rpc` as a child process (legacy iMessage integration).
|
|
* JSON-RPC is line-delimited over stdin/stdout (one JSON object per line).
|
|
* No TCP port, no daemon required.
|
|
|
|
Core methods used:
|
|
|
|
* `watch.subscribe` → notifications (`method: "message"`)
|
|
* `watch.unsubscribe`
|
|
* `send`
|
|
* `chats.list` (probe/diagnostics)
|
|
|
|
See [iMessage](/channels/imessage) for legacy setup and addressing (`chat_id` preferred).
|
|
|
|
## Adapter guidelines
|
|
|
|
* Gateway owns the process (start/stop tied to provider lifecycle).
|
|
* Keep RPC clients resilient: timeouts, restart on exit.
|
|
* Prefer stable IDs (e.g., `chat_id`) over display strings.
|