OpenClaw 装完 ClawHub Skills,默认模型通道还是空的?TaoToken 这样改 openclaw.json
如果你最近也在折腾 OpenClaw,大概率会遇到一个很典型的场景:照着教程把 ClawHub 上的github、summarize、tavily-web-search都装好了,~/.openclaw/openclaw.json里skills.entries也填了GITHUB_TOKEN、TAVILY_API_KEY,结果在聊天里喊一句“用 summarize 总结一下”,OpenClaw 却像没听见一样,Skill 完全不触发。
问题往往不在 Skill 本身,而在于默认模型通道是空的。OpenClaw 的 Skills 是“手脚”,但驱动手脚的“大脑”是模型。模型通道没配好,Skill 再全也跑不起来。这篇就按排障视角,把openclaw.json里模型这一段补上,让 OpenClaw 的模型调用统一走 TaoToken(官网:https://taotoken.net/?utm_source=taotoken_aicg_blog_end ),Skill 自己的第三方 Key 照旧留在entries里,两者互不干扰。
一、原问题与场景:Skill 装了,为什么聊天里没反应
先把现象拆清楚。很多人装完 ClawHub Skills 后,npx clawhub@latest list能列出github、summarize、tavily-web-search,说明 Skill 已经加载成功。但一发指令就沉默,常见原因有三类:
第一类,模型通道未配置。OpenClaw 的“环境准备”里明确把“已配置默认 AI 模型、gateway 可正常启动”列为使用 Skills 的前提。但不少教程在讲 3.2 节安装 Skills 时,重点全放在entries里的第三方 Key,模型这一段被略过了。结果就是 Skill 加载了,但 OpenClaw 没有可用的模型去理解“使用 summarize 把这段长文总结成 3 条要点”这句话,自然不触发。
第二类,Base URL 写法不对。有人随手填了带/v1的地址,或者把带跟踪参数的完整链接直接粘进去,导致请求路径拼接异常,模型调用直接失败。
第三类,第三方 Key 和模型 Key 混在一起。GITHUB_TOKEN、TAVILY_API_KEY是 Skill 自己访问外部服务用的,跟模型通道是两回事。把模型 Key 填进entries,或者把 Skill 的 Key 填进模型配置,都会让两边都跑不通。
这篇要解决的就是第一类和第二类:把模型通道补上,Base URL 写对,让 OpenClaw 的模型调用统一走 TaoToken。Skill 的第三方 Key 继续留在entries里,各管各的。
二、TaoToken 前置:注册、创建 Key、拿到 Base URL
在改openclaw.json之前,先把模型通道的凭证准备好。这一步很快,但顺序别搞反。
打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end ,注册账号并登录。进入控制台后,找到 API Keys 页面,创建一个新的 Key。这个 Key 就是后面要回填到openclaw.json模型配置项里的凭证,记好它,别和 Skill 的GITHUB_TOKEN弄混。
Base URL 这一项要特别注意:写https://taotoken.net/api,不带/v1,也不加任何跟踪参数。很多请求跑不通,就是因为这里多写了/v1或者把带参数的完整链接粘了进去。OpenClaw 在拼接请求时会自己处理路径,你只需要给它一个干净的根地址。
如果你后面还要用 Coding Plan 做长期编码或 Agent 任务,可以在控制台里对应开通;但本篇只解决“模型通道为空”这个排障问题,先把基础通道打通。模型对话、API Keys、接入文档这些入口都在控制台里能找到,排障时优先看 API Keys 和接入文档两处。
三、可复制配置:改 openclaw.json 的模型段
现在进入正题,编辑~/.openclaw/openclaw.json。这个文件同时管 Skills 和模型,所以改的时候要分清两段:skills.entries是 Skill 的第三方 Key,模型配置是另一段。下面给一份可直接参考的结构,把模型通道指向 TaoToken。
{ "model": { "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "YOUR_API_KEY", "model": "你的模型ID" }, "skills": { "entries": { "github": { "enabled": true, "apiKey": "GITHUB_TOKEN_HERE", "env": { "GITHUB_TOKEN": "GITHUB_TOKEN_HERE" } }, "tavily-web-search": { "enabled": true, "env": { "TAVILY_API_KEY": "你的 Tavily API Key" } } } } }几个关键点逐条说清楚:
baseUrl写https://taotoken.net/api,不带/v1,不加 UTM。这是最容易出错的地方,务必核对一遍。
apiKey填你在 TaoToken 控制台创建的那个 Key,也就是YOUR_API_KEY的位置。不要填GITHUB_TOKEN,也不要填TAVILY_API_KEY。
model填你要用的模型 ID。具体可用哪些模型,在控制台的模型对话或接入文档里能看到,按需选一个填进去。
skills.entries这一段保持原样,GITHUB_TOKEN、TAVILY_API_KEY继续留在这里。TaoToken 只提供模型通道的 Key 与 Base URL,不接管 Skill 自己的第三方凭证。两段各司其职,不要互相覆盖。
改完保存文件。如果 OpenClaw 的 gateway 正在运行,重启一下让它重新读取配置;如果开了load.watch,也可以等它自动刷新。
四、验证请求:从 list 到 summarize 跑通
配置改完,别急着下复杂指令,按顺序验证两步。
第一步,确认 Skill 已加载:
npx clawhub@latest list输出里应该能看到github、summarize、tavily-web-search。如果这里就缺了某个 Skill,说明是安装或加载路径的问题,先回到 ClawHub 安装那一步排查,跟模型通道无关。
第二步,发一条能同时验证模型通道和 Skill 触发的指令。在 OpenClaw 聊天里输入:
使用 summarize 把这段长文总结成 3 条要点:[粘贴一段长文]如果模型通道配对了,OpenClaw 会先理解这条指令,然后调用summarizeSkill 去处理长文,最后返回 3 条要点。这一步跑通,说明模型通道和 Skill 两条链路都正常。
如果没反应,回到 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 控制台看调用记录。有调用记录但报错,多半是 Base URL 或模型 ID 的问题;完全没有调用记录,说明 OpenClaw 根本没发出模型请求,回去检查openclaw.json的模型段是不是没被读到,或者 gateway 没重启。
五、本篇常见错排查
排障视角下,把几个高频错误集中列一下,对照着查会快很多。
错误一:Base URL 带了/v1。写成https://taotoken.net/api/v1会导致路径拼接异常。正确写法是https://taotoken.net/api,不带/v1。
错误二:Base URL 带了跟踪参数。把带utm_source等参数的完整链接直接粘进去,请求会失败。Base URL 只要干净的https://taotoken.net/api。
错误三:模型 Key 和 Skill Key 混填。把GITHUB_TOKEN填进模型apiKey,或者把 TaoToken 的 Key 填进entries,两边都会跑不通。模型 Key 归模型段,Skill Key 归entries。
错误四:改了配置没重启 gateway。openclaw.json改完不重启,旧配置还在内存里,模型通道依然是空的。重启 gateway 或确认load.watch生效。
错误五:npx clawhub@latest list里没有目标 Skill。这是 Skill 安装问题,不是模型通道问题。先确认安装命令执行成功,再确认加载路径(工作区skills、本地~/.openclaw/skills、内置)里能找到对应目录。
错误六:控制台有调用记录但返回错误。优先核对模型 ID 是否填对,以及该模型是否在你的账号权限范围内。接入文档里有可用的模型列表,对照着改。
排查顺序建议:先看list确认 Skill 在不在,再看控制台调用记录确认请求有没有发出去,最后核对 Base URL 和模型 ID。三步走完,基本能定位到具体哪一环断了。
六、语义一致 CTA:把模型通道固定下来
模型通道这件事,配一次就该固定下来。OpenClaw 的 Skills 会越装越多,但模型通道是底座,底座不稳,上面装什么都会晃。
如果你还在排障阶段,先去 https://taotoken.net/api-keys 创建 Key,再对照 https://taotoken.net/doc 的接入文档核对openclaw.json的模型段写法。Base URL 记住是https://taotoken.net/api,不带/v1,不加参数。
如果你已经跑通了单次 summarize,接下来要长期用 OpenClaw 做编码或 Agent 任务,可以在控制台里看看 Coding Plan,把模型通道的用量和权限规划好,避免后面 Skill 越装越多时又回头补配置。
排障的核心就一句话:Skill 的 Key 留在entries,模型的 Key 和 Base URL 走 TaoToken,两段分清,openclaw.json就不会再出现“模型通道为空”的情况。配完发一条 summarize 验证,不通就回控制台看调用记录,按第五节的顺序逐条排查,基本都能解决。