Fundamentals
एजेंट रनटाइम
OpenClaw एक एकल एम्बेडेड एजेंट runtime चलाता है - प्रति Gateway एक एजेंट प्रक्रिया, अपने स्वयं के कार्यक्षेत्र, बूटस्ट्रैप फाइलों और सत्र स्टोर के साथ। यह पेज उस runtime अनुबंध को कवर करता है: कार्यक्षेत्र में क्या होना चाहिए, कौन-सी फाइलें इंजेक्ट की जाती हैं, और सत्र इसके विरुद्ध कैसे बूटस्ट्रैप होते हैं।
कार्यक्षेत्र (आवश्यक)
OpenClaw एजेंट के टूल्स और संदर्भ के लिए एजेंट की एकमात्र कार्यशील डायरेक्टरी (cwd) के रूप में एकल एजेंट कार्यक्षेत्र डायरेक्टरी (agents.defaults.workspace) का उपयोग करता है।
अनुशंसित: यदि ~/.openclaw/openclaw.json मौजूद न हो, तो उसे बनाने और कार्यक्षेत्र फाइलें आरंभ करने के लिए openclaw setup का उपयोग करें।
पूरा कार्यक्षेत्र लेआउट + बैकअप गाइड: एजेंट कार्यक्षेत्र
यदि agents.defaults.sandbox सक्षम है, तो गैर-मुख्य सत्र इसे
agents.defaults.sandbox.workspaceRoot के अंतर्गत प्रति-सत्र कार्यक्षेत्रों से ओवरराइड कर सकते हैं (देखें
Gateway कॉन्फ़िगरेशन)।
बूटस्ट्रैप फाइलें (इंजेक्ट की गई)
agents.defaults.workspace के अंदर, OpenClaw इन उपयोगकर्ता-संपादन योग्य फाइलों की अपेक्षा करता है:
AGENTS.md- संचालन निर्देश + "मेमोरी"SOUL.md- व्यक्तित्व, सीमाएं, लहजाTOOLS.md- उपयोगकर्ता-रखरखाव वाले टूल नोट्स (जैसेimsg,sag, परंपराएं)BOOTSTRAP.md- एक बार का प्रथम-रन अनुष्ठान (पूरा होने के बाद हटाया गया)IDENTITY.md- एजेंट नाम/वाइब/इमोजीUSER.md- उपयोगकर्ता प्रोफ़ाइल + पसंदीदा संबोधन
नए सत्र के पहले टर्न पर, OpenClaw इन फाइलों की सामग्री को सिस्टम प्रॉम्प्ट के Project Context में इंजेक्ट करता है।
खाली फाइलें छोड़ दी जाती हैं। बड़ी फाइलों को एक मार्कर के साथ ट्रिम और ट्रंकेट किया जाता है ताकि प्रॉम्प्ट हल्के रहें (पूरी सामग्री के लिए फाइल पढ़ें)।
यदि कोई फाइल मौजूद नहीं है, तो OpenClaw एकल "गुम फाइल" मार्कर लाइन इंजेक्ट करता है (और openclaw setup एक सुरक्षित डिफ़ॉल्ट टेम्पलेट बनाएगा)।
BOOTSTRAP.md केवल बिल्कुल नए कार्यक्षेत्र के लिए बनाया जाता है (कोई अन्य बूटस्ट्रैप फाइल मौजूद न हो)। जब तक यह लंबित है, OpenClaw इसे Project Context में रखता है और उपयोगकर्ता संदेश में कॉपी करने के बजाय प्रारंभिक अनुष्ठान के लिए सिस्टम-प्रॉम्प्ट बूटस्ट्रैप मार्गदर्शन जोड़ता है। यदि आप अनुष्ठान पूरा करने के बाद इसे हटा देते हैं, तो बाद के रीस्टार्ट पर इसे फिर से नहीं बनाया जाना चाहिए।
किसी कार्यक्षेत्र के देखे जाने के बाद, OpenClaw कार्यक्षेत्र पथ के लिए state-dir सत्यापन मार्कर भी रखता है। यदि हाल ही में सत्यापित कार्यक्षेत्र गायब हो जाता है या वाइप हो जाता है, तो स्टार्टअप चुपचाप BOOTSTRAP.md को फिर से सीड करने से मना कर देता है; कार्यक्षेत्र को पुनर्स्थापित करें या पूर्ण ऑनबोर्ड रीसेट का उपयोग करें ताकि कार्यक्षेत्र और मार्कर साथ में साफ़ हों।
बूटस्ट्रैप फाइल निर्माण को पूरी तरह अक्षम करने के लिए (पहले से सीड किए गए कार्यक्षेत्रों के लिए), सेट करें:
{ agents: { defaults: { skipBootstrap: true } } }बिल्ट-इन टूल्स
कोर टूल्स (read/exec/edit/write और संबंधित सिस्टम टूल्स) हमेशा उपलब्ध होते हैं,
टूल नीति के अधीन। apply_patch वैकल्पिक है और
tools.exec.applyPatch द्वारा गेट किया जाता है। TOOLS.md यह नियंत्रित नहीं करता कि कौन-से टूल्स मौजूद हैं; यह
इस बात का मार्गदर्शन है कि आप उन्हें कैसे उपयोग करवाना चाहते हैं।
Skills
OpenClaw इन स्थानों से Skills लोड करता है (सबसे ऊंची प्राथमिकता पहले):
- कार्यक्षेत्र:
<workspace>/skills - प्रोजेक्ट एजेंट Skills:
<workspace>/.agents/skills - निजी एजेंट Skills:
~/.agents/skills - प्रबंधित/स्थानीय:
~/.openclaw/skills - बंडल किए गए (इंस्टॉल के साथ शिप किए गए)
- अतिरिक्त Skill फ़ोल्डर:
skills.load.extraDirs
Skill रूट्स में समूहित फ़ोल्डर हो सकते हैं, जैसे
<workspace>/skills/personal/foo/SKILL.md; Skill फिर भी अपने
फ्लैट frontmatter नाम से एक्सपोज़ किया जाता है, उदाहरण के लिए foo।
Skills को config/env द्वारा गेट किया जा सकता है (देखें Gateway कॉन्फ़िगरेशन में skills)।
Runtime सीमाएं
एम्बेडेड एजेंट runtime OpenClaw-स्वामित्व वाला है: मॉडल डिस्कवरी, टूल वायरिंग, प्रॉम्प्ट असेंबली, सत्र प्रबंधन, और चैनल डिलीवरी एक एकीकृत runtime सतह साझा करते हैं।
सत्र
सत्र ट्रांसक्रिप्ट JSONL के रूप में यहां संग्रहीत होते हैं:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
सत्र ID स्थिर है और OpenClaw द्वारा चुना जाता है। अन्य टूल्स के विरासती सत्र फ़ोल्डर नहीं पढ़े जाते।
स्ट्रीमिंग के दौरान निर्देशन
रन के बीच में आने वाले इनबाउंड प्रॉम्प्ट डिफ़ॉल्ट रूप से मौजूदा रन में निर्देशित किए जाते हैं। निर्देशन मौजूदा assistant टर्न के अपने टूल कॉल निष्पादित करने के बाद, अगले LLM कॉल से पहले डिलीवर किया जाता है, और अब मौजूदा assistant संदेश से बाकी टूल कॉल्स को नहीं छोड़ता।
/queue steer डिफ़ॉल्ट सक्रिय-रन व्यवहार है। /queue followup और
/queue collect संदेशों को निर्देशित करने के बजाय बाद के टर्न की प्रतीक्षा करवाते हैं।
/queue interrupt इसके बजाय सक्रिय रन को रोक देता है। कतार और सीमा व्यवहार के लिए कतार
और निर्देशन कतार देखें।
ब्लॉक स्ट्रीमिंग पूर्ण assistant ब्लॉक्स को उनके पूरा होते ही भेजती है; यह
डिफ़ॉल्ट रूप से बंद है (agents.defaults.blockStreamingDefault: "off")।
सीमा को agents.defaults.blockStreamingBreak के माध्यम से ट्यून करें (text_end बनाम message_end; डिफ़ॉल्ट text_end है)।
सॉफ्ट ब्लॉक chunking को agents.defaults.blockStreamingChunk से नियंत्रित करें (डिफ़ॉल्ट
800-1200 वर्ण; पहले पैराग्राफ ब्रेक, फिर नई लाइनें; अंत में वाक्य पसंद करता है)।
स्ट्रीम किए गए chunks को agents.defaults.blockStreamingCoalesce से मिलाएं ताकि
एकल-लाइन स्पैम कम हो (भेजने से पहले idle-आधारित merging)। गैर-Telegram चैनलों को
ब्लॉक replies सक्षम करने के लिए स्पष्ट *.blockStreaming: true की आवश्यकता होती है।
वर्बोज़ टूल सारांश टूल शुरू होने पर उत्सर्जित किए जाते हैं (कोई debounce नहीं); Control UI
उपलब्ध होने पर एजेंट events के माध्यम से टूल आउटपुट स्ट्रीम करता है।
अधिक विवरण: स्ट्रीमिंग + chunking।
मॉडल refs
config में मॉडल refs (उदाहरण के लिए agents.defaults.model और agents.defaults.models) को पहले / पर विभाजित करके पार्स किया जाता है।
- मॉडल कॉन्फ़िगर करते समय
provider/modelका उपयोग करें। - यदि मॉडल ID में स्वयं
/है (OpenRouter-शैली), तो provider prefix शामिल करें (उदाहरण:openrouter/moonshotai/kimi-k2)। - यदि आप provider छोड़ देते हैं, तो OpenClaw पहले alias आज़माता है, फिर उस exact model id के लिए unique configured-provider match, और केवल उसके बाद कॉन्फ़िगर किए गए डिफ़ॉल्ट provider पर वापस जाता है। यदि वह provider अब कॉन्फ़िगर किया गया डिफ़ॉल्ट मॉडल एक्सपोज़ नहीं करता, तो OpenClaw stale removed-provider default दिखाने के बजाय पहले कॉन्फ़िगर किए गए provider/model पर वापस जाता है।
कॉन्फ़िगरेशन (न्यूनतम)
कम से कम, सेट करें:
agents.defaults.workspacechannels.whatsapp.allowFrom(दृढ़ता से अनुशंसित)
अगला: ग्रुप चैट्स 🦞