1. 从零跑通 OpenClaw Skill:新手最容易卡在哪
OpenClaw 是一个把大模型能力接到本地文件、浏览器、命令行上的开源智能体框架,Skill 则是它最核心的扩展单元——你可以把 Skill 理解成给智能体装上的“插件”,装上文件系统 Skill 它就能批量整理目录,装上网页监控 Skill 它就能盯着某个页面等降价。适合谁?适合刚装完 OpenClaw、看着一堆 Skill 名字却不知道怎么配、怎么调、怎么验证的开发者。我见过太多人卡在同一个地方:Skill 装上了,但模型请求发不出去,或者发出去了返回 401,最后误以为是 Skill 本身有问题。
真实场景是这样的:你在 clawhub 上看到一个心动的 Skill,复制了它的安装命令,openclaw skill install跑完显示成功,然后你在对话里输入触发词,结果要么没反应,要么报一个local proxy failed,要么干脆卡在reading choices不动。问题往往不在 Skill,而在两件事——Skill 的配置文件没写对,以及模型调用的 Base URL / Key / Model ID 三件套没统一。
这篇内容我按 15 个实战案例来写,每个案例给你可复制的 Skill 配置片段和调用示例,同时把 TaoToken 作为统一调用入口串进去。为什么用 TaoToken?因为 OpenClaw 默认要你分别填不同厂商的 Key,Claude 一个、GPT 一个,切换模型就得改配置,而 TaoToken 提供统一的 OpenAI 兼容接口,一个 Key 就能在多个模型之间切换,对新手来说少踩很多坑。官网地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api ,后面所有配置都围绕这两个地址展开。
先说清楚整体结构,避免你迷路。OpenClaw 的 Skill 一般放在~/.openclaw/skills/目录下,每个 Skill 一个文件夹,里面至少有一个skill.json(描述元信息、触发词、参数)和一个可执行脚本(Python 或 Node)。模型调用配置则在~/.openclaw/config.json或环境变量里。你要做的三件事:装 Skill、配模型、验证调用。下面 15 个案例会反复用到这三步,只是 Skill 内容不同。
我试过把 15 个 Skill 一次性全装上,结果配置文件互相覆盖,排查了半天。所以建议你一个一个来,装完一个验证一个,跑通了再装下一个。下面从最基础的文件处理开始,逐步过渡到数据抓取和自动化任务。
2. TaoToken 前置:统一 Key 与 OpenClaw 模型配置
在装任何 Skill 之前,先把模型调用这条链路打通,否则后面每个 Skill 报错你都会怀疑是 Skill 的问题。OpenClaw 支持多种模型后端,最省心的方式是走 OpenAI 兼容协议,而 TaoToken 正好提供这个协议的统一入口。你需要准备三样东西:Base URL、API Key、Model ID。
Base URL 填https://taotoken.net/api,注意这里不加任何 UTM 参数,保持干净。API Key 去控制台创建,地址是 https://taotoken.net/console ,创建后复制那串sk-开头的字符串。Model ID 则根据你要用的模型填,比如claude-sonnet-4-20250514、gpt-4o这类,具体可用列表在文档里查,文档入口 https://taotoken.net/doc 。
配置方式有两种,环境变量和配置文件。环境变量适合临时测试:
export OPENAI_BASE_URL="https://taotoken.net/api" export OPENAI_API_KEY="sk-你的Key" export OPENCLAW_MODEL="claude-sonnet-4-20250514"配置文件适合长期使用,编辑~/.openclaw/config.json:
{ "model": { "provider": "openai-compatible", "base_url": "https://taotoken.net/api", "api_key": "sk-你的Key", "model_id": "claude-sonnet-4-20250514", "timeout": 60 }, "skills_dir": "~/.openclaw/skills", "log_level": "info" }这里有个细节要注意:provider必须写openai-compatible,不要写openai,否则 OpenClaw 会去连官方地址而不是你填的 Base URL。这是新手最常犯的错之一,报错通常是连接超时或 404。
如果你用的是 Claude Code 这类工具,配置思路一样,只是文件位置不同。Claude Code 的配置在~/.claude/settings.json,写法是:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的Key" } }注意 Claude Code 用的是ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY这两个变量名,别和 OpenAI 的混了。如果你同时用 Cline 或 Codex,它们的配置也类似,Cline 在 VS Code 设置里填 Base URL 和 Key,Codex 在~/.codex/auth.json里填。三件套永远是 Base URL + Key + Model ID,缺一不可。
配好之后先别急着装 Skill,用一条 curl 验证模型链路通不通:
curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的Key" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "回复ok"}] }'返回里有choices数组且内容正常,说明链路通了。如果返回 401,检查 Key 有没有复制全;如果返回local proxy failed,检查 Base URL 是不是写成了带 UTM 的地址或者多了斜杠。这一步过了,再往下装 Skill 才有意义。
3. 15 个 Skill 可复制配置与调用示例
这一节是主体,15 个案例逐个给配置和调用。每个案例的结构是:Skill 用途一句话、安装命令、skill.json关键字段、调用示例、预期结果。你可以按顺序跟做,也可以挑需要的跳着做。
3.1 文件系统管理 Skill:批量整理目录
用途是列表、搜索、批量处理和目录分析。安装:
openclaw skill install clawdbot-filesystemskill.json关键配置:
{ "name": "clawdbot-filesystem", "trigger": ["列出文件", "搜索文件", "整理目录"], "params": { "path": {"type": "string", "required": true}, "pattern": {"type": "string", "required": false} }, "entry": "filesystem.py" }调用示例:在对话里输入“列出 ~/Downloads 下所有 pdf 文件”,OpenClaw 会解析出 path 和 pattern 传给 Skill。预期返回文件列表和数量。这个 Skill 是所有文件类操作的基础,建议第一个装。
3.2 PDF 批量处理工具箱:提取与合并
用途是提取文本表格、合并拆分、填表单。安装:
openclaw skill install pdf配置片段:
{ "name": "pdf", "trigger": ["提取PDF", "合并PDF", "拆分PDF"], "params": { "action": {"type": "string", "enum": ["extract", "merge", "split"]}, "input": {"type": "string", "required": true}, "output": {"type": "string", "required": false} }, "entry": "pdf_tool.py" }调用:“把 ~/docs 下所有 pdf 合并成一个 merged.pdf”,预期在 ~/docs 生成合并文件。注意大文件处理时把timeout调大,默认 60 秒可能不够。
3.3 网站信息监控 Skill:盯页面变更
用途是监控网页内容变更并提醒,支持 CSS 选择器。安装:
openclaw skill install web-monitor配置:
{ "name": "web-monitor", "trigger": ["监控网页", "页面变更", "价格监控"], "params": { "url": {"type": "string", "required": true}, "selector": {"type": "string", "required": false}, "interval": {"type": "integer", "default": 3600} }, "entry": "monitor.py" }调用:“监控 https://example.com/price 的 .price 元素,每小时检查一次”。预期返回首次快照,之后有变更时输出差异。这个 Skill 配合定时任务用效果最好。
3.4 电子商务价格观察员:多商品比价
用途是追踪电商价格并在达到目标价时提醒。安装:
openclaw skill install ecommerce-price-watcher配置:
{ "name": "ecommerce-price-watcher", "trigger": ["监控价格", "降价提醒", "比价"], "params": { "urls": {"type": "array", "required": true}, "target_price": {"type": "number", "required": false} }, "entry": "price_watch.py" }调用:“监控这两个链接,低于 299 提醒我”。预期返回当前价格和是否触发提醒。
3.5 旅游价格下降与签证提醒
用途是规划旅行价格监控和签证进度提醒,只读不预订。安装:
openclaw skill install travel-price-drop-visa-reminder配置:
{ "name": "travel-price-drop-visa-reminder", "trigger": ["机票降价", "签证提醒", "旅行清单"], "params": { "route": {"type": "string", "required": true}, "date": {"type": "string", "required": false} }, "entry": "travel.py" }调用:“监控北京到东京 5 月的机票,降价提醒我”。预期返回价格趋势和提醒设置。
3.6 每日天气智能播报
用途是查询指定城市天气,含温度、降水、风力。安装:
openclaw skill install free-weather-api配置:
{ "name": "free-weather-api", "trigger": ["天气", "天气预报", "气温"], "params": { "city": {"type": "string", "required": true}, "days": {"type": "integer", "default": 1} }, "entry": "weather.py" }调用:“上海未来三天天气”。预期返回结构化天气数据。这个 Skill 适合做每日定时播报。
3.7 学术研究中心:论文检索与引文
用途是搜索论文、下载文档、提取引文,支持 arXiv、PubMed 等。安装:
openclaw skill install academic-research-hub配置:
{ "name": "academic-research-hub", "trigger": ["查找论文", "搜索研究", "获取引文"], "params": { "query": {"type": "string", "required": true}, "source": {"type": "string", "default": "arxiv"} }, "entry": "research.py" }调用:“查找关于 diffusion model 的论文”。预期返回论文列表和摘要。
3.8 主题监控 Skill:主动预警
用途是监控特定主题并在有进展时报警。安装:
openclaw skill install topic-monitor配置:
{ "name": "topic-monitor", "trigger": ["监控主题", "主题预警"], "params": { "topic": {"type": "string", "required": true}, "keywords": {"type": "array", "required": false} }, "entry": "topic.py" }调用:“监控 AI 芯片相关的新闻”。预期返回匹配到的进展条目。
3.9 B站热门视频监控
用途是生成 B 站热门日报并邮件发送。安装:
openclaw skill install bilibili-hot-monitor配置:
{ "name": "bilibili-hot-monitor", "trigger": ["B站热门", "bilibili日报"], "params": { "top_n": {"type": "integer", "default": 10}, "email": {"type": "string", "required": false} }, "entry": "bili.py" }调用:“生成今天的 B 站热门日报”。预期返回热门视频列表。
3.10 微信自动回复 Skill
用途是半自动回复微信消息,置信度高于 85% 自动发送。安装:
openclaw skill install wechat-auto-reply配置:
{ "name": "wechat-auto-reply", "trigger": ["微信自动回复"], "params": { "keyword": {"type": "string", "required": true}, "content": {"type": "string", "required": false} }, "entry": "wechat.py" }调用:“微信自动回复 股市名称”。预期返回回复内容或确认发送。
3.11 待办事项 Skill:任务分解
用途是把大任务拆成小步骤并动态调整。安装:
openclaw skill install todo-skill配置:
{ "name": "todo-skill", "trigger": ["待办", "任务分解", "拆解任务"], "params": { "task": {"type": "string", "required": true} }, "entry": "todo.py" }调用:“把发布一个开源项目拆成步骤”。预期返回分步清单。
3.12 健身计划自动生成
用途是生成铁人三项、马拉松训练计划,可同步 Strava。安装:
openclaw skill install clawd-coach配置:
{ "name": "clawd-coach", "trigger": ["训练计划", "马拉松计划", "健身计划"], "params": { "goal": {"type": "string", "required": true}, "weeks": {"type": "integer", "default": 12} }, "entry": "coach.py" }调用:“给我一个 12 周半马训练计划”。预期返回周期性计划表。
3.13 AI 视频脚本生成器
用途是生成含分镜、画面提示词、配音文案的完整脚本。安装:
openclaw skill install ai-video-script配置:
{ "name": "ai-video-script", "trigger": ["视频脚本", "分镜", "短视频文案"], "params": { "topic": {"type": "string", "required": true}, "duration": {"type": "integer", "default": 60} }, "entry": "script.py" }调用:“生成一个 60 秒的咖啡探店视频脚本”。预期返回分镜表。
3.14 获取外卖优惠券
用途是获取外卖平台隐藏优惠券。安装:
openclaw skill install obtain-takeout-coupon配置:
{ "name": "obtain-takeout-coupon", "trigger": ["外卖优惠券", "领券"], "params": { "platform": {"type": "string", "default": "meituan"} }, "entry": "coupon.py" }调用:“帮我找美团外卖优惠券”。预期返回可用券信息。
3.15 OpenClaw 备份 Skill
用途是备份和恢复 OpenClaw 数据,正确处理~/.openclaw目录。安装:
openclaw skill install openclaw-backup配置:
{ "name": "openclaw-backup", "trigger": ["备份", "恢复备份", "自动备份"], "params": { "action": {"type": "string", "enum": ["backup", "restore"]}, "path": {"type": "string", "required": false} }, "entry": "backup.py" }调用:“备份 OpenClaw 数据”。预期在指定目录生成归档文件。这个 Skill 建议最后装,装完立刻备份一次,后面折腾坏了能恢复。
15 个案例的配置都给了,你会发现它们的skill.json结构高度一致,区别只在 trigger 和 params。掌握一个,其余照葫芦画瓢即可。
4. 验证请求与成功结果:跑通第一个 Skill
配置写完不算完,必须验证。以文件系统 Skill 为例,完整走一遍。先确认 Skill 装好了:
openclaw skill list输出里应该能看到clawdbot-filesystem状态是enabled。如果状态是error,去看~/.openclaw/logs/skill.log。
然后直接调用 Skill 的入口脚本做单元验证,绕过对话层:
python ~/.openclaw/skills/clawdbot-filesystem/filesystem.py --path ~/Downloads --pattern "*.pdf"预期输出一个 JSON 数组,每个元素是文件名和路径。如果这一步就报错,说明 Skill 本身或依赖有问题,跟模型无关。
接着走对话层验证,启动 OpenClaw:
openclaw chat输入“列出 ~/Downloads 下所有 pdf 文件”,观察日志。成功的话你会看到类似这样的输出:
[skill] clawdbot-filesystem triggered [model] request -> https://taotoken.net/api/v1/chat/completions [model] response <- 200, choices[0] parsed [skill] result: 3 files found这里[model] request那行很关键,它确认了请求确实发到了 TaoToken 的地址。如果这行显示的是别的地址,说明你的 config.json 没生效,检查provider字段。
再验证一个带网络请求的 Skill,比如天气:
openclaw chat输入“上海天气”,预期返回温度、天气状况、降水概率。成功结果里应该包含具体数值,而不是“无法获取”。如果返回空,多半是 Skill 内部调用的天气 API 需要额外 Key,去看该 Skill 的 README。
验证模型切换是否生效,可以在对话里说“换用 gpt-4o 回答”,然后看日志里的model_id有没有变。TaoToken 的好处就在这里,同一个 Key 换 Model ID 就行,不用改 Base URL 和 Key。如果你要长期跑编码类任务,可以考虑 Coding Plan,入口 https://taotoken.net/coding-plan ,比按量计费更适合高频调用。
验证通过的标准很简单:Skill 触发日志出现、模型请求 200、结果符合预期。三个都满足,这个 Skill 就算跑通了。
5. 本篇常见报错排查:401、local proxy failed、reading choices
这一节按真实报错来,你遇到哪个查哪个。
401 Unauthorized。最常见,原因是 Key 不对。检查三点:Key 有没有复制全(sk-开头那串)、有没有多余空格、config.json 里api_key字段有没有写错。用 curl 单独测一下:
curl https://taotoken.net/api/v1/models \ -H "Authorization: Bearer sk-你的Key"返回 401 就是 Key 问题,去 https://taotoken.net/api-keys 重新创建一个。注意 API Keys 页面地址不带 UTM,保持干净。
local proxy failed。这个报错通常出现在 Base URL 写错的时候。检查base_url是不是https://taotoken.net/api,有没有多写/v1(OpenClaw 会自己拼/v1/chat/completions),有没有带 UTM 参数。带 UTM 的地址是给网页跳转用的,API 调用不要带。另外检查本机有没有设置HTTP_PROXY环境变量,有的话先unset掉。
reading choices 报错。完整报错一般是cannot read property 'choices' of undefined,意思是返回体里没有choices字段。原因通常是模型名写错了,或者该模型不支持当前接口。检查model_id拼写,去 https://taotoken.net/doc 查可用模型列表。还有一种可能是返回了错误信息但被 Skill 吞了,把log_level调成debug看原始返回。
OAuth 相关报错。如果你用 Claude Code 且看到 OAuth 报错,说明它在尝试走官方登录流程而不是 API Key。检查~/.claude/settings.json里有没有正确设置ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY,两个都要有。只设一个会触发 OAuth 回退。
Skill 触发但无响应。检查skill.json的trigger数组里有没有你输入的关键词,OpenClaw 是精确匹配触发词的。另外看entry指向的脚本有没有执行权限,chmod +x一下。
超时。大文件或慢接口容易超时,把 config.json 里的timeout从 60 调到 120 或 180。如果还是超时,看是不是网络问题,用 curl 测一下 Base URL 的响应时间。
排查顺序建议:先 curl 测模型链路,再单测 Skill 脚本,最后走对话层。这样能快速定位是模型问题还是 Skill 问题。大部分报错集中在 Key 和 Base URL 两个地方,把这两个盯死,能解决八成问题。
6. 统一调用之后:把 15 个 Skill 串成工作流
单个 Skill 跑通只是开始,真正的效率来自组合。比如你可以把网站监控 Skill 和微信自动回复 Skill 串起来:监控到价格下降,自动发微信提醒。配置方式是在 OpenClaw 的 workflow 文件里定义触发链:
{ "workflow": "price_alert", "steps": [ {"skill": "web-monitor", "action": "check", "params": {"url": "https://example.com/price"}}, {"skill": "wechat-auto-reply", "action": "send", "params": {"content": "价格降了"}} ] }再比如把学术研究 Skill 和 PDF 处理 Skill 串起来:搜到论文自动下载并提取摘要。这种组合才是 OpenClaw 的威力所在,而统一走 TaoToken 的好处是整条链路共用一个 Key,不用为每个 Skill 单独配模型凭证。
如果你要长期跑这些工作流,建议用 Coding Plan,入口 https://taotoken.net/coding-plan ,额度更划算。模型对话调试用 https://taotoken.net/models ,接入文档在 https://taotoken.net/doc ,API Keys 管理在 https://taotoken.net/api-keys 。Claude Code 用户看 https://taotoken.net/claudecode-anthropic 这个页面,里面有专门的配置说明。
最后给个实用技巧:把 15 个 Skill 的配置统一放在一个skills-config.json里,用脚本批量生成各自的skill.json,这样重装环境时一条命令就能恢复。备份 Skill 记得定期跑,~/.openclaw目录里存着所有 Skill 的状态和配置,丢了很麻烦。跑通之后你会发现,OpenClaw 真正的门槛不在装 Skill,而在把模型调用这条链路配稳,链路稳了,15 个 Skill 只是 15 次复制粘贴的事。