2.0 KiB
2.0 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
외부 CLI용 RPC 어댑터(`signal-cli`, 레거시 `imsg`) 및 Gateway 패턴 | 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가 수명 주기를 소유합니다.
설정과 엔드포인트는 Signal을 참고하세요.
패턴 B: stdio 자식 프로세스 (레거시: imsg)
Note: 새 iMessage 설정에는 BlueBubbles를 사용하세요.
- OpenClaw는
imsg rpc를 자식 프로세스로 생성합니다(레거시 iMessage 통합). - JSON-RPC는 stdin/stdout을 통한 줄 구분 형식입니다(줄마다 JSON 객체 하나).
- TCP 포트도 데몬도 필요하지 않습니다.
사용되는 핵심 메서드:
watch.subscribe→ 알림 (method: "message")watch.unsubscribesendchats.list(프로브/진단)
레거시 설정과 주소 지정(chat_id 권장)은 iMessage를 참고하세요.
어댑터 가이드라인
- Gateway가 프로세스를 소유해야 합니다(시작/중지는 Provider 수명 주기에 연결됨).
- RPC 클라이언트는 복원력을 갖추어야 합니다: 타임아웃, 종료 시 재시작.
- 표시 문자열보다 안정적인 ID(예:
chat_id)를 우선하세요.