1. 为什么要在 Windows 上给 OpenClaw 装这 6 个 Skill
OpenClaw 是一个可本地部署的 Agent 运行框架,它本身只提供对话、通道、会话这些“骨架”,真正让 Agent 干活的是 Skill。你可以把 Skill 理解成给 Agent 装的插件:装了 frontend-design,它才会写前端页面;装了 Excel / XLSX,它才能生成表格文件。没装 Skill 的 OpenClaw,就像一个刚装好系统、什么软件都没装的电脑。
这次要接入的 6 个 Skill 覆盖了日常最高频的几类任务:frontend-design 负责生成前端页面和组件代码,superpowers 提供规格驱动、TDD、子代理协作的开发工作流,humanizer 用来把 AI 味很重的文字改写得自然,canvas-design 生成海报和视觉稿,Excel / XLSX 和 DOCX 分别处理表格与 Word 文档。对做内容、做开发、做运营的人来说,这 6 个基本能撑起一条完整的“输入需求 → 产出交付物”的链路。
场景选在 Windows + Feishu,是因为很多人的实际工作环境就是 Windows 本机跑 OpenClaw,然后通过飞书机器人和它对话。这样不用额外开网页,直接在飞书里发指令就能让 Agent 干活。但 Windows 的路径写法、PowerShell 语法、飞书配对机制和 Linux 有不少差异,装 Skill 时踩的坑也集中在这几块。
这篇实录的目标不是“装完就算”,而是给你一条可复制、可验证、可回滚的流程。每一步都有对应的验证命令,装完能确认它真的生效,出问题能定位到具体环节。下面从环境基线开始,一步步走完 ClawHub 拉取、配置白名单、飞书联调、报错排查的完整过程。
2. 前置准备:OpenClaw 环境基线与 TaoToken 通道配置
在装 Skill 之前,先把 OpenClaw 本身的状态确认清楚。很多“Skill 装了不生效”的问题,根因其实在网关没起来或者通道没连上,跟 Skill 本身无关。所以第一步永远是基线检查。
打开 PowerShell,依次执行:
openclaw --version openclaw gateway status openclaw channels status --probe openclaw skills check判断标准很直接:openclaw --version能输出版本号说明 CLI 装好了;gateway status里看到RPC probe: ok说明网关在跑;channels status --probe里飞书通道显示 works 说明通道通了;skills check能正常列出技能状态说明 Skill 子系统可用。这四条全绿,再往下走。
接下来是模型通道。OpenClaw 调用大模型需要一个统一的 Key 和 API 入口,我用 TaoToken 作为统一通道,这样 6 个 Skill 背后调用的模型都走同一个入口,不用每个 Skill 单独配 Key。官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end ,API 入口是 https://taotoken.net/api 。
配置写在 OpenClaw 的模型段里,路径是%USERPROFILE%\.openclaw\openclaw.json。在models或providers段里加上 TaoToken 的 Base URL 和 Key:
{ "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "models": ["claude-sonnet-4-5", "gpt-4o"] } } }这里三个要素要写全:Base URL 是https://taotoken.net/api,Key 从控制台的 API Keys 页面拿,Model ID 按你实际要用的填。三者缺一,后面 Skill 调用模型时就会报 401 或者 model not found。配好后重启网关:
openclaw gateway restart重启完再跑一次openclaw gateway status,确认网关正常。这一步做完,模型通道就通了,接下来装 Skill 才有意义——否则 Skill 装好了也调不动模型。
3. 可复制配置:ClawHub 拉取 6 个 Skill 与 config.toml 骨架
环境通了,开始装 Skill。OpenClaw 的 Skill 通过 ClawHub 分发,安装命令是clawhub install <slug>。注意这里用的是 slug(包名),不是展示名,这是后面一个高频报错的根源。
逐个安装 6 个 Skill:
clawhub install frontend-design-3 clawhub install superpowers clawhub install ai-humanizer clawhub install canvas-design-2 clawhub install excel-xlsx clawhub install word-docx装完核验:
clawhub list openclaw skills info frontend-design openclaw skills info superpowers openclaw skills info humanizer openclaw skills info canvas-design openclaw skills info "Excel / XLSX" openclaw skills info DOCX输出里出现✓ Ready说明技能本体已下载并可用。注意 ClawHub 包名和 OpenClaw 里生效的 skill 名称不是一一对应的,对照关系如下:
| ClawHub 包名 | OpenClaw skill 名称 | 用途 |
|---|---|---|
| frontend-design-3 | frontend-design | 前端页面/组件生成 |
| superpowers | superpowers | 规格驱动、TDD、子代理协作 |
| ai-humanizer | humanizer | 文本去 AI 味 |
| canvas-design-2 | canvas-design | 海报/视觉稿生成 |
| excel-xlsx | Excel / XLSX | Excel 读写与生成 |
| word-docx | DOCX | Word 读写与生成 |
装完只是“下载完成”,不等于“业务生效”。目标 agent 还要在 skills 白名单里显式启用。配置文件路径是%USERPROFILE%\.openclaw\openclaw.json,找到assistant-agent的skills数组,把 6 个 skill 名称加进去:
{ "agents": { "assistant-agent": { "skills": [ "credential-manager", "imap-smtp-email", "session-logs", "skill-scan", "weather", "find-skills", "frontend-design", "superpowers", "humanizer", "canvas-design", "Excel / XLSX", "DOCX", "self-improvement", "proactive-agent" ] } } }如果你用的是 TOML 格式的配置,等价写法是:
[agents.assistant-agent] skills = [ "frontend-design", "superpowers", "humanizer", "canvas-design", "Excel / XLSX", "DOCX" ]改完配置必须重启网关,否则不生效:
openclaw gateway restartSkill 目录结构大致是这样,方便你确认文件确实落地了:
%USERPROFILE%\.openclaw\skills\ ├── frontend-design\ │ ├── SKILL.md │ └── manifest.json ├── superpowers\ ├── humanizer\ ├── canvas-design\ ├── excel-xlsx\ └── word-docx\每个 Skill 目录里都有SKILL.md(技能说明)和manifest.json(元信息)。如果某个目录是空的,说明安装没完成,重新clawhub install一次。
4. 验证请求:飞书联调与 6 个 Skill 逐项自检
配置改完,进入飞书联调。第一次在飞书里给机器人发消息,如果回复OpenClaw: access not configured,说明 DM 首次配对授权没完成。在终端审批配对码:
openclaw pairing approve feishu <PAIRING_CODE> openclaw channels status --probe配对码在飞书机器人回复里能看到。审批后再发消息,应该就正常了。
接着验证 agent 当前加载了哪些技能。这条命令很关键,它直接告诉你白名单有没有生效:
openclaw agent --agent assistant-agent -m "只输出你当前加载的skills名称,用逗号分隔,不要解释。" --json如果输出里出现frontend-design, superpowers, humanizer, canvas-design, Excel / XLSX, DOCX,说明 6 个 Skill 全部加载成功。缺哪个就回去检查openclaw.json里对应名称有没有拼错。
然后逐项在飞书里发测试指令,确认每个 Skill 真能干活:
frontend-design 测试:
请使用 frontend-design 技能,生成一个"个人技术博客首页"的响应式 HTML+CSS+JS,风格偏简洁专业,包含导航、Hero、文章卡片区、页脚。superpowers 测试:
请按 superpowers 工作流,帮我规划一个"多机器人协作开发平台"MVP:先给需求澄清问题,再输出分阶段计划和每阶段验收标准。humanizer 测试:
请使用 humanizer 技能改写:在当前不断演变的技术格局中,我们必须积极拥抱变化并持续优化流程。要求:原意不变,更口语自然,并给出改写前后对比。canvas-design 测试:
请使用 canvas-design 生成一张 16:9 海报,主题"AI Agent 团队协作",中文标题,科技感配色,输出 PNG。Excel / XLSX 测试:
请使用 Excel / XLSX 技能创建一个销售报表模板:包含日期、产品、销量、单价、总额,自动计算总额并汇总总销售额,保存为 xlsx。DOCX 测试:
请使用 DOCX 技能生成《项目周报》文档,含标题、项目进展、风险项、下周计划四部分,并导出为 .docx。每个指令发出去后,观察飞书回复里有没有实际产出(代码块、文件、改写对比)。如果某个 Skill 回复“没有该技能”,先别急着重装,大概率是会话缓存问题,看下一节的排查。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
装 Skill 和联调过程中,报错集中在几个固定位置。下面按真实报错逐条对照。
401 Unauthorized:模型调用被拒。检查openclaw.json里 TaoToken 的apiKey有没有填对、有没有过期,Base URL 是不是https://taotoken.net/api。三个要素(Base URL + Key + Model ID)任何一个错都会 401。改完重启网关再试。
local proxy failed:本地代理层没起来。先openclaw gateway status看网关,再openclaw channels status --probe看通道。如果网关没跑,openclaw gateway restart;如果通道断了,检查飞书配置里的 app id / secret 有没有过期。
reading choices 报错:模型返回结构解析失败,通常是 Model ID 写错或者模型不支持当前调用格式。确认models数组里填的是 TaoToken 支持的模型名,别填展示名。
OAuth 相关报错:飞书通道授权失效。重新走一遍openclaw pairing approve feishu <PAIRING_CODE>,然后openclaw channels status --probe复查。
飞书里提示“没有 humanizer 技能”:技能明明 Ready,但飞书对话仍回复“当前仅有 weather/imap-smtp-email”。根因是会话复用了旧的 skillsSnapshot,新配置没注入当前会话。修复步骤:
# 1) 备份会话索引 $sessions = "$env:USERPROFILE\.openclaw\agents\assistant-agent\sessions\sessions.json" Copy-Item $sessions "$sessions.bak-$(Get-Date -Format yyyyMMdd-HHmmss)" # 2) 清空会话索引,强制新会话重新加载最新技能 "{}" | Set-Content $sessions -Encoding UTF8 # 3) 重启网关 openclaw gateway restart验证:
openclaw sessions --agent assistant-agent --json openclaw agent --agent assistant-agent -m "只输出你当前加载的skills名称,用逗号分隔,不要解释。" --jsonclawhub install 报 Skill not found:用展示名或大小写名安装失败(比如用 Email 而不是 slug)。ClawHub 安装参数是 slug,不是展示标题。先搜再装:
clawhub search <关键词> clawhub install <准确slug>Rate limit exceeded:安装社区 skill 时触发限流。先登录再装:
clawhub login clawhub install <slug>仍限流就等窗口恢复后重试。
Codex auth.json 相关:如果你同时用 Codex,注意它的auth.json和 OpenClaw 的openclaw.json是两套配置,别混。Codex 的 Base URL、Key、Model ID 也要写全,路径通常在%USERPROFILE%\.codex\auth.json。
Cline MCP 配置:如果用 Cline 接 MCP,Base URL + Key + Model ID 三件套同样要写全,缺一个就连不上。
排查的核心思路是:先确认网关和通道,再确认配置三要素,最后才怀疑 Skill 本身。大部分报错都在前两步。
6. 长期使用建议与接入入口
6 个 Skill 装完并验证通过后,日常使用就顺了。但有几个长期维护的点值得注意。
第一,Skill 更新。ClawHub 上的 Skill 会迭代,定期clawhub list看有没有新版本,需要时重新clawhub install覆盖。更新后同样要重启网关并清一次会话缓存,否则新版本不会立刻生效。
第二,配置备份。openclaw.json和sessions.json建议定期备份,尤其是改白名单之前。上面给的备份命令可以直接复用。
第三,会话缓存。每次改 skills 白名单,都要清sessions.json让新会话重建。这是最容易忘的一步,也是“装了不生效”的头号原因。
如果你还没配好模型通道,先去 https://taotoken.net/api-keys 拿 Key,接入文档在 https://taotoken.net/doc 。想先验证模型能不能正常对话,可以用模型对话页面 https://taotoken.net/chat 试一条。长期跑编码和 Agent 任务的话,Coding Plan 页面 https://taotoken.net/coding-plan 有更合适的方案。Claude Code 接入参考 https://taotoken.net/claude-code 。
整套流程走下来,关键经验就三句话:clawhub install只是下载完成,不是业务生效;openclaw.json的 agent skills 白名单决定谁能用这些技能;会话缓存会影响实时生效,必要时清sessions.json让新会话重建。按这条链路执行,飞书机器人就能稳定调用新增的 6 个 Skill。