---
read_when:
    - आपको एजेंट वर्कस्पेस या उसकी फ़ाइल संरचना समझानी है
    - आप किसी एजेंट वर्कस्पेस का बैकअप लेना या उसे माइग्रेट करना चाहते हैं
sidebarTitle: Agent workspace
summary: 'एजेंट वर्कस्पेस: स्थान, लेआउट और बैकअप रणनीति'
title: एजेंट कार्यक्षेत्र
x-i18n:
    generated_at: "2026-07-27T19:34:47Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: b58ead9079c3dda4bcaec3253f8d55e67e7e554d5c5b87ccfec6b08ec4ba038f
    source_path: concepts/agent-workspace.md
    workflow: 16
---

वर्कस्पेस एजेंट का घर है: फ़ाइल टूल और वर्कस्पेस संदर्भ के लिए उपयोग की जाने वाली कार्यशील डायरेक्टरी। इसे निजी रखें और मेमोरी की तरह मानें।

यह `~/.openclaw/` से अलग है, जहाँ कॉन्फ़िगरेशन, क्रेडेंशियल और सेशन संग्रहीत होते हैं।

<Warning>
वर्कस्पेस **डिफ़ॉल्ट cwd** है, कोई कठोर सैंडबॉक्स नहीं। टूल वर्कस्पेस के सापेक्ष पाथ का समाधान करते हैं, लेकिन सैंडबॉक्सिंग सक्षम न होने पर एब्सोल्यूट पाथ अब भी होस्ट के अन्य स्थानों तक पहुँच सकते हैं। यदि आपको आइसोलेशन चाहिए, तो [`agents.defaults.sandbox`](/hi/gateway/sandboxing) (और/या प्रति-एजेंट सैंडबॉक्स कॉन्फ़िगरेशन) का उपयोग करें।

जब सैंडबॉक्सिंग सक्षम हो और `workspaceAccess`, `"rw"` न हो, तो टूल आपके होस्ट वर्कस्पेस के बजाय `~/.openclaw/sandboxes` के अंतर्गत सैंडबॉक्स वर्कस्पेस में काम करते हैं।
</Warning>

## डिफ़ॉल्ट स्थान

- डिफ़ॉल्ट: `~/.openclaw/workspace`
- यदि `OPENCLAW_PROFILE` सेट है और `"default"` नहीं है, तो डिफ़ॉल्ट `~/.openclaw/workspace-<profile>` हो जाता है।
- सेट होने पर `OPENCLAW_WORKSPACE_DIR` ऊपर दिए गए दोनों को ओवरराइड करता है।
- स्पष्ट वर्कस्पेस के बिना गैर-डिफ़ॉल्ट एजेंट (`agents.entries.*`) साझा डिफ़ॉल्ट वर्कस्पेस के बजाय `<state-dir>/workspace-<agentId>` पर समाधान करते हैं।

`~/.openclaw/openclaw.json` में ओवरराइड करें:

```json5
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}
```

प्रति-एजेंट ओवरराइड: `agents.entries.*.workspace`।

यदि वर्कस्पेस और बूटस्ट्रैप फ़ाइलें मौजूद नहीं हैं, तो `openclaw onboard`, `openclaw configure`, या `openclaw setup` उन्हें बनाते हैं।

<Note>
सैंडबॉक्स सीड की प्रतिलिपियाँ केवल वर्कस्पेस के भीतर की नियमित फ़ाइलें स्वीकार करती हैं; स्रोत वर्कस्पेस के बाहर समाधान करने वाले सिमलिंक/हार्डलिंक उपनामों को अनदेखा किया जाता है।
</Note>

यदि आप पहले से वर्कस्पेस फ़ाइलों को स्वयं प्रबंधित करते हैं, तो बूटस्ट्रैप फ़ाइल निर्माण अक्षम करें:

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

## अतिरिक्त वर्कस्पेस फ़ोल्डर

पुराने इंस्टॉलेशन ने संभवतः `~/openclaw` बनाया हो। एकाधिक वर्कस्पेस डायरेक्टरियाँ रखने से प्रमाणीकरण या स्थिति में भ्रमित करने वाला अंतर आ सकता है, क्योंकि एक समय में केवल एक वर्कस्पेस सक्रिय रहता है।

<Note>
**सुझाव:** केवल एक सक्रिय वर्कस्पेस रखें। यदि अब अतिरिक्त फ़ोल्डर उपयोग नहीं किए जाते, तो उन्हें आर्काइव करें या Trash में ले जाएँ (उदाहरण के लिए `trash ~/openclaw`)। यदि आप जानबूझकर एकाधिक वर्कस्पेस रखते हैं, तो सुनिश्चित करें कि `agents.defaults.workspace` (या प्रति-एजेंट `workspace` कुंजी) सक्रिय वर्कस्पेस की ओर इंगित करती है।
</Note>

## वर्कस्पेस फ़ाइल मानचित्र

वर्कस्पेस के भीतर OpenClaw द्वारा अपेक्षित मानक फ़ाइलें:

<AccordionGroup>
  <Accordion title="AGENTS.md - संचालन निर्देश">
    एजेंट के लिए संचालन निर्देश और उसे मेमोरी का उपयोग कैसे करना चाहिए। प्रत्येक सेशन के आरंभ में लोड किया जाता है। नियमों, प्राथमिकताओं और "कैसे व्यवहार करना है" संबंधी विवरणों के लिए उपयुक्त स्थान।
  </Accordion>
  <Accordion title="SOUL.md - व्यक्तित्व और लहजा">
    व्यक्तित्व, लहजा और सीमाएँ। प्रत्येक सेशन में लोड किया जाता है। मार्गदर्शिका: [SOUL.md व्यक्तित्व मार्गदर्शिका](/hi/concepts/soul)।
  </Accordion>
  <Accordion title="USER.md - उपयोगकर्ता कौन है">
    उपयोगकर्ता कौन है और उसे कैसे संबोधित करना है। प्रत्येक सेशन में लोड किया जाता है।
  </Accordion>
  <Accordion title="IDENTITY.md - नाम, अंदाज़, इमोजी">
    एजेंट का नाम, अंदाज़ और इमोजी। बूटस्ट्रैप प्रक्रिया के दौरान बनाया/अपडेट किया जाता है।
  </Accordion>
  <Accordion title="TOOLS.md - स्थानीय टूल परंपराएँ">
    आपके स्थानीय टूल और परंपराओं के बारे में टिप्पणियाँ। यह टूल की उपलब्धता नियंत्रित नहीं करता; यह केवल मार्गदर्शन है।
  </Accordion>
  <Accordion title="HEARTBEAT.md - Heartbeat चेकलिस्ट">
    Heartbeat रन के लिए वैकल्पिक छोटी चेकलिस्ट। टोकन की अनावश्यक खपत से बचने के लिए इसे संक्षिप्त रखें।
  </Accordion>
  <Accordion title="BOOT.md - स्टार्टअप चेकलिस्ट">
    वैकल्पिक स्टार्टअप चेकलिस्ट, जो Gateway पुनः आरंभ होने पर स्वचालित रूप से चलती है (जब [आंतरिक हुक](/hi/automation/hooks) सक्षम हों)। इसे संक्षिप्त रखें; बाहर संदेश भेजने के लिए संदेश टूल का उपयोग करें।
  </Accordion>
  <Accordion title="BOOTSTRAP.md - प्रथम-रन प्रक्रिया">
    एक बार होने वाली प्रथम-रन प्रक्रिया। केवल बिल्कुल नए वर्कस्पेस के लिए बनाई जाती है। प्रक्रिया पूरी होने के बाद इसे हटा दें।
  </Accordion>
  <Accordion title="memory/YYYY-MM-DD.md - दैनिक मेमोरी लॉग">
    दैनिक मेमोरी लॉग (प्रति दिन एक फ़ाइल)। सेशन आरंभ होने पर आज + कल की फ़ाइल पढ़ने की सलाह दी जाती है।
  </Accordion>
  <Accordion title="MEMORY.md - व्यवस्थित दीर्घकालिक मेमोरी (वैकल्पिक)">
    व्यवस्थित दीर्घकालिक मेमोरी: स्थायी तथ्य, प्राथमिकताएँ, निर्णय और संक्षिप्त सारांश। विस्तृत लॉग `memory/YYYY-MM-DD.md` में रखें, ताकि मेमोरी टूल प्रत्येक प्रॉम्प्ट में उन्हें प्रविष्ट किए बिना आवश्यकता पड़ने पर प्राप्त कर सकें। `MEMORY.md` को केवल मुख्य, निजी सेशन में लोड करें (साझा/समूह संदर्भों में नहीं)। कार्यप्रवाह और स्वचालित मेमोरी फ़्लश के लिए [मेमोरी](/hi/concepts/memory) देखें।
  </Accordion>
  <Accordion title="skills/ - वर्कस्पेस Skills (वैकल्पिक)">
    वर्कस्पेस-विशिष्ट Skills। नाम टकराने पर उस वर्कस्पेस के लिए सर्वोच्च-प्राथमिकता वाला Skills स्थान, जो प्रोजेक्ट एजेंट Skills, व्यक्तिगत एजेंट Skills, प्रबंधित Skills, बंडल किए गए Skills और `skills.load.extraDirs` से आगे होता है।
  </Accordion>
  <Accordion title="canvas/ - Canvas UI फ़ाइलें (वैकल्पिक)">
    Node डिस्प्ले के लिए Canvas UI फ़ाइलें (उदाहरण के लिए `canvas/index.html`)।
  </Accordion>
</AccordionGroup>

<Note>
यदि कोई बूटस्ट्रैप फ़ाइल अनुपस्थित है, तो OpenClaw सेशन में "अनुपस्थित फ़ाइल" मार्कर प्रविष्ट करता है और जारी रहता है। बड़ी बूटस्ट्रैप फ़ाइलों को प्रविष्ट करते समय छोटा कर दिया जाता है; सीमाएँ `agents.defaults.bootstrapMaxChars` (डिफ़ॉल्ट: `20000`) और `agents.defaults.bootstrapTotalMaxChars` (डिफ़ॉल्ट: `60000`) से समायोजित करें। `openclaw setup` मौजूदा फ़ाइलों को ओवरराइट किए बिना अनुपस्थित डिफ़ॉल्ट फ़ाइलें पुनः बना सकता है।
</Note>

## वर्कस्पेस में क्या नहीं है

ये `~/.openclaw/` के अंतर्गत रहते हैं और इन्हें वर्कस्पेस रिपॉज़िटरी में कमिट नहीं किया जाना चाहिए:

- `~/.openclaw/openclaw.json` (कॉन्फ़िगरेशन)
- `~/.openclaw/state/openclaw.sqlite` (साझा वर्कस्पेस सेटअप स्थिति और सत्यापन)
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (मॉडल प्रमाणीकरण प्रोफ़ाइल: OAuth + API कुंजियाँ)
- `~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite` (सेशन पंक्तियाँ, ट्रांसक्रिप्ट और प्रति-एजेंट रनटाइम स्थिति)
- `~/.openclaw/agents/<agentId>/agent/codex-home/` (प्रति-एजेंट Codex रनटाइम खाता, कॉन्फ़िगरेशन, Skills, plugins और नेटिव थ्रेड स्थिति)
- `~/.openclaw/credentials/` (चैनल/प्रदाता स्थिति और विरासती OAuth आयात डेटा)
- `~/.openclaw/agents/<agentId>/sessions/` (विरासती माइग्रेशन स्रोत और आर्काइव/समर्थन आर्टिफ़ैक्ट)
- `~/.openclaw/skills/` (प्रबंधित Skills)

यदि आपको सेशन या कॉन्फ़िगरेशन माइग्रेट करना है, तो उन्हें अलग से कॉपी करें और संस्करण नियंत्रण से बाहर रखें।

OpenClaw के पुराने रिलीज़ ने `openclaw-workspace-state.json`,
`.openclaw/workspace-state.json`, और `.attested` वर्कस्पेस साइडकार लिखे थे। वर्तमान
रनटाइम उस स्थिति के लिए केवल साझा SQLite डेटाबेस का उपयोग करता है। यदि Doctor इनमें
से किसी फ़ाइल की रिपोर्ट करता है, तो `openclaw doctor --fix` चलाएँ; Doctor वैध विरासती
स्थिति आयात करता है और डेटाबेस पंक्तियों की पुष्टि करने के बाद ही स्रोत हटाता है।

## Git बैकअप (अनुशंसित, निजी)

वर्कस्पेस को निजी मेमोरी की तरह मानें। इसका बैकअप लेने और इसे पुनर्प्राप्त करने योग्य बनाने के लिए इसे किसी **निजी** git रिपॉज़िटरी में रखें।

ये चरण उस मशीन पर चलाएँ जहाँ Gateway चलता है (वर्कस्पेस वहीं रहता है)।

<Steps>
  <Step title="रिपॉज़िटरी आरंभ करें">
    यदि git इंस्टॉल है, तो बिल्कुल नए वर्कस्पेस स्वचालित रूप से आरंभ किए जाते हैं। यदि यह वर्कस्पेस पहले से रिपॉज़िटरी नहीं है, तो चलाएँ:

    ```bash
    cd ~/.openclaw/workspace
    git init
    git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
    git commit -m "Add agent workspace"
    ```

  </Step>
  <Step title="निजी रिमोट जोड़ें">
    <Tabs>
      <Tab title="GitHub वेब UI">
        1. GitHub पर नई **निजी** रिपॉज़िटरी बनाएँ।
        2. README के साथ आरंभ न करें (मर्ज टकराव से बचाता है)।
        3. HTTPS रिमोट URL कॉपी करें।
        4. रिमोट जोड़ें और पुश करें:

        ```bash
        git branch -M main
        git remote add origin <https-url>
        git push -u origin main
        ```
      </Tab>
      <Tab title="GitHub CLI (gh)">
        ```bash
        gh auth login
        gh repo create openclaw-workspace --private --source . --remote origin --push
        ```
      </Tab>
      <Tab title="GitLab वेब UI">
        1. GitLab पर नई **निजी** रिपॉज़िटरी बनाएँ।
        2. README के साथ आरंभ न करें (मर्ज टकराव से बचाता है)।
        3. HTTPS रिमोट URL कॉपी करें।
        4. रिमोट जोड़ें और पुश करें:

        ```bash
        git branch -M main
        git remote add origin <https-url>
        git push -u origin main
        ```
      </Tab>
    </Tabs>

  </Step>
  <Step title="निरंतर अपडेट">
    ```bash
    git status
    git add .
    git commit -m "Update memory"
    git push
    ```
  </Step>
</Steps>

## सीक्रेट कमिट न करें

<Warning>
निजी रिपॉज़िटरी में भी वर्कस्पेस में सीक्रेट संग्रहीत करने से बचें:

- API कुंजियाँ, OAuth टोकन, पासवर्ड या निजी क्रेडेंशियल।
- `~/.openclaw/` के अंतर्गत कुछ भी।
- चैट के अपरिष्कृत डंप या संवेदनशील अटैचमेंट।

यदि आपको संवेदनशील संदर्भ संग्रहीत करने ही पड़ें, तो प्लेसहोल्डर का उपयोग करें और वास्तविक सीक्रेट को कहीं और रखें (पासवर्ड मैनेजर, पर्यावरण चर या `~/.openclaw/`)।
</Warning>

सुझाया गया `.gitignore` प्रारंभिक खाका:

```gitignore
.DS_Store
.env
**/*.key
**/*.pem
**/secrets*
```

## वर्कस्पेस को नई मशीन पर ले जाना

<Steps>
  <Step title="रिपॉज़िटरी क्लोन करें">
    रिपॉज़िटरी को इच्छित पाथ पर क्लोन करें (डिफ़ॉल्ट `~/.openclaw/workspace`)।
  </Step>
  <Step title="कॉन्फ़िगरेशन अपडेट करें">
    `~/.openclaw/openclaw.json` में `agents.defaults.workspace` को उस पाथ पर सेट करें।
  </Step>
  <Step title="अनुपस्थित फ़ाइलें सीड करें">
    अनुपस्थित फ़ाइलों को सीड करने के लिए `openclaw setup --workspace <path>` चलाएँ।
  </Step>
  <Step title="सेशन कॉपी करें (वैकल्पिक)">
    यदि आपको सेशन चाहिए, तो पुरानी मशीन से `~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite`
    अलग से कॉपी करें। `~/.openclaw/agents/<agentId>/sessions/` केवल तभी कॉपी करें
    जब आपको विरासती माइग्रेशन इनपुट या आर्काइव/समर्थन आर्टिफ़ैक्ट भी चाहिए।
  </Step>
</Steps>

## उन्नत टिप्पणियाँ

- बहु-एजेंट रूटिंग `agents.entries.*.workspace` के माध्यम से प्रत्येक एजेंट के लिए अलग वर्कस्पेस का उपयोग कर सकती है। रूटिंग कॉन्फ़िगरेशन के लिए [चैनल रूटिंग](/hi/channels/channel-routing) देखें।
- यदि `agents.defaults.sandbox` सक्षम है, तो गैर-मुख्य सेशन `agents.defaults.sandbox.workspaceRoot` के अंतर्गत प्रति-सेशन सैंडबॉक्स वर्कस्पेस का उपयोग कर सकते हैं।

## संबंधित

- [Heartbeat](/hi/gateway/heartbeat) - HEARTBEAT.md वर्कस्पेस फ़ाइल
- [सैंडबॉक्सिंग](/hi/gateway/sandboxing) - सैंडबॉक्स किए गए परिवेशों में वर्कस्पेस पहुँच
- [सेशन](/hi/concepts/session) - सेशन संग्रहण पाथ
- [स्थायी निर्देश](/hi/automation/standing-orders) - वर्कस्पेस फ़ाइलों में स्थायी निर्देश
