RPC 어댑터
OpenClaw는 JSON-RPC를 통해 외부 CLI를 통합합니다. 현재는 두 가지 패턴을 사용합니다.패턴 A: HTTP 데몬(signal-cli)
signal-cli는 HTTP를 통한 JSON-RPC를 사용하는 데몬으로 실행됩니다.- 이벤트 스트림은 SSE(
/api/v1/events)입니다. - 상태 확인 프로브:
/api/v1/check. channels.signal.autoStart=true일 때 OpenClaw가 수명 주기를 관리합니다.
패턴 B: stdio 자식 프로세스(레거시: imsg)
참고: 새로운 iMessage 설정에는 대신 BlueBubbles를 사용하세요.
- OpenClaw는
imsg rpc를 자식 프로세스로 실행합니다(레거시 iMessage 통합). - JSON-RPC는 stdin/stdout을 통해 줄 단위로 구분됩니다(한 줄당 하나의 JSON 객체).
- TCP 포트가 없고 데몬도 필요하지 않습니다.
watch.subscribe→ 알림(method: "message")watch.unsubscribesendchats.list(프로브/진단)
chat_id 권장)은 iMessage를 참고하세요.
어댑터 가이드라인
- 게이트웨이가 프로세스를 소유합니다(시작/중지는 프로바이더 수명 주기에 연결됨).
- RPC 클라이언트는 복원력을 갖추어야 합니다: 타임아웃, 종료 시 재시작.
- 표시 문자열보다 안정적인 ID(예:
chat_id)를 우선 사용하세요.