पैटर्न A: HTTP डेमन (signal-cli)
signal-cliHTTP पर JSON-RPC के साथ डेमन के रूप में चलता है।- इवेंट स्ट्रीम SSE है (
/api/v1/events)। - स्वास्थ्य जाँच:
/api/v1/check। - जब
channels.signal.transport.kind="managed-native"हो (डिफ़ॉल्ट), तब OpenClaw जीवनचक्र का स्वामी होता है।
पैटर्न B: stdio चाइल्ड प्रोसेस (imsg)
- OpenClaw iMessage के लिए
imsg rpcको चाइल्ड प्रोसेस के रूप में प्रारंभ करता है। - JSON-RPC stdin/stdout पर पंक्ति-सीमांकित होता है (प्रति पंक्ति एक JSON ऑब्जेक्ट)।
- किसी TCP पोर्ट या डेमन की आवश्यकता नहीं है।
watch.subscribe→ सूचनाएँ (method: "message")watch.unsubscribesendchats.list(जाँच/निदान)
chat_id को प्राथमिकता दी जाती है)।
अडैप्टर दिशानिर्देश
- Gateway प्रोसेस का स्वामी होता है (प्रारंभ/समापन प्रोवाइडर के जीवनचक्र से जुड़ा होता है)।
- RPC क्लाइंट को लचीला रखें: टाइमआउट और बाहर निकलने पर पुनः प्रारंभ।
- प्रदर्शन स्ट्रिंग के बजाय स्थिर ID (जैसे,
chat_id) को प्राथमिकता दें।