Configuration
OpenClaw 會從~/.openclaw/openclaw.json 讀取一個可選的 設定檔。
如果檔案不存在,OpenClaw 會使用安全的預設值。常見需要新增設定檔的原因:
- 連接各種通道並控制誰可以傳訊給機器人
- 設定模型、工具、沙箱或自動化(cron、hooks)
- 調整工作階段、媒體、網路或 UI 行為
Minimal config
Editing config
- 互動式精靈
- CLI(單行指令)
- Control UI
- 直接編輯
Strict validation
當驗證失敗時:- Gateway 不會啟動
- 僅能使用診斷指令(
openclaw doctor、openclaw logs、openclaw health、openclaw status) - 執行
openclaw doctor查看具體問題 - 執行
openclaw doctor --fix(或--yes)自動修復
Common tasks
設定通道(WhatsApp、Telegram、Discord 等)
設定通道(WhatsApp、Telegram、Discord 等)
每個通道都有自己在
channels.<provider> 底下的設定區塊。請參閱各通道頁面以了解詳細設定步驟:- WhatsApp —
channels.whatsapp - Telegram —
channels.telegram - Discord —
channels.discord - Slack —
channels.slack - Signal —
channels.signal - iMessage —
channels.imessage - Google Chat —
channels.googlechat - Mattermost —
channels.mattermost - MS Teams —
channels.msteams
選擇並設定模型
選擇並設定模型
設定主要模型與可選備援:
agents.defaults.models定義模型目錄,並同時作為/model的允許清單。- 模型參考格式為
provider/model(例如anthropic/claude-opus-4-6)。 - 請參閱 Models CLI 了解聊天中切換模型,及 Model Failover 了解備援與驗證輪替。
- 自訂/自架提供者請參閱參考文件中的 Custom providers。
控制誰可以傳訊給機器人
控制誰可以傳訊給機器人
每個通道透過
dmPolicy 控制私訊存取:"pairing"(預設):未知寄件者會收到一次性配對碼"allowlist":僅允許allowFrom(或已配對儲存)中的寄件者"open":允許所有私訊(需要allowFrom: ["*"])"disabled":忽略所有私訊
groupPolicy + groupAllowFrom 或各通道特定的允許清單。詳細請參閱 完整參考。設定群組提及門控
設定群組提及門控
群組訊息預設為 需要提及。可為每個 agent 設定:
- Metadata mentions:平台原生 @ 提及
- Text patterns:
mentionPatterns中的正則模式 - 請參閱 完整參考
設定工作階段與重置
設定工作階段與重置
工作階段控制對話連續性與隔離:
dmScope:main|per-peer|per-channel-peer|per-account-channel-peer- 請參閱 Session Management
- 完整欄位請參閱 完整參考
啟用沙箱
啟用沙箱
設定心跳(定期檢查)
設定心跳(定期檢查)
every: 時間字串(30m、2h),0m代表停用target:last|whatsapp|telegram|discord|none- 請參閱 Heartbeat
設定 cron 任務
設定 cron 任務
設定 Webhooks(hooks)
設定 Webhooks(hooks)
多代理路由設定
多代理路由設定
將設定拆分為多個檔案($include)
將設定拆分為多個檔案($include)
使用
$include 組織大型設定:- 單一檔案:取代該物件
- 檔案陣列:依序深度合併(後者覆蓋前者)
- 同層鍵:在 include 之後合併(可覆蓋)
- 巢狀 include:最多 10 層
- 相對路徑:相對於包含它的檔案
- 錯誤處理:缺檔、解析錯誤、循環 include 都會明確報錯
Config hot reload
Gateway 會監看~/.openclaw/openclaw.json 並自動套用變更——大多數設定不需要手動重新啟動。
Reload modes
| Mode | Behavior |
|---|---|
hybrid (default) | 即時套用安全變更;關鍵變更時自動重新啟動。 |
hot | 僅熱套用安全變更;需要重啟時會記錄警告。 |
restart | 任何設定變更都會重新啟動 Gateway。 |
off | 停用檔案監看;需手動重新啟動才會生效。 |
Environment variables
OpenClaw 會讀取父行程的環境變數,另外還會讀取:- 目前工作目錄下的
.env(若存在) ~/.openclaw/.env(全域備援)
在設定值中使用環境變數替換
在設定值中使用環境變數替換
可在任何字串設定中使用 規則:
${VAR_NAME}:- 僅匹配大寫名稱
[A-Z_][A-Z0-9_]* - 缺失或空值會在載入時報錯
- 使用
$${VAR}輸出字面值 - 適用於
$include檔案 - 例如
"${BASE}/v1"→"https://api.example.com/v1"
Full reference
完整逐欄位說明請參閱 Configuration Reference。相關: Configuration Examples · Configuration Reference · Doctor