1. 为什么你的 OpenClaw 装完就吃灰
很多人把 OpenClaw 装好、扫码接上飞书或 QQ,发两句“你好”之后就不知道下一步干什么了。问题不在工具本身,而在于默认配置只给了你一只“会聊天的龙虾”,没给它技能、没给它分工、没给它护栏。我见过太多实例跑了一周,Token 账单几百块,实际产出还不如手动干十分钟。
这篇内容聚焦四条主线:技能扩展、多 Agent 协作、成本控制、安全加固。每条线我都会给出可直接复制的config.toml与settings.json骨架、多 Agent 编排示例,以及验证动作。你不需要从头读完,按需跳到对应章节,复制配置、跑一条验证命令,就能确认这一项是否落地。
适合谁看:已经完成 OpenClaw 基础安装、能打开 Web 控制台、至少接入过一个聊天频道的用户。如果你还没装好,先去把网关跑起来,再回来跟这篇的配置。
先明确一个前提:OpenClaw 的所有行为最终都落在两个地方——工作空间里的 Markdown 文件(人格、记忆、技能说明)和核心配置文件(模型、频道、工具开关)。所谓“进阶玩法”,本质就是有策略地改这两类文件,而不是靠对话里反复叮嘱。下面所有技巧都围绕这个原则展开。
2. TaoToken 前置:把模型接入这步做扎实
在折腾技能和多 Agent 之前,先把模型接入这层打牢。OpenClaw 支持多家模型服务商,配置方式是在核心配置里声明 provider 和模型名。如果你希望统一管理密钥、方便切换模型、并且有一个稳定的 API 入口,可以用 TaoToken 作为接入层。
TaoToken 的 API 地址是https://taotoken.net/api,兼容 OpenAI 风格的调用格式。在 OpenClaw 里配置时,把它当作一个自定义 provider 即可。先拿到 API Key:进入控制台的 API Keys 页面创建一个密钥,复制保存。这个 Key 后面会写进环境变量,不要直接硬编码进配置文件。
配置模型 provider 的骨架如下,写入~/.openclaw/openclaw.json的models段:
{ "models": { "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "models": [ { "id": "claude-sonnet-4-6", "name": "Claude Sonnet 4.6" }, { "id": "glm-4.7-flash", "name": "GLM 4.7 Flash" } ] } } } }注意apiKey用的是环境变量引用${TAOTOKEN_API_KEY},而不是明文。在终端里设置:
export TAOTOKEN_API_KEY="你的密钥"如果你用的是 systemd 或 Docker 启动网关,把这条环境变量写进对应的 service 文件或docker-compose.yml的environment段,否则重启后密钥会丢。
设置默认模型和降级模型:
openclaw models set taotoken/claude-sonnet-4-6 openclaw models fallbacks add taotoken/glm-4.7-flash降级模型的作用是:主力模型欠费、限流或服务异常时,OpenClaw 自动切到备用模型,保证对话不中断。这一步做完,用openclaw models status确认认证状态是正常的。如果显示未认证,检查环境变量是否在当前 shell 生效,以及 baseUrl 是否写成了带路径的完整地址。
模型接入文档里有更细的参数说明,包括超时、重试、并发限制,建议对照自己的使用场景调一遍。验证模型是否真的通了,最直接的办法是在模型对话页面发一条测试消息,看返回是否正常。
3. 可复制配置:技能、多 Agent、省钱、安全四件套
这一章是全文的核心,给出四类配置的完整骨架。你可以把每一段单独复制到对应文件里,改完重启网关验证。
3.1 技能系统配置骨架
技能的本质是skills/目录下的一个文件夹,里面必须有SKILL.md。OpenClaw 在需要时自动加载。配置技能的关键不是装得多,而是按需开启。在settings.json里控制技能开关:
{ "skills": { "enabled": ["multi-search-engine", "nano-banana-pro"], "disabled": ["clawhub", "find-skills"], "autoLoad": false } }autoLoad设为false是省钱的关键:技能说明文件本身会占用上下文,全量加载会让每次请求的 Token 消耗翻倍。建议先把内置技能全部关闭,用到哪个再开哪个。
安装技能有三种方式,推荐用命令行工具,稳定且可复现:
npm i -g clawhub clawhub install multi-search-engine或者用 NPX 工具从 GitHub 仓库安装:
npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser安装后到 Web 控制台的技能模块确认状态是eligible,然后在代理模块里给对应的 Agent 开启。验证动作:在对话里用/{技能名}触发,比如/multi-search-engine 搜索 OpenClaw 最新版本,看是否返回搜索结果。
3.2 多 Agent 编排配置
多 Agent 的价值在于隔离:不同 Agent 有独立的工作空间、记忆和人格。创建两个 Agent:
openclaw agents add coding openclaw agents add review然后在openclaw.json里配置路由绑定,让不同频道的消息分发给不同 Agent:
{ "agents": { "list": [ { "id": "main", "workspace": "~/.openclaw/workspace" }, { "id": "coding", "workspace": "~/.openclaw/workspace-coding" }, { "id": "review", "workspace": "~/.openclaw/workspace-review" } ] }, "bindings": [ { "channel": "feishu", "account": "coding-bot", "agent": "coding" }, { "channel": "feishu", "account": "review-bot", "agent": "review" } ] }开启 Agent 间通信,让它们能互相派活:
openclaw config set tools.agentToAgent.enabled true openclaw config set tools.agentToAgent.allow '["main","coding","review"]' --strict-json openclaw config set tools.sessions.visibility "all" openclaw gateway restart然后在主 Agent 的AGENTS.md末尾追加协作说明,告诉它什么时候用sessions_send(同步快速问答),什么时候用sessions_spawn(异步耗时任务)。验证动作:让主 Agent 派一个任务给 coding Agent,在 Web 控制台看任务是否成功派发并返回结果。
3.3 成本控制配置
省钱的核心是减少无效上下文和选对模型。在settings.json里设置子 Agent 用便宜模型:
{ "agents": { "defaults": { "subagents": { "model": "taotoken/glm-4.7-flash" }, "heartbeat": { "every": "0m" } } } }heartbeat.every设为0m是关闭心跳巡逻,个人用户基本用不到,关掉能省一笔。再配合几个斜杠命令:聊完一个话题用/new开新会话,上下文太长用/compact压缩,简单问题用/fast on让回复更简短。验证动作:用/status查看当前会话的 Token 用量,对比开启前后的差异。
3.4 安全加固配置
安全这块必须动真格。在settings.json里开启执行审批,限制危险工具:
{ "tools": { "exec": { "requireApproval": true }, "write": { "requireApproval": true }, "browser": { "enabled": false } }, "channels": { "feishu": { "allowFrom": ["你的用户ID"] } } }allowFrom限制只有你能跟龙虾对话,防止陌生人发消息控制你的电脑。requireApproval让删除、写文件这类不可逆操作必须二次确认。另外,在 API 平台设好每日消费上限,别等账单出来才后悔。验证动作:尝试让 Agent 执行一条删除命令,看是否弹出审批提示。
4. 验证请求与成功结果
配置改完不验证,等于没改。这一章给出每类配置的验证命令和预期结果。
模型接入验证:
openclaw models status预期输出里能看到taotoken/claude-sonnet-4-6状态为authenticated,降级模型也在列表里。如果显示unauthenticated,检查环境变量和 baseUrl。
技能验证:在对话里输入/multi-search-engine 测试搜索,预期返回搜索结果列表。如果提示技能不可用,去技能模块确认状态是eligible,并且已经给当前 Agent 开启。
多 Agent 验证:在 Web 控制台的 Agent 列表里能看到main、coding、review三个 Agent,各自工作空间独立。给主 Agent 发一条“派 coding 写一个 Python 快排”,预期在控制台看到任务派发记录和 coding Agent 的执行日志。
成本验证:用/usage tokens开启用量显示,发一条消息,看回复末尾的 Token 数。对比关闭技能、开启/fast前后的数值,确认省钱配置生效。
安全验证:让 Agent 执行rm -rf /tmp/test,预期弹出审批确认,而不是直接执行。如果直接执行了,说明requireApproval没生效,检查配置路径是否正确。
网关健康检查:
openclaw doctor openclaw doctor --fixdoctor会扫描配置、频道、模型认证等问题,--fix自动修复能修的部分。每次大改配置后跑一遍,能省很多排查时间。
5. 本篇常见错排查
配置过程中最容易踩的坑,我按出现频率排一下。
第一个坑:改了openclaw.json但没重启网关。OpenClaw 的配置在网关启动时加载,改完必须openclaw gateway restart,否则不生效。很多人以为改错了,其实是没重启。
第二个坑:JSON 格式错误。多一个逗号、少一个引号、加了中文注释,都会导致配置解析失败。建议在 VSCode 里打开,它会自动标红。改完用openclaw doctor验证格式。
第三个坑:环境变量没生效。export只在当前 shell 有效,重启终端或换用户就丢了。用 systemd 的话写进 service 文件,用 Docker 的话写进 compose 文件。
第四个坑:技能装了但状态不是eligible。常见原因是SKILL.md缺失或格式不对,或者技能依赖的工具没开启。去技能模块看具体报错。
第五个坑:多 Agent 路由不生效。检查bindings里的account名称是否和频道配置里的账号名完全一致,大小写敏感。改完重启网关。
第六个坑:子 Agent 派出去不回来。sessions_send默认等 30 秒,复杂任务会超时。改用sessions_spawn异步派发,对方干完自动汇报。
第七个坑:安全配置把自己锁死。allowFrom填错了用户 ID,导致自己都发不了消息。改配置前先备份,出问题用 Git 回滚。
如果以上都排查完还是有问题,用openclaw logs --follow看实时日志,把报错发给 AI 分析。日志里通常有明确的错误码和堆栈。
6. 把配置管起来,让龙虾越养越稳
最后说一个容易被忽略但极其重要的习惯:用 Git 托管~/.openclaw目录。养龙虾的过程中,改错文件、人格损坏、配置冲突是常态,有版本控制就能随时回滚。
先配好.gitignore,忽略不需要管理的内容:
cd ~/.openclaw cat > .gitignore << 'EOF' browser/ media/ logs/ openclaw.json.bak **/node_modules/ agents/*/sessions/*.jsonl agents/*/sessions/sessions.json update-check.json EOF git init git add . git commit -m "init: OpenClaw 配置备份"注意,这个仓库只放本地,千万别推到公开的 GitHub,里面可能有 API Key 和 App Secret。配好之后,可以让龙虾建个定时任务,每天凌晨自动提交一次快照:
openclaw cron add --name "config-backup" --schedule "0 3 * * *" --task "cd ~/.openclaw && git add . && git commit -m 'auto backup'"这样即使 AI 手滑把配置搞崩了,也能一条git checkout回到任意历史版本。配合前面讲的openclaw doctor健康检查,你的 OpenClaw 实例会越跑越稳。
如果你在配置过程中需要查具体的 API 参数或接入细节,可以对照接入文档;想验证模型是否正常工作,去模型对话页面发条消息试试;长期跑编码和 Agent 任务的话,Coding Plan 会更划算。配置这件事,改一次、验一次、备份一次,三步走完才算真正落地。