#परिशिष्ट बी: कॉन्फ़िगरेशन फ़ाइलों का विस्तृत विवरण
OpenClaw की कॉन्फ़िगरेशन प्रणाली लचीली और शक्तिशाली है। यह परिशिष्ट आधिकारिक दस्तावेज़ों के आधार पर प्रत्येक कॉन्फ़िगरेशन आइटम का विस्तार से विश्लेषण करता है।
संदर्भ स्रोत: OpenClaw Configuration
कॉन्फ़िगरेशन फ़ाइल स्थान
OpenClaw एक वैकल्पिक JSON5 कॉन्फ़िगरेशन फ़ाइल पढ़ता है:
~/.openclaw/openclaw.json # 主配置文件
~/.openclaw/.env # 环境变量文件यदि कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो OpenClaw सुरक्षित डिफ़ॉल्ट का उपयोग करता है।
कॉन्फ़िगरेशन फ़ाइल संरचना अवलोकन
{
agents: { ... }, // Agent 配置
channels: { ... }, // 渠道配置
gateway: { ... }, // 网关配置
session: { ... }, // 会话配置
messages: { ... }, // 消息配置
tools: { ... }, // 工具配置
skills: { ... }, // 技能配置
cron: { ... }, // 定时任务配置
hooks: { ... }, // Webhook 配置
bindings: [...], // 绑定规则
env: { ... }, // 环境变量
}1. एजेंट कॉन्फ़िगरेशन (एजेंट)
1.1 डिफ़ॉल्ट कॉन्फ़िगरेशन (एजेंट.डिफ़ॉल्ट)
{
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 मल्टी-एजेंट कॉन्फ़िगरेशन (एजेंट.सूची)
{
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 रणनीति पैटर्न साझा करते हैं:
{
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 समूह चैट में गेट नियंत्रण का उल्लेख है
{
agents: {
list: [
{
id: "main",
groupChat: {
mentionPatterns: ["@openclaw", "openclaw"]
}
}
]
},
channels: {
whatsapp: {
groups: {
"*": {
requireMention: true
}
}
}
}
}3. गेटवे कॉन्फ़िगरेशन (गेटवे)
{
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. सत्र विन्यास (सत्र)
{
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. संदेश विन्यास (संदेश)
{
messages: {
groupChat: {
mentionPatterns: ["@openclaw"]
}
}
}6. टूल कॉन्फ़िगरेशन (उपकरण)
{
tools: {
profile: "full", // messaging | default | coding | full | all
enabled: true,
web: {
search: {
apiKey: "${BRAVE_API_KEY}"
}
}
}
}टूल कॉन्फ़िगरेशन फ़ाइल:
| प्रोफ़ाइल | विवरण |
|---|---|
messaging | केवल चैट करें, कोई उपकरण नहीं |
default | बुनियादी टूलसेट |
coding | प्रोग्रामिंग टूलसेट |
full | संपूर्ण टूलसेट |
all | सभी उपकरण |
7. कौशल विन्यास (कौशल)
{
skills: {
entries: {
"nano-banana-pro": {
enabled: true,
apiKey: {
source: "file",
provider: "filemain",
id: "/skills/entries/nano-banana-pro/apiKey"
}
}
}
}
}8. अनुसूचित कार्य विन्यास (क्रोन)
{
cron: {
enabled: true,
maxConcurrentRuns: 2,
sessionRetention: "24h",
runLog: {
maxBytes: "2mb",
keepLines: 2000
}
}
}9. वेबहुक कॉन्फ़िगरेशन (हुक)
{
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. बाइंडिंग कॉन्फ़िगरेशन (बाइंडिंग)
{
bindings: [
{
agentId: "home",
match: {
channel: "whatsapp",
accountId: "personal"
}
},
{
agentId: "work",
match: {
channel: "whatsapp",
accountId: "biz"
}
}
]
}11. पर्यावरण चर विन्यास (env)
{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: {
GROQ_API_KEY: "gsk-..."
},
shellEnv: {
enabled: true,
timeoutMs: 15000
}
}
}पर्यावरण परिवर्तनीय स्रोत (प्राथमिकता के अनुसार):
- मूल प्रक्रिया पर्यावरण चर
- वर्तमान कार्यशील निर्देशिका में
.envफ़ाइल ~/.openclaw/.envफ़ाइल (वैश्विक फ़ॉलबैक)
न ही मौजूदा पर्यावरण चर को अधिलेखित करता है।
12. कॉन्फ़िगरेशन विभाजन ($शामिल)
बड़े कॉन्फ़िगरेशन को व्यवस्थित करने के लिए $include का उपयोग करें:
// ~/.openclaw/openclaw.json
{
gateway: {
port: 18789
},
agents: {
$include: "./agents.json5"
},
broadcast: {
$include: [
"./clients/a.json5",
"./clients/b.json5"
]
}
}नियम:
- एकल फ़ाइल: निहित वस्तुओं को बदलें
- फ़ाइल सरणी: क्रम में गहरा विलय (नवीनतम पहले)
- सिबलिंग कुंजियाँ: शामिल करने के बाद मर्ज करें (शामिल मानों को अधिलेखित करें)
- नेस्टेड में शामिल हैं: 10 स्तरों तक गहराई तक समर्थन करता है
- सापेक्ष पथ: युक्त फ़ाइल के सापेक्ष हल किया गया
13. पर्यावरण चर प्रतिस्थापन
कॉन्फ़िगरेशन स्ट्रिंग मानों में संदर्भ पर्यावरण चर:
{
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 ऑब्जेक्ट के समर्थित फ़ील्ड:
{
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 न्यूनतम विन्यास
// ~/.openclaw/openclaw.json
{
agents: {
defaults: {
workspace: "~/.openclaw/workspace"
}
},
channels: {
whatsapp: {
allowFrom: ["+15555550123"]
}
}
}15.2 स्थानीय विकास विन्यास
{
agents: {
defaults: {
workspace: "~/.openclaw/workspace",
model: {
primary: "ollama/llama3.2"
}
}
},
gateway: {
port: 18789,
bind: "loopback",
auth: {
mode: "token",
token: "dev-token"
}
}
}15.3 सर्वर परिनियोजन कॉन्फ़िगरेशन
{
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 मल्टी-एजेंट कॉन्फ़िगरेशन
{
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. कॉन्फ़िगरेशन संपादन विधि
इंटरएक्टिव विज़ार्ड
openclaw onboard # 完整设置向导
openclaw configure # 配置向导सीएलआई आदेश
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 पर जाएँ।