尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OpenClaw 跑 baidu-search Skill:模型 Key 走 TaoToken

OpenClaw 跑 baidu-search Skill:模型 Key 走 TaoToken 在 OpenClaw 里创建 my-first-skill 时我卡在了模型通道上。SKILL.md 写清楚、scripts/search.py 放到位技能还是不动直到把模型推理走通才找到原因。OpenClaw 要跑 baidu-search必须让大模型先理解「去搜索今日AI新闻」再调度脚本这一步需要稳定 Key。我注册了 TaoToken打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建 API Key把 Base URL 填成 https://taotoken.net/api任务立刻下发了。这篇文章就按实际踩坑顺序来先看 Skill 本身在 OpenClaw 里的角色再给本体配好模型 Key然后安装 baidu-search最后跑通「今日AI新闻」并留下排障清单。每个环节都放可复制的配置不绕弯子。1. Skill 与 MCP为什么「能安装」不等于「能跑通」1.1 Skill 是「菜谱」MCP 是「厨房接口」在 OpenClaw 里Skill 是核心扩展机制你可以把一份 Skill 想象成菜谱它规定什么时候做这道菜、先放什么料、用什么火候、最后装盘成什么样。我第一次写 my-first-skill 时就是照着这个思路把 SKILL.md 填满的触发条件、调用步骤、输出格式都写了目录结构也完好以为这样就能跑。但 Skill 本身不执行它解决的是「教 AI 怎么做对」。真正让 AI 能去碰外部工具的是 MCP它负责标准化连接相当于厨房里的水电气管线AI 通过它去开炉灶、用刀具。没有 MCP 的能力供给Skill 只是一份写得再详细也无法执行的文档没有 Skill 的流程编排MCP 也只知道工具能调用却不知道什么时候调、调完怎么用。懂了这个分工后面遇到「技能没反应」就能分清是流程问题还是接口问题了。1.2 一个 Skill 的最小目录结构一个能跑的 Skill 通常长这样my-first-skill/ ├── SKILL.md # 技能说明触发条件、使用步骤、输出格式 ├── scripts/ # 执行脚本 │ └── search.py ├── references/ # 参考文档可选 └── _meta.json # 元数据可选SKILL.md 是 OpenClaw 判断「什么时候派这个技能上场」的依据所以里面要写清楚适用场景和调用方式。scripts 是真正的执行体OpenClaw 不会自己发明脚本内容它负责的是理解你的任务再决定调哪个脚本。如果把 SKILL.md 比作岗位说明书scripts 就是员工的实际产出物两者缺一不可。1.3 模型推理才是那条「隐藏的水管」装好 Skill 遇到空转问题往往不在 SKILL.md 里也不在脚本本身而在模型通道。OpenClaw 是一个智能体网关它依赖大模型完成两件事第一把用户一句自然语言比如「搜索今日AI新闻」拆解成具体动作第二决定哪个 Skill 能完成这个动作并生成调用脚本所需的参数。这个过程每一次都要消耗大模型的 Token必须有真实可用、地址正确的模型接口在背后支撑。如果你的模型 Key 没配、地址填错或者模型 ID 不存在OpenClaw 根本走不到「调用脚本」那一步表现就是日志里没有任何记录。所以先把模型通道打通再谈 Skill 好不好用。下一步给 OpenClaw 本体接上 TaoToken。2. 先给 OpenClaw 本体配好模型 KeyTaoToken 统一通道2.1 去官网拿 API Key准备材料不复杂一个 TaoToken 账号一个 API Key一个以模型广场为准的模型 ID。打开 TaoToken 注册登录在控制台创建 API Key复制出来后先存到临时变量里。注意这里拿到的 Key 是给 OpenClaw 本体做模型推理用的跟后面 baidu-search 技能里的百度 API Key 是两回事别搞混。官网落地页负责注册、创建 Key、看模型广场和用量真正填进 OpenClaw 的接口地址是 https://taotoken.net/api末尾不要加 /v1。这两个地址分开记一个是「人操作页面」一个是「程序填的连接点」。记混了的话OpenClaw 连接时会一直失败。2.2 把 Base URL 写进 OpenClaw 配置OpenClaw 的模型配置可以用环境变量也可以写在 ~/.openclaw/config.json。环境变量适合快速试验config.json 适合固定下来。先给环境变量方式export OPENCLAW_API_KEYYOUR_API_KEY export OPENCLAW_BASE_URLhttps://taotoken.net/api export OPENCLAW_MODELMODEL_ID_FROM_TAOTOKENMODEL_ID_FROM_TAOTOKEN 这个占位符需要你去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 的模型广场确认当前可选模型选好后替换。写进 config.json 则长这样{ model: { provider: taotoken, apiKey: YOUR_API_KEY, baseUrl: https://taotoken.net/api, model: MODEL_ID_FROM_TAOTOKEN } }提示这里填的是程序接口地址 https://taotoken.net/api不是官网落地页。官网页面是给人注册和看用量用的不要填进模型配置。模型 ID 也不要凭记忆手打去模型广场复制最稳。2.3 先做一次最小对话验证配完不要直接去跑搜索技能先做一次最小验证确保证道是通的。在 OpenClaw 对话里随便问一句「你好只回复OK两个字。」如果模型通道正常你能在终端看到 OK如果报出 401 或连接失败立刻检查 apiKey、baseUrl、model 三项。这一步两分钟的事能省下后面排查技能问题的两小时。确认通道通畅后再接 baidu-search。3. 安装 baidu-search从 SkillHub 到手动兜底3.1 SkillHub 安装模型通道稳定后再回头装技能。OpenClaw 的技能来源按优先级排列SkillHub 是首选如果你在中国网络环境它比 ClawHub 更快更稳包结构也经过校验不容易缺文件。安装 baidu-search命令就是npx skills add baidu-search命令执行完OpenClaw 会从 SkillHub 拉取技能包解压到本地技能目录再扫描 SKILL.md 完成注册。注意 npx 是 Node.js 的工具执行器网络要能访问 npm registry。如果这一行直接卡住不动多半是内网出网受限往下看手动兜底方案。3.2 手动安装兜底公司内网限制得比较严时SkillHub 拉不下来是常态。别急着放弃可以让同事帮你在外网环境打包技能目录或者从公司内部的 Git 仓库安装npx skills add gitgit.myscrm.cn:skills/xxx-skills.git手动解压也是合法的兜底方案把技能包解压到 ~/.openclaw/workspace/.agents/skills/baidu-search/然后确认目录里能看到 SKILL.md 和 scripts 文件夹。重点是让 OpenClaw 的文件系统里出现一个结构完整的技能目录缺了 SKILL.md网关根本不会认为它是一个技能。3.3 管理命令速查装好之后建议先跑一下npx skills list这条命令会列出当前已安装的技能同时触发 OpenClaw 重新扫描技能目录。之后的日常操作还有 npx skills check 检查更新、npx skills update 批量更新、npx skills remove baidu-search 卸载技能。管理命令不多但 list 这一步很值得养成习惯它能在你手动解压后快速确认目录是否被识别。4. 实战让 baidu-search 真的去搜「今日AI新闻」4.1 安装后先检查文件结构跑技能前先进入安装目录确认三件事SKILL.md 存在且 frontmatter 格式完整scripts/search.py 存在并且有执行权限_meta.json 里的入口脚本和实际文件名一致。ls -la ~/.openclaw/workspace/.agents/skills/baidu-search/ ls -la ~/.openclaw/workspace/.agents/skills/baidu-search/scripts/如果 search.py 没有执行权限OpenClaw 调用时会直接失败报错可能是 Permission denied。修复方式chmod x scripts/search.py。SKILL.md 的 frontmatter 长这样抄的时候别漏了 name 和 description--- name: baidu-search description: 当用户需要搜索新闻或查询实时信息时使用本技能。 ---description 写得越清楚模型越容易在这个技能和其他技能之间做出正确选择。4.2 配置百度的搜索密钥baidu-search 技能用百度搜索 API 返回结果这一步是脚本自己的密钥跟第 2 章的 TaoToken 无关。去百度 AI 开放平台创建一个应用拿到 API Key 和 Secret Key然后在当前终端里设置两个环境变量export BAIDU_API_KEYYOUR_BAIDU_API_KEY export BAIDU_SECRET_KEYYOUR_BAIDU_SECRET_KEY想把密钥固定下来的话echo export BAIDU_API_KEYYOUR_BAIDU_API_KEY ~/.zshrc echo export BAIDU_SECRET_KEYYOUR_BAIDU_SECRET_KEY ~/.zshrc source ~/.zshrc注意这里的 BAIDU_API_KEY 和你从 TaoToken 拿到的模型 Key 不是同一个东西。搜索请求是脚本直接发给百度的模型通道只负责让 OpenClaw 知道「该发这个请求了」。两者各管一段排障时也要分开看。4.3 先脱离 OpenClaw 测脚本不要一上来就在 OpenClaw 对话框里测那样变量太多。先直接调用脚本确认搜索环节本身可用cd ~/.openclaw/workspace/.agents/skills/baidu-search/scripts python3 search.py 今日AI新闻这一步通过说明百度 API 的鉴权和网络都正常。如果这步已经报错问题就出在百度密钥或脚本依赖跟 OpenClaw 无关先解决脚本再回去测网关。脚本能输出结果再进下一步。4.4 在 OpenClaw 里触发技能并理清调用链路脚本没问题回到 OpenClaw 对话输入「使用百度搜索一下今天的人工智能新闻」。OpenClaw 收到这句话后完整链路是大模型先理解任务意图这一步走的正是你在第 2 章配置的 TaoToken 模型通道然后 OpenClaw 匹配到 baidu-search 的 SKILL.md决定调用 scripts/search.py脚本拿着百度 API Key 去请求搜索接口把结果整理成文本返回给对话窗口。如果第 4.3 步脚本能正常输出但对话里 OpenClaw 不调用技能问题几乎都出在模型通道要么模型没有正确理解「应该使用搜索技能」要么 SKILL.md 的触发条件写得太含糊。前者回头检查 2.2 里的配置后者去改 SKILL.md 的 description让它更贴近用户问法。5. SSL、401 与技能不生效跑 baidu-search 的真实排障5.1 SSL 证书验证失败公司内网经常出现这个报错SSL: CERTIFICATE_VERIFY_FAILED。出现原因是技能包下载或百度 API 调用的证书链不完整。优先做法是联系网络管理员安装公司根证书如果只是本机缺少中间证书可以用 pip 更新一下 certifi 再重试脚本pip install --upgrade certifi python3 -c import certifi; print(certifi.where())注意不要为了绕过报错去关闭 SSL 验证那会把你的 Key 明文暴露在网络里。证书问题的核心是信任链把根证书补上才是正解。5.2 OpenClaw 报 401 或 Missing API key这是模型通道没配好跟百度 Key 无关。排查顺序先看环境变量echo $OPENCLAW_API_KEY echo $OPENCLAW_BASE_URL确认 OPENCLAW_API_KEY 对应的正是你在 TaoToken 控制台创建的那个 Key不要带引号不要有多余空格。再确认 OPENCLAW_BASE_URL 是 https://taotoken.net/api不是官网落地页。很多人会把这两个地址搞混记住一句话人用落地页机器用接口地址。接口地址末尾也不要习惯性加 /v1OpenClaw 会自己拼路径多加了反而连不上。5.3 技能不生效日志里没有脚本调用如果对话里 OpenClaw 一直空转、日志看不到脚本调用记录按下面顺序排查ls ~/.openclaw/workspace/.agents/skills/baidu-search/ head -30 ~/.openclaw/workspace/.agents/skills/baidu-search/SKILL.md tail -f ~/.openclaw/logs/gateway.logSKILL.md 的 description 如果写得太笼统模型会犹豫要不要派技能。比如只写「搜索工具」就太泛写成「当用户需要搜索新闻、查询实时信息或了解最近发生的事件时使用」就明确得多。如果 gateway.log 里一直没有新的脚本调用记录说明问题又在模型理解环节先回到 2.3 的最小对话验证确认模型通道还活着。6. 技能组合与模板后续还能怎么玩6.1 技能组合搜索完再送一步baidu-search 只是第一步OpenClaw 支持多个技能按顺序协同。比如搜索到「今日AI新闻」后可以让另一个技能把结果格式化再交给一个消息通知类技能发送到群聊。这个组合不复杂本质上是让模型根据多个 SKILL.md 的描述把任务切分成先搜索、再整理、最后发送。每个技能只负责自己那一段模型通道始终走同一个 Key不需要为每个技能单独配模型这也是统一接入通道最省心的地方。6.2 把自己的技能模板固化下来下次要写新技能时不用从零开始mkdir -p my-skill-template/{scripts,references} touch my-skill-template/SKILL.md my-skill-template/scripts/main.py cp -r my-skill-template ~/.openclaw/workspace/.agents/skills/new-skill然后照着 baidu-search 的 SKILL.md 结构填触发条件把 scripts 里的业务逻辑替换成你自己的。如果你的新技能也要消耗模型 Token第 2 章的配置依然有效同一个 OPENCLAW_API_KEY 可以支撑多个技能同时跑。调完技能后顺手去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 的用量页面看一眼刚才那次「今日AI新闻」的调度究竟消耗了多少 token这个数据会帮你判断后续还敢不敢让模型再多拆几步。
返回列表