mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-09 05:19:32 +08:00
* feat: Make BlueBubbles the primary iMessage integration - Remove old imsg skill (skills/imsg/SKILL.md) - Create new BlueBubbles skill (skills/bluebubbles/SKILL.md) with message tool examples - Add keep-alive script documentation for VM/headless setups to docs/channels/bluebubbles.md - AppleScript that pokes Messages.app every 5 minutes - LaunchAgent configuration for automatic execution - Prevents Messages.app from going idle in VM environments - Update all documentation to prioritize BlueBubbles over legacy imsg: - Mark imsg channel as legacy throughout docs - Update README.md channel lists - Update wizard, hubs, pairing, and index docs - Update FAQ to recommend BlueBubbles for iMessage - Update RPC docs to note imsg as legacy pattern - Update Chinese documentation (zh-CN) - Replace imsg examples with generic macOS skill examples where appropriate BlueBubbles is now the recommended first-class iMessage integration, with the legacy imsg integration marked for potential future removal. * refactor: Update import paths and improve code formatting - Adjusted import paths in session-status-tool.ts, whatsapp-heartbeat.ts, and heartbeat-runner.ts for consistency. - Reformatted code for better readability by aligning and grouping related imports and function parameters. - Enhanced error messages and conditional checks for clarity in heartbeat-runner.ts. * skills: restore imsg skill and align bluebubbles skill * docs: update FAQ for clarity and formatting - Adjusted the formatting of the FAQ section to ensure consistent bullet point alignment. - No content changes were made, only formatting improvements for better readability. * style: oxfmt touched files * fix: preserve BlueBubbles developer reference (#8415) (thanks @tyler6204)
1.4 KiB
1.4 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| RPC adapters for external CLIs (signal-cli, legacy imsg) and gateway patterns |
|
RPC Adapters |
RPC adapters
OpenClaw integrates external CLIs via JSON-RPC. Two patterns are used today.
Pattern A: HTTP daemon (signal-cli)
signal-cliruns 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 for setup and endpoints.
Pattern B: stdio child process (legacy: imsg)
Note: For new iMessage setups, use BlueBubbles instead.
- OpenClaw spawns
imsg rpcas 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.unsubscribesendchats.list(probe/diagnostics)
See 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.