最近更新 · 2026-01-30
OpenClaw 高级配置详解(安全加固 / 多模型路由 / 通道精细控制 / 代理与沙箱 / 记忆与主动行为 / 插件技能)
本文是 OpenClaw(原 Moltbot,再之前为 Clawdbot)高级配置的结构化教程,适合已经完成基础安装并跑通一个通道(如 Telegram)的用户。
配置字段在不同版本/插件中可能略有差异:以你本机的openclaw config get/ 日志输出为准。
强烈建议优先使用命令行openclaw config set ...修改配置,避免手改 JSON 语法错误。
目录
- 0. 配置文件与推荐工作流
- 1. 模型高级配置(多提供商 / 路由 / fallback / 成本优化)
- 2. 通道高级控制(白名单 / 群聊必须@ / 配对审批)
- 3. 安全与沙箱(最重要:权限白名单 / 端口绑定 / token)
- 4. 代理与网络(国内环境常用)
- 5. 持久记忆与 Proactive 行为(heartbeat)
- 6. 插件与自定义技能(skills / plugins)
- 7. 一键自检清单(上线前必做)
0. 配置文件与推荐工作流
配置文件位置(以新版为准)
- 主配置:
~/.openclaw/openclaw.json(JSON) - 敏感密钥:
~/.openclaw/.env(推荐放这里,避免明文写入 json) - (可选)部分版本:
~/.openclaw/config.yaml(不一定支持)
推荐工作流(最稳)
- 先用命令写配置(避免 JSON 拼写错误)
- 看看当前配置是否写入成功
- 重启 gateway / 服务
- 发送一条测试消息验证
常用命令:
# 写配置openclaw config set key.value "value" # 读配置(你也可以 get 某个子键)openclaw config get || true # 重启(以你版本支持的命令为准)openclaw gateway restart || openclaw restart1. 模型高级配置(多提供商 / 路由 / fallback / 成本优化)
1.1 目标
- 同时配置多个提供商(Anthropic / OpenAI-compatible 代理 / MiniMax 等)
- 为默认 agent 设置:
- primary:日常主力模型
- fallback:超限/失败自动切换
- reasoning:复杂任务强制使用更强模型
1.2 推荐结构示例(示意)
注意:字段名/路径可能因版本不同略有差异,你可以先把结构写进去,再用
openclaw config get确认是否生效。
{ "models": { "mode": "merge", "providers": { "anthropic": { "baseUrl": "https://api.anthropic.com/v1", "apiKey": "${ANTHROPIC_API_KEY}", "api": "anthropic-messages", "models": [ { "id": "claude-3-5-sonnet-20241022", "name": "Claude Sonnet 3.5", "contextWindow": 200000, "maxTokens": 8192 }, { "id": "claude-opus-4-5", "name": "Claude Opus 4.5", "contextWindow": 200000, "maxTokens": 8192 } ] }, "openai-compatible": { "baseUrl": "https://api.example.com/v1", "apiKey": "${PROXY_API_KEY}", "models": [ { "id": "claude-sonnet-proxy", "name": "Proxy Sonnet", "contextWindow": 128000 } ] }, "minimax": { "baseUrl": "https://api.minimax.chat/v1", "apiKey": "${MINIMAX_API_KEY}", "api": "anthropic-messages", "models": [ { "id": "MiniMax-M2.1", "name": "MiniMax M2.1", "contextWindow": 200000 } ] } } }, "agents": { "defaults": { "model": { "primary": "anthropic/claude-3-5-sonnet-20241022", "fallback": "openai-compatible/claude-sonnet-proxy", "reasoning": "anthropic/claude-opus-4-5" } } }}1.3 把 key 放到 .env(强烈推荐)
编辑 ~/.openclaw/.env:
ANTHROPIC_API_KEY=sk-REPLACE_MEPROXY_API_KEY=sk-REPLACE_MEMINIMAX_API_KEY=YOUR_MINIMAX_KEY好处:
- 不会把 key 写进 json
- 不小心 commit 也更不容易泄露(但仍然别提交!)
1.4 一条命令切换默认主力模型
openclaw config set agents.defaults.model.primary "minimax/MiniMax-M2.1"openclaw gateway restart || true1.5 成本优化策略(实战建议)
- 日常对话/轻任务:用便宜模型(代理 / MiniMax / Kimi 等)
- 复杂任务(架构、长文、调试):用更强模型(Opus/强推理模型)
- 做好 fallback:避免单一供应商抽风导致 bot 全部不可用
2. 通道高级控制(白名单 / 群聊必须@ / 配对审批)
2.1 目标
- 只允许你自己/少数人控制 bot(防滥用)
- 群聊必须 @ 才触发(防误触)
- WhatsApp/高风险通道建议关闭自动配对
2.2 示例结构(示意)
{ "channels": { "telegram": { "enabled": true, "botToken": "${TELEGRAM_TOKEN}", "allowFrom": ["@your_username", "123456789"], "groups": { "*": { "requireMention": true } } }, "whatsapp": { "enabled": true, "allowFrom": ["+8613xxxxxxxxx"], "pairing": { "autoApprove": false } }, "feishu": { "enabled": true, "appId": "${FEISHU_APP_ID}", "appSecret": "${FEISHU_APP_SECRET}", "connectionMode": "websocket", "allowFrom": ["ou_xxx_open_id"] } }}2.3 小白建议(照抄即可)
- Telegram:必须
allowFrom+ 群聊requireMention - 飞书:只允许你自己的 open_id
- WhatsApp:小号 + 手动 approve + 白名单手机号
3. 安全与沙箱(最重要:权限白名单 / 端口绑定 / token)
这一节决定你是“安全地玩”,还是“把电脑/VPS 交给公网”。
不要跳过。
3.1 最小权限原则:只开放必要命令
{ "agents": { "defaults": { "permissions": { "allowedCommands": ["ls", "cat", "echo", "git status"], "blockedCommands": ["rm", "sudo", "dd"] } } }}建议:从“只读”开始,确认需求后再逐步放开。
例如想让它重启服务,再加systemctl status/systemctl restart xxx(并配合 allowlist)。
3.2 沙箱隔离(示意)
{ "agents": { "defaults": { "sandbox": { "mode": "non-main", "scope": "session", "workspaceAccess": "read-only" } } }}3.3 gateway 不要暴露公网:绑定本地 + token
{ "gateway": { "bind": "127.0.0.1", "port": 18789, "token": "super-secret-token-here" }}最佳实践:
bind: 127.0.0.1(只本机可访问)- 如果一定要暴露(不推荐),至少要有 token + 防火墙白名单 + 反向代理认证
3.4 运行层面的加固建议
- 不要用 root 跑(VPS 上新建专用用户)
- Docker 部署 + volume 隔离(把权限关在容器里)
- 防火墙只开放必要端口(SSH/反向代理端口)
- 定期备份
~/.openclaw/
4. 代理与网络(国内环境常用)
4.1 临时设置(当前终端有效)
export https_proxy=http://127.0.0.1:7890export http_proxy=http://127.0.0.1:78904.2 长期设置(推荐写入 systemd/容器环境变量)
- Docker:在
docker-compose.yml里加HTTP_PROXY/HTTPS_PROXY - systemd:在 service 文件里加
Environment=...
5. 持久记忆与 Proactive 行为(heartbeat)
5.1 记忆(示意)
{ "agents": { "defaults": { "memory": { "enabled": true, "vectorStore": "local", "embeddings": { "provider": "local" } } } }}建议:如果你非常在意隐私/成本,本地向量库是很好的选择。
如果你要更快的本地检索,可以考虑 sqlite-vec(取决于版本/插件支持情况)。
5.2 主动提醒(heartbeat)(示意)
{ "agents": { "defaults": { "heartbeat": { "every": "30m", "activeHours": { "start": "08:00", "end": "22:00" }, "message": "Hi, idle for 8h, any tasks?" } } }}注意:主动行为一定要配合“白名单 + 群聊必须@”,否则会变成骚扰机器人。
6. 插件与自定义技能(skills / plugins)
6.1 安装插件
openclaw plugins install @xxx/yyy安装后建议:
openclaw gateway restart || trueopenclaw logs | tail -n 1006.2 自定义技能目录
常见位置(示意):~/.openclaw/skills/
你可以把社区 repo clone 进去:
mkdir -p ~/.openclaw/skillscd ~/.openclaw/skillsgit clone https://github.com/someone/some-skill-repo.git技能/插件是高风险入口:只装你信任的来源,并优先在隔离环境测试。
7. 一键自检清单(上线前必做)
7.1 配置检查
openclaw config get > /tmp/openclaw_config_dump.txt || true检查这些点:
- API Key 在
.env,不是明文写进 json -
gateway.bind为127.0.0.1(除非你非常明确要公网暴露) - 通道都有
allowFrom白名单 - 群聊启用
requireMention -
allowedCommands白名单已经最小化
7.2 运行检查
- 重启后无持续报错:
openclaw logs - 只对你允许的账号响应
- 发送高风险指令会被拒绝或需要审批
终极安全提醒(请原样放在你网站)
- 绝不在主力机/有钱包的设备上直接跑完整权限。
- VPS 用专用用户 + 防火墙只开必要端口。
- 定期备份
~/.openclaw/。 - 暴露 gateway 端口(如 18789/8080)极危:必须加 token + 白名单 + 反向代理认证,否则等于把 bot 交给公网。