Modèle A : démon HTTP (signal-cli)
signal-clis’exécute en tant que démon avec JSON-RPC sur HTTP.- Le flux d’événements utilise SSE (
/api/v1/events). - Sonde d’intégrité :
/api/v1/check. - OpenClaw gère le cycle de vie lorsque
channels.signal.autoStart=true.
Modèle B : processus enfant stdio (imsg)
- OpenClaw lance
imsg rpcen tant que processus enfant pour iMessage. - Les messages JSON-RPC sont délimités par des retours à la ligne sur stdin/stdout (un objet JSON par ligne).
- Aucun port TCP ni démon requis.
watch.subscribe→ notifications (method: "message")watch.unsubscribesendchats.list(sonde/diagnostics)
chat_id est préférable aux chaînes d’affichage).
Recommandations pour les adaptateurs
- Le Gateway gère le processus (le démarrage et l’arrêt sont liés au cycle de vie du fournisseur).
- Veillez à la résilience des clients RPC : délais d’expiration et redémarrage à la fermeture.
- Préférez les identifiants stables (par exemple,
chat_id) aux chaînes d’affichage.