> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# एजेंट रनटाइम

OpenClaw एक **एकल एम्बेडेड एजेंट runtime** चलाता है - प्रति Gateway एक एजेंट प्रक्रिया,
अपने स्वयं के कार्यक्षेत्र, बूटस्ट्रैप फाइलों और सत्र स्टोर के साथ। यह पेज
उस runtime अनुबंध को कवर करता है: कार्यक्षेत्र में क्या होना चाहिए, कौन-सी फाइलें
इंजेक्ट की जाती हैं, और सत्र इसके विरुद्ध कैसे बूटस्ट्रैप होते हैं।

## कार्यक्षेत्र (आवश्यक)

OpenClaw एजेंट के टूल्स और संदर्भ के लिए एजेंट की **एकमात्र** कार्यशील डायरेक्टरी (`cwd`) के रूप में एकल एजेंट कार्यक्षेत्र डायरेक्टरी (`agents.defaults.workspace`) का उपयोग करता है।

अनुशंसित: यदि `~/.openclaw/openclaw.json` मौजूद न हो, तो उसे बनाने और कार्यक्षेत्र फाइलें आरंभ करने के लिए `openclaw setup` का उपयोग करें।

पूरा कार्यक्षेत्र लेआउट + बैकअप गाइड: [एजेंट कार्यक्षेत्र](/hi/concepts/agent-workspace)

यदि `agents.defaults.sandbox` सक्षम है, तो गैर-मुख्य सत्र इसे
`agents.defaults.sandbox.workspaceRoot` के अंतर्गत प्रति-सत्र कार्यक्षेत्रों से ओवरराइड कर सकते हैं (देखें
[Gateway कॉन्फ़िगरेशन](/hi/gateway/configuration))।

## बूटस्ट्रैप फाइलें (इंजेक्ट की गई)

`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` को फिर से सीड करने से मना कर देता है; कार्यक्षेत्र को पुनर्स्थापित करें या पूर्ण ऑनबोर्ड रीसेट का उपयोग करें ताकि कार्यक्षेत्र और मार्कर साथ में साफ़ हों।

बूटस्ट्रैप फाइल निर्माण को पूरी तरह अक्षम करने के लिए (पहले से सीड किए गए कार्यक्षेत्रों के लिए), सेट करें:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ 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 कॉन्फ़िगरेशन](/hi/gateway/configuration) में `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` इसके बजाय सक्रिय रन को रोक देता है। कतार और सीमा व्यवहार के लिए [कतार](/hi/concepts/queue)
और [निर्देशन कतार](/hi/concepts/queue-steering) देखें।

ब्लॉक स्ट्रीमिंग पूर्ण 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](/hi/concepts/streaming)।

## मॉडल 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.workspace`
* `channels.whatsapp.allowFrom` (दृढ़ता से अनुशंसित)

***

*अगला: [ग्रुप चैट्स](/hi/channels/group-messages)* 🦞

## संबंधित

* [एजेंट कार्यक्षेत्र](/hi/concepts/agent-workspace)
* [मल्टी-एजेंट रूटिंग](/hi/concepts/multi-agent)
* [सत्र प्रबंधन](/hi/concepts/session)
