चैनल और रूटिंग¶
OpenClaw उत्तरों को उसी चैनल में वापस रूट करता है जहाँ से संदेश आया था। मॉडल किसी चैनल का चयन नहीं करता; रूटिंग निर्धारक होती है और होस्ट कॉन्फ़िगरेशन द्वारा नियंत्रित होती है।
प्रमुख शब्द¶
- Channel:
whatsapp,telegram,discord,slack,signal,imessage,webchat। - AccountId: प्रति‑चैनल खाता इंस्टेंस (जहाँ समर्थित हो)।
- AgentId: एक पृथक कार्यक्षेत्र + सत्र भंडार (“ब्रेन”)।
- SessionKey: संदर्भ संग्रहीत करने और समवर्ती नियंत्रण के लिए प्रयुक्त बकेट कुंजी।
सत्र कुंजी के रूप (उदाहरण)¶
प्रत्यक्ष संदेश एजेंट के मुख्य सत्र में समाहित हो जाते हैं:
agent:<agentId>:<mainKey>(डिफ़ॉल्ट:agent:main:main)
समूह और चैनल प्रति चैनल पृथक रहते हैं:
- समूह:
agent:<agentId>:<channel>:group:<id> - चैनल/रूम:
agent:<agentId>:<channel>:channel:<id>
थ्रेड्स:
- Slack/Discord थ्रेड्स आधार कुंजी में
:thread:<threadId>जोड़ते हैं। - Telegram फ़ोरम विषय समूह कुंजी में
:topic:<topicId>एम्बेड करते हैं।
उदाहरण:
agent:main:telegram:group:-1001234567890:topic:42agent:main:discord:channel:123456:thread:987654
रूटिंग नियम (एजेंट कैसे चुना जाता है)¶
रूटिंग प्रत्येक इनबाउंड संदेश के लिए एक एजेंट चुनती है:
- सटीक पीयर मिलान (
bindingsके साथpeer.kind+peer.id)। - Guild मिलान (Discord)
guildIdके माध्यम से। - Team मिलान (Slack)
teamIdके माध्यम से। - Account मिलान (चैनल पर
accountId)। - Channel मिलान (उस चैनल पर कोई भी खाता)।
- डिफ़ॉल्ट एजेंट (
agents.list[].default, अन्यथा सूची की पहली प्रविष्टि, फ़ॉलबैकmain)।
मिलान किया गया एजेंट निर्धारित करता है कि कौन‑सा कार्यक्षेत्र और सत्र भंडार उपयोग होगा।
ब्रॉडकास्ट समूह (एकाधिक एजेंट चलाएँ)¶
ब्रॉडकास्ट समूह आपको उसी पीयर के लिए एकाधिक एजेंट चलाने देते हैं जब OpenClaw सामान्यतः उत्तर देता (उदाहरण: WhatsApp समूहों में, उल्लेख/सक्रियण गेटिंग के बाद)।
विन्यास:
{
broadcast: {
strategy: "parallel",
"120363403215116621@g.us": ["alfred", "baerbel"],
"+15555550123": ["support", "logger"],
},
}
देखें: Broadcast Groups।
विन्यास अवलोकन¶
agents.list: नामित एजेंट परिभाषाएँ (कार्यक्षेत्र, मॉडल, आदि)।bindings: इनबाउंड चैनल/खाते/पीयर को एजेंटों से मैप करें।
उदाहरण:
{
agents: {
list: [{ id: "support", name: "Support", workspace: "~/.openclaw/workspace-support" }],
},
bindings: [
{ match: { channel: "slack", teamId: "T123" }, agentId: "support" },
{ match: { channel: "telegram", peer: { kind: "group", id: "-100123" } }, agentId: "support" },
],
}
सत्र भंडारण¶
सत्र भंडार state निर्देशिका के अंतर्गत रहते हैं (डिफ़ॉल्ट ~/.openclaw):
~/.openclaw/agents/<agentId>/sessions/sessions.json- JSONL ट्रांस्क्रिप्ट्स भंडार के साथ‑साथ रहती हैं
आप session.store और {agentId} टेम्पलेटिंग के माध्यम से भंडार पथ को ओवरराइड कर सकते हैं।
WebChat व्यवहार¶
WebChat चयनित एजेंट से जुड़ता है और डिफ़ॉल्ट रूप से एजेंट के मुख्य सेशन का उपयोग करता है। इसी कारण, WebChat आपको उस एजेंट के लिए क्रॉस‑चैनल संदर्भ एक ही स्थान पर देखने देता है।
उत्तर संदर्भ¶
इनबाउंड उत्तरों में शामिल होते हैं:
- उपलब्ध होने पर
ReplyToId,ReplyToBody, औरReplyToSender। - उद्धृत संदर्भ
Bodyमें[Replying to ...]ब्लॉक के रूप में जोड़ा जाता है।
यह सभी चैनलों में सुसंगत है।