एजेंट रनटाइम 🤖
OpenClaw pi-mono से व्युत्पन्न एक एकल एंबेडेड एजेंट रनटाइम चलाता है।वर्कस्पेस (आवश्यक)
OpenClaw एकल एजेंट वर्कस्पेस डायरेक्टरी (agents.defaults.workspace) का उपयोग करता है, जो टूल्स और संदर्भ के लिए एजेंट की एकमात्र कार्यशील डायरेक्टरी (cwd) होती है।
अनुशंसित: यदि अनुपस्थित हो तो openclaw setup का उपयोग करके ~/.openclaw/openclaw.json बनाएँ और वर्कस्पेस फ़ाइलें प्रारंभ करें।
पूर्ण वर्कस्पेस लेआउट + बैकअप मार्गदर्शिका: Agent workspace
यदि agents.defaults.sandbox सक्षम है, तो गैर-मुख्य सत्र इसे
agents.defaults.sandbox.workspaceRoot के अंतर्गत प्रति-सत्र वर्कस्पेस के साथ ओवरराइड कर सकते हैं (देखें
Gateway configuration)।
बूटस्ट्रैप फ़ाइलें (इंजेक्ट की गई)
agents.defaults.workspace के भीतर, OpenClaw इन उपयोगकर्ता-संपादन योग्य फ़ाइलों की अपेक्षा करता है:
AGENTS.md— संचालन निर्देश + “मेमोरी”SOUL.md— व्यक्तित्व, सीमाएँ, स्वरTOOLS.md— उपयोगकर्ता-रक्षित टूल नोट्स (जैसेimsg,sag, परंपराएँ)BOOTSTRAP.md— एक-बार का प्रथम-रन अनुष्ठान (पूर्ण होने के बाद हटाया जाता है)IDENTITY.md— एजेंट नाम/वाइब/इमोजीUSER.md— उपयोगकर्ता प्रोफ़ाइल + पसंदीदा संबोधन
- Blank files को छोड़ दिया जाता है। 7. बड़े files को trim और truncate किया जाता है, एक marker के साथ, ताकि prompts lean रहें (पूरा content पढ़ने के लिए file देखें)।
openclaw setup एक सुरक्षित डिफ़ॉल्ट टेम्पलेट बनाएगा)।
BOOTSTRAP.mdकेवल brand new workspace के लिए बनाया जाता है (कोई अन्य bootstrap files मौजूद न हों)। 9. यदि आप ritual पूरा करने के बाद इसे delete कर देते हैं, तो बाद की restarts पर इसे दोबारा नहीं बनाया जाना चाहिए।
बिल्ट-इन टूल्स
- Core tools (read/exec/edit/write और संबंधित system tools) हमेशा उपलब्ध रहते हैं,
tool policy के अधीन। 11.
apply_patchoptional है औरtools.exec.applyPatchद्वारा gated है। 12.TOOLS.mdयह नियंत्रित नहीं करता कि कौन से tools मौजूद हैं; यह इस बात के लिए guidance है कि आप उन्हें कैसे उपयोग करना चाहते हैं।
Skills
OpenClaw तीन स्थानों से Skills लोड करता है (नाम टकराव पर वर्कस्पेस जीतता है):- बंडल्ड (इंस्टॉल के साथ शिप्ड)
- प्रबंधित/लोकल:
~/.openclaw/skills - वर्कस्पेस:
<workspace>/skills
skills Gateway configuration में)।
pi-mono एकीकरण
OpenClaw pi-mono कोडबेस (मॉडल/टूल्स) के हिस्सों का पुन: उपयोग करता है, लेकिन सत्र प्रबंधन, डिस्कवरी, और टूल वायरिंग OpenClaw के स्वामित्व में हैं।- कोई pi-coding एजेंट रनटाइम नहीं।
~/.pi/agentया<workspace>/.piसेटिंग्स पर विचार नहीं किया जाता।
सत्र
सत्र ट्रांसक्रिप्ट JSONL के रूप में यहाँ संग्रहीत होते हैं:~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
- Session ID स्थिर होता है और OpenClaw द्वारा चुना जाता है।
- Legacy Pi/Tau session folders नहीं पढ़े जाते हैं।
स्ट्रीमिंग के दौरान स्टीयरिंग
-
जब queue mode
steerहोता है, inbound messages को current run में inject किया जाता है। - Queue को हर tool call के बाद check किया जाता है; यदि कोई queued message मौजूद है, current assistant message से remaining tool calls को skip कर दिया जाता है (error tool results के साथ “Skipped due to queued user message.”), फिर queued user message को अगले assistant response से पहले inject किया जाता है।
-
जब queue mode
followupयाcollectहोता है, inbound messages को तब तक रोका जाता है जब तक current turn समाप्त न हो जाए, फिर queued payloads के साथ एक नया agent turn शुरू होता है। 18. Mode + debounce/cap behavior के लिए देखें Queue। -
Block streaming पूर्ण हुए assistant blocks को जैसे ही वे खत्म होते हैं भेज देता है; यह
default रूप से off होता है (
agents.defaults.blockStreamingDefault: "off")। -
Boundary को
agents.defaults.blockStreamingBreakके माध्यम से tune करें (text_endबनामmessage_end; defaulttext_end)। -
Soft block chunking को
agents.defaults.blockStreamingChunkसे नियंत्रित करें (default 800–1200 chars; paragraph breaks को प्राथमिकता, फिर newlines; sentences अंत में)। -
Streamed chunks को
agents.defaults.blockStreamingCoalesceके साथ coalesce करें ताकि single-line spam कम हो (send से पहले idle-based merging)। 23. Non-Telegram channels में block replies सक्षम करने के लिए explicit*.blockStreaming: trueकी आवश्यकता होती है। - Verbose tool summaries tool start पर emit होते हैं (कोई debounce नहीं); Control UI tool output को agent events के माध्यम से stream करता है जब उपलब्ध हो।
- अधिक विवरण: Streaming + chunking।
मॉडल रेफ़्स
कॉन्फ़िग में मॉडल रेफ़्स (उदाहरण के लिएagents.defaults.model और agents.defaults.models) को पहले / पर विभाजित करके पार्स किया जाता है।
- मॉडल कॉन्फ़िगर करते समय
provider/modelका उपयोग करें। - यदि मॉडल ID में स्वयं
/(OpenRouter-शैली) शामिल है, तो प्रदाता प्रीफ़िक्स शामिल करें (उदाहरण:openrouter/moonshotai/kimi-k2)। - यदि आप प्रदाता छोड़ देते हैं, तो OpenClaw इनपुट को किसी उपनाम या डिफ़ॉल्ट प्रदाता के लिए मॉडल मानता है (यह केवल तब काम करता है जब मॉडल ID में कोई
/न हो)।
विन्यास (न्यूनतम)
कम-से-कम, सेट करें:agents.defaults.workspacechannels.whatsapp.allowFrom(दृढ़ता से अनुशंसित)
आगे: Group Chats 🦞