---
read_when:
    - एजेंट रनटाइम, वर्कस्पेस बूटस्ट्रैप या सत्र व्यवहार बदलना
summary: एजेंट रनटाइम, वर्कस्पेस अनुबंध और सेशन बूटस्ट्रैप
title: एजेंट रनटाइम
x-i18n:
    generated_at: "2026-07-27T20:43:06Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 4d3dd9c0c65e4ccd791a2a6131f1b7457c8cfee6da71502d93c355280e094390
    source_path: concepts/agent.md
    workflow: 16
---

OpenClaw एक **अंतर्निहित एजेंट रनटाइम** के साथ आता है: एक बिल्ट-इन एजेंट लूप, टूल
वायरिंग और प्रॉम्प्ट असेंबली, जो टर्न को किसी बाहरी
हार्नेस प्रोसेस को सौंपने से अलग है। प्रत्येक कॉन्फ़िगर किए गए एजेंट (कई एजेंट चलाने के लिए
[मल्टी-एजेंट रूटिंग](/hi/concepts/multi-agent) देखें) का अपना वर्कस्पेस, बूटस्ट्रैप फ़ाइलें और सेशन
स्टोर होता है। यह पृष्ठ उस रनटाइम अनुबंध को समझाता है: वर्कस्पेस में क्या
होना आवश्यक है, कौन-सी फ़ाइलें इंजेक्ट की जाती हैं और सेशन उसके आधार पर कैसे बूटस्ट्रैप होते हैं।

## वर्कस्पेस (आवश्यक)

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

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

वर्कस्पेस का पूरा लेआउट + बैकअप मार्गदर्शिका: [एजेंट वर्कस्पेस](/hi/concepts/agent-workspace)

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

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

वर्कस्पेस के भीतर, OpenClaw इन उपयोगकर्ता-संपादन योग्य फ़ाइलों की अपेक्षा करता है:

| फ़ाइल           | उद्देश्य                                              |
| -------------- | ---------------------------------------------------- |
| `AGENTS.md`    | संचालन निर्देश + "मेमोरी"                    |
| `SOUL.md`      | व्यक्तित्व, सीमाएँ, स्वर                            |
| `TOOLS.md`     | उपयोगकर्ता द्वारा रखे गए टूल नोट्स और प्रथाएँ           |
| `IDENTITY.md`  | एजेंट का नाम/मिज़ाज/इमोजी                                |
| `USER.md`      | उपयोगकर्ता प्रोफ़ाइल + संबोधन की प्राथमिकता                     |
| `HEARTBEAT.md` | Heartbeat-विशिष्ट निर्देश                      |
| `BOOTSTRAP.md` | पहली बार चलाने की एकबारगी प्रक्रिया (पूर्ण होने के बाद हटाई जाती है) |
| `MEMORY.md`    | रूट दीर्घकालिक मेमोरी फ़ाइल, यदि मौजूद हो               |

नए सेशन के पहले टर्न पर, OpenClaw इन फ़ाइलों की सामग्री को सिस्टम प्रॉम्प्ट के प्रोजेक्ट संदर्भ में इंजेक्ट करता है। `MEMORY.md` केवल तभी इंजेक्ट होती है, जब वह वर्कस्पेस रूट पर मौजूद हो।

खाली फ़ाइलों को छोड़ दिया जाता है। बड़ी फ़ाइलों को एक मार्कर के साथ छोटा और ट्रंकेट किया जाता है, ताकि प्रॉम्प्ट संक्षिप्त रहें (पूरी सामग्री के लिए फ़ाइल पढ़ें)। किसी अनुपलब्ध फ़ाइल (`MEMORY.md` के अतिरिक्त) के स्थान पर एकल "फ़ाइल अनुपलब्ध" मार्कर पंक्ति इंजेक्ट की जाती है; `openclaw setup` उसके लिए एक सुरक्षित डिफ़ॉल्ट टेम्पलेट बनाता है।

`BOOTSTRAP.md` केवल **पूरी तरह नए वर्कस्पेस** के लिए बनाई जाती है (जब कोई अन्य बूटस्ट्रैप फ़ाइल मौजूद न हो)। इसके लंबित रहने तक, OpenClaw इसे प्रोजेक्ट संदर्भ में रखता है और इसे उपयोगकर्ता संदेश में कॉपी करने के बजाय प्रारंभिक प्रक्रिया के लिए सिस्टम-प्रॉम्प्ट बूटस्ट्रैप मार्गदर्शन जोड़ता है। यदि आप प्रक्रिया पूरी करने के बाद इसे हटा देते हैं, तो बाद के रीस्टार्ट पर इसे दोबारा नहीं बनाया जाता।

वर्कस्पेस देखे जाने के बाद, OpenClaw उसकी सेटअप स्थिति और
सत्यापन को साझा SQLite डेटाबेस
`~/.openclaw/state/openclaw.sqlite` में संग्रहीत करता है। यदि हाल ही में सत्यापित वर्कस्पेस
गायब हो जाता है या मिटा दिया जाता है, तो स्टार्टअप चुपचाप `BOOTSTRAP.md` को फिर से सीड करने से मना कर देता है;
वर्कस्पेस पुनर्स्थापित करें या पूर्ण ऑनबोर्ड रीसेट का उपयोग करें, ताकि वर्कस्पेस और उसकी
डेटाबेस स्थिति एक साथ साफ़ हों।

पुराने रिलीज़ वर्कस्पेस JSON और `.attested` साइडकार फ़ाइलों का उपयोग करते थे। रनटाइम
उन फ़ाइलों को नहीं पढ़ता। उन्हें सत्यापित करने, उनकी स्थिति SQLite में आयात करने और
आयात की गई पंक्तियों के सत्यापन के बाद प्रत्येक स्रोत को हटाने के लिए `openclaw doctor --fix` चलाएँ।

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

```json5
{ agents: { defaults: { skipBootstrap: true } } }
```

## बिल्ट-इन टूल

मुख्य टूल (read/exec/edit/write और संबंधित सिस्टम टूल) टूल नीति के अधीन,
हमेशा उपलब्ध रहते हैं। OpenAI मॉडल के लिए `apply_patch` डिफ़ॉल्ट रूप से चालू है और
`tools.exec.applyPatch` (`enabled`, `workspaceOnly`, `allowModels`) द्वारा नियंत्रित होता है। `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 अपने समतल फ्रंटमैटर नाम से उपलब्ध होता है,
उदाहरण के लिए `foo`।

Skills को कॉन्फ़िगरेशन/पर्यावरण द्वारा नियंत्रित किया जा सकता है ([Gateway कॉन्फ़िगरेशन](/hi/gateway/configuration) में `skills` देखें)।

## रनटाइम सीमाएँ

अंतर्निहित एजेंट रनटाइम का स्वामित्व OpenClaw के पास है: मॉडल खोज, टूल वायरिंग,
प्रॉम्प्ट असेंबली, सेशन प्रबंधन और चैनल डिलीवरी एक एकीकृत
रनटाइम सतह साझा करते हैं।

## सेशन

सेशन पंक्तियाँ प्रति-एजेंट SQLite डेटाबेस में संग्रहीत होती हैं:

- `~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite`

ट्रांसक्रिप्ट JSONL फ़ाइलें अब भी
`~/.openclaw/agents/<agentId>/sessions/` के अंतर्गत विरासत माइग्रेशन इनपुट, हटाए गए या
रीसेट किए गए आर्काइव, आयात, निर्यात और सहायता आर्टिफ़ैक्ट के रूप में रह सकती हैं। सक्रिय एजेंट इतिहास
सेशन पंक्तियों के साथ SQLite में संग्रहीत होता है। सेशन ID स्थिर होती है और
OpenClaw द्वारा चुनी जाती है। OpenClaw अन्य टूल के सेशन फ़ोल्डर नहीं पढ़ता।

## स्ट्रीमिंग के दौरान संचालन

रन के बीच में आने वाले इनबाउंड प्रॉम्प्ट डिफ़ॉल्ट रूप से वर्तमान रन में निर्देशित किए जाते हैं।
संचालन **वर्तमान असिस्टेंट टर्न द्वारा अपने
टूल कॉल निष्पादित करना समाप्त करने के बाद**, अगले LLM कॉल से पहले पहुँचाया जाता है और अब
वर्तमान असिस्टेंट संदेश के शेष टूल कॉल को नहीं छोड़ता।

`/queue steer` सक्रिय रन का डिफ़ॉल्ट व्यवहार है। `/queue followup` और
`/queue collect` संदेशों को निर्देशित करने के बजाय बाद के टर्न की प्रतीक्षा करवाते हैं।
`/queue interrupt` इसके बजाय सक्रिय रन को निरस्त करता है। कतार और सीमा व्यवहार के लिए
[कतार](/hi/concepts/queue) और [संचालन कतार](/hi/concepts/queue-steering) देखें।

ब्लॉक स्ट्रीमिंग पूर्ण हो चुके असिस्टेंट ब्लॉक को समाप्त होते ही भेज देती है; यह
**डिफ़ॉल्ट रूप से बंद** है (`agents.defaults.blockStreamingDefault: "off"`)।
`agents.defaults.blockStreamingBreak` के माध्यम से सीमा समायोजित करें (`text_end` बनाम `message_end`; डिफ़ॉल्ट `text_end`)।
`agents.defaults.blockStreamingChunk` से सॉफ्ट ब्लॉक खंडन नियंत्रित करें (डिफ़ॉल्ट
800-1200 वर्ण; पहले अनुच्छेद विराम, फिर नई पंक्तियाँ; वाक्य सबसे अंत में)।
एकल-पंक्ति स्पैम कम करने के लिए स्ट्रीम किए गए खंडों को `agents.defaults.blockStreamingCoalesce` से संयोजित करें
(भेजने से पहले निष्क्रियता-आधारित विलय)। गैर-Telegram चैनलों में ब्लॉक उत्तर सक्षम करने के लिए
स्पष्ट `*.streaming.block.enabled: true` आवश्यक है (QQ Bot
इसके बजाय ब्लॉक उत्तर स्ट्रीम करता है, जब तक कि `channels.qqbot.streaming.mode`, `"off"` न हो)।
विस्तृत टूल सारांश टूल के आरंभ पर उत्सर्जित होते हैं (कोई डिबाउंस नहीं); उपलब्ध होने पर Control UI
एजेंट इवेंट के माध्यम से टूल आउटपुट स्ट्रीम करता है।
अधिक विवरण: [स्ट्रीमिंग + खंडन](/hi/concepts/streaming)।

## मॉडल संदर्भ

कॉन्फ़िगरेशन में मॉडल संदर्भ (उदाहरण के लिए `agents.defaults.model` और `agents.defaults.models`) को **पहले** `/` पर विभाजित करके पार्स किया जाता है।

- मॉडल कॉन्फ़िगर करते समय `provider/model` का उपयोग करें।
- यदि मॉडल ID में स्वयं `/` (OpenRouter शैली) है, तो प्रदाता प्रीफ़िक्स शामिल करें (उदाहरण: `openrouter/moonshotai/kimi-k2`)।
- यदि आप प्रदाता छोड़ देते हैं, तो OpenClaw पहले किसी उपनाम को आज़माता है, फिर उस सटीक मॉडल ID के लिए
  किसी अद्वितीय कॉन्फ़िगर किए गए प्रदाता मिलान को और उसके बाद ही कॉन्फ़िगर किए गए
  डिफ़ॉल्ट प्रदाता पर वापस जाता है। यदि वह प्रदाता अब कॉन्फ़िगर किया गया डिफ़ॉल्ट मॉडल
  उपलब्ध नहीं कराता, तो OpenClaw पुराने हटाए गए-प्रदाता डिफ़ॉल्ट को दिखाने के बजाय पहले
  कॉन्फ़िगर किए गए प्रदाता/मॉडल पर वापस जाता है।

## कॉन्फ़िगरेशन (न्यूनतम)

कम-से-कम यह सेट करें:

- `agents.defaults.workspace`
- `channels.whatsapp.allowFrom` (दृढ़ता से अनुशंसित)

## संबंधित

- [एजेंट वर्कस्पेस](/hi/concepts/agent-workspace)
- [मल्टी-एजेंट रूटिंग](/hi/concepts/multi-agent)
- [सेशन प्रबंधन](/hi/concepts/session)
- [समूह चैट](/hi/channels/group-messages)
