1. 为什么你的 AI 助理总是“只会聊天不会干活”
很多人第一次接触 OpenClaw 时,都会经历一个心理落差:明明装好了、模型也接上了,聊起天来头头是道,可一旦让它“帮我查下明天的日程”“把这条需求记到表格里”,它就开始打太极——“抱歉,我无法访问你的日历”“我没有权限操作外部系统”。
问题不在模型智商,而在它手里没有工具。OpenClaw 的 Skills 机制,本质上是把外部 API 能力封装成模型可以调用的函数,让 AI 从“能说话”变成“能办事”。没有 Skills 的助理,就像一个口才极好但双手被绑住的秘书;装上 Skills 之后,它才真正长出能敲键盘、能点鼠标、能读写数据的手。
我实测下来,官方 Skill 市场里几十个技能,真正高频、能撑起日常工作的其实就五个方向:日程管理、任务追踪、多维表格、浏览器自动化、长期记忆。这五个覆盖了“知道什么时候做什么、记住做过什么、把事落到系统里、替你在网页上操作”这条完整链路。把这五个用透,你的 AI 助理才算真正落地。
这篇文章不堆概念,直接给每个 Skill 的可复制配置片段,并且把 endpoint 统一改到 TaoToken 的 Key/API 通道后,演示怎么验证调用链路是通的。适合已经跑起 OpenClaw、想让助理真正接手重复工作的开发者。如果你还没接模型,也可以先看配置部分,把通道理顺再回头装 Skill。
需要先说明一点:Skills 的调用最终都要落到模型 API 上,模型通道稳不稳、Key 好不好管,直接决定 Skill 能不能稳定触发。所以下面每个 Skill 的配置里,我都会带上模型 endpoint 的设置,避免你装完 Skill 发现“工具注册了但模型不调用”这种尴尬。
2. TaoToken 前置:把模型通道统一成一套 Key 和 endpoint
在装 Skills 之前,先把模型调用通道理顺。OpenClaw 的 Skill 触发依赖模型返回结构化的 tool call,如果通道不稳定、Key 分散在多个地方,排查起来会非常痛苦。我的做法是把所有模型请求统一走 TaoToken 的 API 通道,一个 Key 管所有模型,endpoint 只配一次。
TaoToken 在这里的角色是统一的模型接入层:你拿到一个 Key,就能在 OpenClaw 里调用不同模型,不用为每个模型单独维护一套鉴权。对 Skill 场景尤其重要,因为浏览器自动化、记忆检索这些 Skill 往往需要多轮 tool call,通道一断,整个链路就卡住。
先拿 Key。打开控制台页面,登录后进入 API Keys 管理:
https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite在控制台里创建一个新 Key,复制出来。注意 Key 只在创建时完整显示一次,先存到安全的地方。接着确认你要用的模型 ID,可以在模型对话页面试跑一下,确认这个模型支持 tool call(Skills 依赖这个能力):
https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewriteBase URL 统一用:
https://taotoken.net/api这里有个容易踩的坑:Base URL 不要带 UTM 参数,也不要带结尾斜杠。OpenClaw 在拼接/v1/chat/completions时,如果 Base URL 末尾多了斜杠,会拼出双斜杠导致 404。我试过在配置里写https://taotoken.net/api/,结果请求直接打到错误路径,报了一串看不懂的错。
把这三样东西准备好:Base URL、API Key、Model ID。后面每个 Skill 的配置都会引用它们。如果你打算长期跑编码类或 Agent 类任务,可以顺带看下 Coding Plan,它更适合高频、长上下文的场景:
https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite通道理顺之后,Skill 的调试会轻松很多——因为一旦出问题,你能快速判断是模型没返回 tool call,还是 Skill 本身配置错了。
3. 五个 Skills 的可复制配置片段
这一节是核心,每个 Skill 给一份可直接粘贴的配置。OpenClaw 的 Skill 配置通常放在项目根目录的skills/下,或者通过openclaw.config.json统一声明。下面用 JSON 片段演示,路径和字段名按常见约定来,你按自己项目实际结构调整。
3.1 浏览器自动化 browser:让助理替你点网页
浏览器自动化是“解放双手”最直接的一个。任何需要你在网页上重复点的操作,理论上都能交给它。配置里最关键的是模型 endpoint 和工具权限。
{ "skills": { "browser": { "enabled": true, "headless": true, "timeoutMs": 30000, "allowedDomains": ["*"], "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "modelId": "your-model-id" } } } }headless设为 true 表示无界面运行,适合服务器;本地调试可以先设 false,方便看它到底点了哪里。allowedDomains建议先放开,跑通后再收紧到具体域名,避免助理乱逛。
3.2 长期记忆 memory-search / memory-get:跨会话记住偏好
没有记忆的助理,每次对话都是失忆状态。memory 技能有两个核心操作:memory_search做语义搜索,memory_get精确读取某段记忆。配置里要指定记忆文件路径。
{ "skills": { "memory": { "enabled": true, "longTermFile": "./memory/MEMORY.md", "dailyDir": "./memory/daily", "searchTopK": 5, "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "modelId": "your-model-id" } } } }日常对话写进memory/daily/YYYY-MM-DD.md,定期把有价值的内容提炼到MEMORY.md。别什么都往记忆里塞,我一般只记三类:用户偏好、重要决策、长期待办。
3.3 日程管理 feishu-calendar:查空闲、约会议
日程 Skill 让助理能直接读写日历。配置里除了模型通道,还要填飞书应用的凭证。
{ "skills": { "feishu-calendar": { "enabled": true, "appId": "${FEISHU_APP_ID}", "appSecret": "${FEISHU_APP_SECRET}", "defaultCalendarId": "primary", "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "modelId": "your-model-id" } } } }配好之后,直接问“明天下午两点我有空吗”,助理会去查日历再回答,而不是干巴巴说“我无法访问”。
3.4 任务管理 feishu-task:把“回头做”变成可追踪任务
群里一句“这个 bug 周三前修一下”,以前说完就散。任务 Skill 能把它变成带负责人和截止时间的任务。
{ "skills": { "feishu-task": { "enabled": true, "appId": "${FEISHU_APP_ID}", "appSecret": "${FEISHU_APP_SECRET}", "defaultAssignee": "self", "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "modelId": "your-model-id" } } } }3.5 多维表格 feishu-bitable:让 AI 读写业务数据
多维表格相当于轻量级数据库。这个 Skill 让助理能直接读写你的项目台账、需求跟踪表。
{ "skills": { "feishu-bitable": { "enabled": true, "appId": "${FEISHU_APP_ID}", "appSecret": "${FEISHU_APP_SECRET}", "defaultAppToken": "${BITABLE_APP_TOKEN}", "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "modelId": "your-model-id" } } } }五个 Skill 的配置结构一致,都是“能力开关 + 凭证 + 模型通道”。统一走 TaoToken 之后,你只需要维护一个TAOTOKEN_API_KEY环境变量,换模型时改modelId就行,不用动 Skill 本身。
4. 验证请求:确认调用链路真的通了
配置写完不代表能用。Skill 场景最容易出的问题是“工具注册了但模型不调用”,所以必须做一次端到端验证。下面是我常用的验证步骤。
第一步,确认环境变量注入成功。在启动 OpenClaw 的终端里执行:
echo $TAOTOKEN_API_KEY | head -c 8能打印出 Key 的前几位就说明注入成功。如果为空,检查你的.env或启动脚本。
第二步,直接用 curl 打一次模型接口,确认通道本身是通的:
curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "your-model-id", "messages": [{"role": "user", "content": "回复 OK"}] }'返回里能看到choices字段和内容,说明 Base URL、Key、Model ID 三件套都对。如果这里就报 401,先解决鉴权,别往下走。
第三步,触发一次 Skill 调用。启动 OpenClaw 后,发一条会命中工具的消息,比如“帮我查下明天下午有没有空”。观察日志里有没有tool_call记录。正常的话,你会看到模型先返回一个 tool call,OpenClaw 执行 Skill,再把结果回传给模型生成最终回答。
第四步,验证记忆 Skill。先让它记一条:“记住我习惯早上开会。”然后新开一个会话,问“我一般什么时候开会方便?”如果它能答出“早上”,说明 memory 的写入和检索都通了。
实测下来,只要第三步能看到 tool call 日志,链路基本就没问题。如果模型一直不调用工具,八成是模型本身不支持 tool call,换个模型 ID 再试。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
Skill 调试过程中,报错基本集中在几个地方。下面按真实报错对照排查。
401 Unauthorized:最常见。先确认TAOTOKEN_API_KEY有没有正确注入,再确认请求头是Authorization: Bearer <key>,别漏了 Bearer。还有一种情况是 Key 被复制时带了空格,用echo检查一下。
local proxy failed / connection refused:通常是 Base URL 写错。检查是不是写成了https://taotoken.net/api/(多了斜杠),或者误填了带 UTM 的地址。Base URL 只保留https://taotoken.net/api。
reading 'choices' of undefined:这个报错说明代码在解析响应时没拿到choices字段。原因可能是接口返回了错误结构(比如 401 的错误体),也可能是模型 ID 不存在。先用第 4 节的 curl 确认返回结构,再检查modelId拼写。
OAuth 相关报错:飞书类 Skill 常见。检查appId、appSecret是否正确,应用是否开通了对应权限(日历、任务、多维表格的读写权限要单独申请)。权限没开时,OAuth 能过但调用接口会返回权限错误。
工具注册了但模型不调用:不是报错,但很常见。确认模型支持 function calling,并在系统提示里明确告诉它“你可以使用这些工具”。有些模型需要显式开启 tool 参数。
排查顺序建议:先 curl 验通道,再看日志找 tool call,最后查 Skill 凭证和权限。这样能快速定位是通道问题还是 Skill 问题。
6. 把五个 Skill 串成工作流,通道统一才好维护
单个 Skill 好用,但真正值钱的是组合。日历 + 任务 + 记忆 能搭出一个“智能日程助理”:它知道你的习惯,自动安排会议,到期提醒任务。浏览器自动化 + 多维表格 能搭出“数据搬运工”:定时抓取网页数据,写进表格生成报表。
这些组合能跑稳的前提,是模型通道统一、Key 集中管理。如果每个 Skill 各接一套模型、各配一个 Key,出问题时你根本不知道是哪一环断了。统一走 TaoToken 之后,换模型只改一个modelId,加 Skill 只加能力配置,维护成本低很多。
如果你还在选模型阶段,可以先去模型对话页面把几个候选模型跑一遍 tool call,确认哪个触发稳定:
https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite准备长期跑 Agent 类任务的话,Coding Plan 更适合高频调用场景:
https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewriteKey 和接入文档在这里,配置过程中遇到鉴权问题可以直接对照:
https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite最后给一个实用建议:先把 browser 和 memory 这两个跑通,因为它们不依赖第三方应用权限,最容易验证链路。确认 tool call 正常后,再逐步加飞书系列的日历、任务、表格。每加一个就按第 4 节验证一次,别一次性全配上,否则出错时排查范围太大。Skills 不在多,在于把常用的几个用透,剩下的按需扩展就行。