Skip to content

#परिशिष्ट बी: कॉन्फ़िगरेशन फ़ाइलों का विस्तृत विवरण

OpenClaw की कॉन्फ़िगरेशन प्रणाली लचीली और शक्तिशाली है। यह परिशिष्ट आधिकारिक दस्तावेज़ों के आधार पर प्रत्येक कॉन्फ़िगरेशन आइटम का विस्तार से विश्लेषण करता है।

संदर्भ स्रोत: OpenClaw Configuration

कॉन्फ़िगरेशन फ़ाइल स्थान

OpenClaw एक वैकल्पिक JSON5 कॉन्फ़िगरेशन फ़ाइल पढ़ता है:

~/.openclaw/openclaw.json          # 主配置文件
~/.openclaw/.env                   # 环境变量文件

यदि कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो OpenClaw सुरक्षित डिफ़ॉल्ट का उपयोग करता है।

कॉन्फ़िगरेशन फ़ाइल संरचना अवलोकन

json5
{
  agents: { ... },           // Agent 配置
  channels: { ... },         // 渠道配置
  gateway: { ... },          // 网关配置
  session: { ... },          // 会话配置
  messages: { ... },         // 消息配置
  tools: { ... },            // 工具配置
  skills: { ... },           // 技能配置
  cron: { ... },             // 定时任务配置
  hooks: { ... },            // Webhook 配置
  bindings: [...],           // 绑定规则
  env: { ... },              // 环境变量
}

1. एजेंट कॉन्फ़िगरेशन (एजेंट)

1.1 डिफ़ॉल्ट कॉन्फ़िगरेशन (एजेंट.डिफ़ॉल्ट)

json5
{
  agents: {
    defaults: {
      // 工作空间路径
      workspace: "~/.openclaw/workspace",
      
      // 模型配置
      model: {
        primary: "anthropic/claude-sonnet-4-5",
        fallbacks: ["openai/gpt-5.2"]
      },
      
      // 模型目录(用于 /model 命令)
      models: {
        "anthropic/claude-sonnet-4-5": {
          alias: "Sonnet"
        },
        "openai/gpt-5.2": {
          alias: "GPT"
        }
      },
      
      // 图片最大尺寸(像素)
      imageMaxDimensionPx: 1200,
      
      // 心跳配置
      heartbeat: {
        every: "30m",        // 30分钟、2小时等
        target: "last",      // last | whatsapp | telegram | discord | none
        directPolicy: "allow" // allow | block
      },
      
      // 沙盒配置
      sandbox: {
        mode: "non-main",    // off | non-main | all
        scope: "agent"       // session | agent | shared
      },
      
      // 工具配置
      tools: {
        enabled: true,
        profile: "full"
      }
    }
  }
}

कॉन्फ़िगरेशन आइटम विवरण:

कॉन्फ़िगरेशन आइटमप्रकारडिफ़ॉल्ट मानविवरण
workspaceस्ट्रिंग~/.openclaw/कार्यक्षेत्रएजेंट कार्यशील निर्देशिका
model.primaryस्ट्रिंग-मुख्य मॉडल, प्रारूप: प्रदाता/मॉडल
model.fallbacksसारणी[]फ़ॉलबैक मॉडल सूची
imageMaxDimensionPxसंख्या1200छवि प्रतिलेखन/उपकरण छवि ज़ूम आकार
heartbeat.everyस्ट्रिंग-दिल की धड़कन का अंतराल (जैसे 30 मी, 2 घंटे)
sandbox.modeस्ट्रिंगबंदसैंडबॉक्स मोड

1.2 मल्टी-एजेंट कॉन्फ़िगरेशन (एजेंट.सूची)

json5
{
  agents: {
    list: [
      {
        id: "home",
        default: true,
        workspace: "~/.openclaw/workspace-home",
        groupChat: {
          mentionPatterns: ["@openclaw", "openclaw"]
        }
      },
      {
        id: "work",
        workspace: "~/.openclaw/workspace-work",
        model: {
          primary: "anthropic/claude-opus-4-6"
        }
      }
    ]
  }
}

2. चैनल कॉन्फ़िगरेशन (चैनल)

2.1 सामान्य डीएम नीति विन्यास

सभी चैनल समान DM रणनीति पैटर्न साझा करते हैं:

json5
{
  channels: {
    telegram: {
      enabled: true,
      botToken: "123:abc",
      dmPolicy: "pairing",      // pairing | allowlist | open | disabled
      allowFrom: ["tg:123"],    // 仅用于 allowlist/open
    },
    
    whatsapp: {
      enabled: true,
      allowFrom: ["+15555550123"],
      groups: {
        "*": {
          requireMention: true
        }
      }
    },
    
    discord: {
      enabled: true,
      botToken: "${DISCORD_BOT_TOKEN}",
      dmPolicy: "pairing",
      allowFrom: ["discord:123"]
    },
    
    slack: {
      enabled: true,
      botToken: "${SLACK_BOT_TOKEN}",
      dmPolicy: "pairing"
    }
  }
}

डीएम नीति विकल्प:

रणनीतिविवरण
pairingएक अज्ञात प्रेषक को वन-टाइम पेयरिंग कोड प्राप्त हुआ और उसे अनुमोदन की आवश्यकता है
allowlistकेवल प्रेषकों को ही अनुमति है
openसभी इनबाउंड डीएम को अनुमति दें (अनुमति की आवश्यकता है: ["*"])
disabledसभी डीएम पर ध्यान न दें

2.2 समूह चैट में गेट नियंत्रण का उल्लेख है

json5
{
  agents: {
    list: [
      {
        id: "main",
        groupChat: {
          mentionPatterns: ["@openclaw", "openclaw"]
        }
      }
    ]
  },
  
  channels: {
    whatsapp: {
      groups: {
        "*": {
          requireMention: true
        }
      }
    }
  }
}

3. गेटवे कॉन्फ़िगरेशन (गेटवे)

json5
{
  gateway: {
    port: 18789,
    bind: "loopback",           // loopback | lan | tailnet | auto | custom
    auth: {
      mode: "token",            // token | password
      token: "${OPENCLAW_GATEWAY_TOKEN}",
      password: "${OPENCLAW_GATEWAY_PASSWORD}",
      allowTailscale: true
    },
    tailscale: {
      mode: "off",              // off | serve | funnel
      resetOnExit: false
    },
    reload: {
      mode: "hybrid",           // hybrid | hot | restart | off
      debounceMs: 300
    }
  }
}

बाइंड पता विकल्प:

मूल्यविवरण
loopbackकेवल स्थानीय पहुंच (127.0.0.1)
lanलैन पहुंच योग्य
tailnetटेलस्केल नेटवर्क
autoस्वचालित पहचान
customकस्टम पता

हॉट रीलोड मोड:

पैटर्नव्यवहार
hybridहॉट सुरक्षित परिवर्तन लागू करें, महत्वपूर्ण परिवर्तन स्वचालित रूप से पुनरारंभ करें (डिफ़ॉल्ट)
hotकेवल गर्म-सुरक्षित परिवर्तन लागू करें, पुनरारंभ आवश्यक होने पर लॉग चेतावनी
restartकिसी भी कॉन्फ़िगरेशन परिवर्तन के लिए गेटवे को पुनरारंभ करें
offफ़ाइल निगरानी अक्षम करें

4. सत्र विन्यास (सत्र)

json5
{
  session: {
    dmScope: "per-channel-peer",  // main | per-peer | per-channel-peer | per-account-channel-peer
    
    threadBindings: {
      enabled: true,
      idleHours: 24,
      maxAgeHours: 0
    },
    
    reset: {
      mode: "daily",            // daily | idle | manual
      atHour: 4,
      idleMinutes: 120
    }
  }
}

डीएम स्कोप विकल्प:

मूल्यविवरण
mainसाझा सत्र
per-peerप्रति सहकर्मी स्वतंत्र सत्र
per-channel-peerप्रति चैनल - साथियों के लिए स्वतंत्र सत्र (बहु-उपयोगकर्ता अनुशंसित)
per-account-channel-peerप्रति खाता-चैनल-सहकर्मी स्वतंत्र सत्र

5. संदेश विन्यास (संदेश)

json5
{
  messages: {
    groupChat: {
      mentionPatterns: ["@openclaw"]
    }
  }
}

6. टूल कॉन्फ़िगरेशन (उपकरण)

json5
{
  tools: {
    profile: "full",              // messaging | default | coding | full | all
    enabled: true,
    web: {
      search: {
        apiKey: "${BRAVE_API_KEY}"
      }
    }
  }
}

टूल कॉन्फ़िगरेशन फ़ाइल:

प्रोफ़ाइलविवरण
messagingकेवल चैट करें, कोई उपकरण नहीं
defaultबुनियादी टूलसेट
codingप्रोग्रामिंग टूलसेट
fullसंपूर्ण टूलसेट
allसभी उपकरण

7. कौशल विन्यास (कौशल)

json5
{
  skills: {
    entries: {
      "nano-banana-pro": {
        enabled: true,
        apiKey: {
          source: "file",
          provider: "filemain",
          id: "/skills/entries/nano-banana-pro/apiKey"
        }
      }
    }
  }
}

8. अनुसूचित कार्य विन्यास (क्रोन)

json5
{
  cron: {
    enabled: true,
    maxConcurrentRuns: 2,
    sessionRetention: "24h",
    runLog: {
      maxBytes: "2mb",
      keepLines: 2000
    }
  }
}

9. वेबहुक कॉन्फ़िगरेशन (हुक)

json5
{
  hooks: {
    enabled: true,
    token: "shared-secret",
    path: "/hooks",
    defaultSessionKey: "hook:ingress",
    allowRequestSessionKey: false,
    allowedSessionKeyPrefixes: ["hook:"],
    mappings: [
      {
        match: {
          path: "gmail"
        },
        action: "agent",
        agentId: "main",
        deliver: true
      }
    ]
  }
}

10. बाइंडिंग कॉन्फ़िगरेशन (बाइंडिंग)

json5
{
  bindings: [
    {
      agentId: "home",
      match: {
        channel: "whatsapp",
        accountId: "personal"
      }
    },
    {
      agentId: "work",
      match: {
        channel: "whatsapp",
        accountId: "biz"
      }
    }
  ]
}

11. पर्यावरण चर विन्यास (env)

json5
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-..."
    },
    shellEnv: {
      enabled: true,
      timeoutMs: 15000
    }
  }
}

पर्यावरण परिवर्तनीय स्रोत (प्राथमिकता के अनुसार):

  1. मूल प्रक्रिया पर्यावरण चर
  2. वर्तमान कार्यशील निर्देशिका में .env फ़ाइल
  3. ~/.openclaw/.env फ़ाइल (वैश्विक फ़ॉलबैक)

न ही मौजूदा पर्यावरण चर को अधिलेखित करता है।


12. कॉन्फ़िगरेशन विभाजन ($शामिल)

बड़े कॉन्फ़िगरेशन को व्यवस्थित करने के लिए $include का उपयोग करें:

json5
// ~/.openclaw/openclaw.json
{
  gateway: {
    port: 18789
  },
  agents: {
    $include: "./agents.json5"
  },
  broadcast: {
    $include: [
      "./clients/a.json5",
      "./clients/b.json5"
    ]
  }
}

नियम:

  • एकल फ़ाइल: निहित वस्तुओं को बदलें
  • फ़ाइल सरणी: क्रम में गहरा विलय (नवीनतम पहले)
  • सिबलिंग कुंजियाँ: शामिल करने के बाद मर्ज करें (शामिल मानों को अधिलेखित करें)
  • नेस्टेड में शामिल हैं: 10 स्तरों तक गहराई तक समर्थन करता है
  • सापेक्ष पथ: युक्त फ़ाइल के सापेक्ष हल किया गया

13. पर्यावरण चर प्रतिस्थापन

कॉन्फ़िगरेशन स्ट्रिंग मानों में संदर्भ पर्यावरण चर:

json5
{
  gateway: {
    auth: {
      token: "${OPENCLAW_GATEWAY_TOKEN}"
    }
  },
  models: {
    providers: {
      custom: {
        apiKey: "${CUSTOM_API_KEY}"
      }
    }
  }
}

नियम:

  • केवल बड़े नामों से मेल खाता है: [A-Z_][A-Z0-9_]*
  • गुम/खाली वेरिएबल लोड करते समय त्रुटियाँ उत्पन्न करते हैं
  • शाब्दिक आउटपुट से बचने के लिए $${VAR} का उपयोग करें
  • $include फ़ाइलों में भी मान्य है
  • इनलाइन प्रतिस्थापन: "${BASE}/v1""https://api.example.com/v1"

14. SecretRef प्रमाणपत्र

SecretRef ऑब्जेक्ट के समर्थित फ़ील्ड:

json5
{
  models: {
    providers: {
      openai: {
        apiKey: {
          source: "env",
          provider: "default",
          id: "OPENAI_API_KEY"
        }
      }
    }
  },
  
  skills: {
    entries: {
      "nano-banana-pro": {
        apiKey: {
          source: "file",
          provider: "filemain",
          id: "/skills/entries/nano-banana-pro/apiKey"
        }
      }
    }
  },
  
  channels: {
    googlechat: {
      serviceAccountRef: {
        source: "exec",
        provider: "vault",
        id: "channels/googlechat/serviceAccount"
      }
    }
  }
}

स्रोत प्रकार:

  • env: पर्यावरण चर
  • file: फ़ाइल सामग्री
  • exec: कमांड निष्पादन आउटपुट

15. पूर्ण कॉन्फ़िगरेशन उदाहरण

15.1 न्यूनतम विन्यास

json5
// ~/.openclaw/openclaw.json
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace"
    }
  },
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"]
    }
  }
}

15.2 स्थानीय विकास विन्यास

json5
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
      model: {
        primary: "ollama/llama3.2"
      }
    }
  },
  gateway: {
    port: 18789,
    bind: "loopback",
    auth: {
      mode: "token",
      token: "dev-token"
    }
  }
}

15.3 सर्वर परिनियोजन कॉन्फ़िगरेशन

json5
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
      model: {
        primary: "anthropic/claude-sonnet-4-5",
        fallbacks: ["openai/gpt-5.2"]
      }
    }
  },
  
  channels: {
    telegram: {
      enabled: true,
      botToken: "${TELEGRAM_BOT_TOKEN}",
      dmPolicy: "pairing"
    }
  },
  
  gateway: {
    port: 18789,
    bind: "lan",
    auth: {
      mode: "password",
      password: "${GATEWAY_PASSWORD}"
    }
  },
  
  session: {
    dmScope: "per-channel-peer"
  }
}

15.4 मल्टी-एजेंट कॉन्फ़िगरेशन

json5
{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-sonnet-4-5"
      }
    },
    list: [
      {
        id: "home",
        default: true,
        workspace: "~/.openclaw/workspace-home"
      },
      {
        id: "work",
        workspace: "~/.openclaw/workspace-work",
        model: {
          primary: "anthropic/claude-opus-4-6"
        }
      }
    ]
  },
  
  bindings: [
    {
      agentId: "home",
      match: {
        channel: "whatsapp",
        accountId: "personal"
      }
    },
    {
      agentId: "work",
      match: {
        channel: "whatsapp",
        accountId: "biz"
      }
    }
  ]
}

16. कॉन्फ़िगरेशन संपादन विधि

इंटरएक्टिव विज़ार्ड

bash
openclaw onboard          # 完整设置向导
openclaw configure        # 配置向导

सीएलआई आदेश

bash
openclaw config get agents.defaults.workspace
openclaw config set agents.defaults.heartbeat.every "2h"
openclaw config unset tools.web.search.apiKey
openclaw config file      # 查看配置文件路径
openclaw config validate  # 验证配置

वेब कंसोल

http://127.0.0.1:18789 खोलें और कॉन्फिग टैब का उपयोग करें।

सीधे संपादित करें

~/.openclaw/openclaw.json सीधे संपादित करें और गेटवे स्वचालित रूप से परिवर्तन लागू करेगा।


17. सख्त सत्यापन

OpenClaw केवल उन कॉन्फ़िगरेशन को स्वीकार करता है जो स्कीमा से बिल्कुल मेल खाते हैं। अज्ञात कुंजियाँ, विकृत प्रकार, या अमान्य मान गेटवे को प्रारंभ करने से इंकार कर सकते हैं।

जब सत्यापन विफल हो जाता है:

  • गेटवे प्रारंभ नहीं होगा
  • केवल डायग्नोस्टिक कमांड उपलब्ध हैं (openclaw doctor, openclaw logs, openclaw health, openclaw status)
  • विशिष्ट मुद्दों को देखने के लिए openclaw doctor चलाएँ
  • समाधान लागू करने के लिए openclaw doctor --fix चलाएँ

18. हॉट रीलोड निर्देश

हॉट एप्लिकेशन कॉन्फ़िगरेशन का समर्थन करें

| श्रेणी | फ़ील्ड | पुनः आरंभ करने की आवश्यकता है? | |------|------|------|| | चैनल | channels.* | नहीं | | एजेंट और मॉडल | agent, agents, models, routing | नहीं | | स्वचालन | hooks, cron, agent.heartbeat | नहीं | | बातचीत और संदेश | session, messages | नहीं | | उपकरण एवं मीडिया | tools, browser, skills, audio, talk | नहीं | | यूआई और अन्य | ui, logging, identity, bindings | नहीं |

कॉन्फ़िगरेशन जिसे पुनरारंभ करने की आवश्यकता है

श्रेणीफ़ील्ड
गेटवे सर्वरgateway.* (पोर्ट, बाइंडिंग, प्रमाणीकरण, टेलस्केल, टीएलएस, HTTP)
इंफ्रास्ट्रक्चरdiscovery, canvasHost, plugins

अपवाद: gateway.reload और gateway.remote परिवर्तन पुनरारंभ को ट्रिगर नहीं करते हैं।


टिप्स: यह विस्तृत कॉन्फ़िगरेशन स्पष्टीकरण आधिकारिक ओपनक्लाव दस्तावेज़ पर आधारित है। संपूर्ण संदर्भ के लिए, कृपया docs.openclaw.ai/gateway/configuration पर जाएँ।