跳转到内容

最近更新 · 2026-01-30

OpenClaw 高级配置详解(安全加固 / 多模型路由 / 通道精细控制 / 代理与沙箱 / 记忆与主动行为 / 插件技能)

本文是 OpenClaw(原 Moltbot,再之前为 Clawdbot)高级配置的结构化教程,适合已经完成基础安装并跑通一个通道(如 Telegram)的用户。
配置字段在不同版本/插件中可能略有差异:以你本机的 openclaw config get / 日志输出为准
强烈建议优先使用命令行 openclaw config set ... 修改配置,避免手改 JSON 语法错误。


目录


0. 配置文件与推荐工作流

配置文件位置(以新版为准)

  • 主配置:~/.openclaw/openclaw.json(JSON)
  • 敏感密钥:~/.openclaw/.env(推荐放这里,避免明文写入 json)
  • (可选)部分版本:~/.openclaw/config.yaml(不一定支持)

推荐工作流(最稳)

  1. 先用命令写配置(避免 JSON 拼写错误)
  2. 看看当前配置是否写入成功
  3. 重启 gateway / 服务
  4. 发送一条测试消息验证

常用命令:

bash
# 写配置openclaw config set key.value "value" # 读配置(你也可以 get 某个子键)openclaw config get || true # 重启(以你版本支持的命令为准)openclaw gateway restart || openclaw restart

1. 模型高级配置(多提供商 / 路由 / fallback / 成本优化)

1.1 目标

  • 同时配置多个提供商(Anthropic / OpenAI-compatible 代理 / MiniMax 等)
  • 为默认 agent 设置:
    • primary:日常主力模型
    • fallback:超限/失败自动切换
    • reasoning:复杂任务强制使用更强模型

1.2 推荐结构示例(示意)

注意:字段名/路径可能因版本不同略有差异,你可以先把结构写进去,再用 openclaw config get 确认是否生效。

json
{  "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

bash
ANTHROPIC_API_KEY=sk-REPLACE_MEPROXY_API_KEY=sk-REPLACE_MEMINIMAX_API_KEY=YOUR_MINIMAX_KEY

好处:

  • 不会把 key 写进 json
  • 不小心 commit 也更不容易泄露(但仍然别提交!)

1.4 一条命令切换默认主力模型

bash
openclaw config set agents.defaults.model.primary "minimax/MiniMax-M2.1"openclaw gateway restart || true

1.5 成本优化策略(实战建议)

  • 日常对话/轻任务:用便宜模型(代理 / MiniMax / Kimi 等)
  • 复杂任务(架构、长文、调试):用更强模型(Opus/强推理模型)
  • 做好 fallback:避免单一供应商抽风导致 bot 全部不可用

2. 通道高级控制(白名单 / 群聊必须@ / 配对审批)

2.1 目标

  • 只允许你自己/少数人控制 bot(防滥用)
  • 群聊必须 @ 才触发(防误触)
  • WhatsApp/高风险通道建议关闭自动配对

2.2 示例结构(示意)

json
{  "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 最小权限原则:只开放必要命令

json
{  "agents": {    "defaults": {      "permissions": {        "allowedCommands": ["ls", "cat", "echo", "git status"],        "blockedCommands": ["rm", "sudo", "dd"]      }    }  }}

建议:从“只读”开始,确认需求后再逐步放开。
例如想让它重启服务,再加 systemctl status/systemctl restart xxx(并配合 allowlist)。

3.2 沙箱隔离(示意)

json
{  "agents": {    "defaults": {      "sandbox": {        "mode": "non-main",        "scope": "session",        "workspaceAccess": "read-only"      }    }  }}

3.3 gateway 不要暴露公网:绑定本地 + token

json
{  "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 临时设置(当前终端有效)

bash
export https_proxy=http://127.0.0.1:7890export http_proxy=http://127.0.0.1:7890

4.2 长期设置(推荐写入 systemd/容器环境变量)

  • Docker:在 docker-compose.yml 里加 HTTP_PROXY/HTTPS_PROXY
  • systemd:在 service 文件里加 Environment=...

5. 持久记忆与 Proactive 行为(heartbeat)

5.1 记忆(示意)

json
{  "agents": {    "defaults": {      "memory": {        "enabled": true,        "vectorStore": "local",        "embeddings": { "provider": "local" }      }    }  }}

建议:如果你非常在意隐私/成本,本地向量库是很好的选择。
如果你要更快的本地检索,可以考虑 sqlite-vec(取决于版本/插件支持情况)。

5.2 主动提醒(heartbeat)(示意)

json
{  "agents": {    "defaults": {      "heartbeat": {        "every": "30m",        "activeHours": { "start": "08:00", "end": "22:00" },        "message": "Hi, idle for 8h, any tasks?"      }    }  }}

注意:主动行为一定要配合“白名单 + 群聊必须@”,否则会变成骚扰机器人。


6. 插件与自定义技能(skills / plugins)

6.1 安装插件

bash
openclaw plugins install @xxx/yyy

安装后建议:

bash
openclaw gateway restart || trueopenclaw logs | tail -n 100

6.2 自定义技能目录

常见位置(示意):~/.openclaw/skills/
你可以把社区 repo clone 进去:

bash
mkdir -p ~/.openclaw/skillscd ~/.openclaw/skillsgit clone https://github.com/someone/some-skill-repo.git

技能/插件是高风险入口:只装你信任的来源,并优先在隔离环境测试。


7. 一键自检清单(上线前必做)

7.1 配置检查

bash
openclaw config get > /tmp/openclaw_config_dump.txt || true

检查这些点:

  • API Key 在 .env,不是明文写进 json
  • gateway.bind127.0.0.1(除非你非常明确要公网暴露)
  • 通道都有 allowFrom 白名单
  • 群聊启用 requireMention
  • allowedCommands 白名单已经最小化

7.2 运行检查

  • 重启后无持续报错:openclaw logs
  • 只对你允许的账号响应
  • 发送高风险指令会被拒绝或需要审批

终极安全提醒(请原样放在你网站)

  • 绝不在主力机/有钱包的设备上直接跑完整权限。
  • VPS 用专用用户 + 防火墙只开必要端口。
  • 定期备份 ~/.openclaw/
  • 暴露 gateway 端口(如 18789/8080)极危:必须加 token + 白名单 + 反向代理认证,否则等于把 bot 交给公网。