☰
我花一周整理了1715+个OpenClaw技能,全在这里了:TaoToken统一Key接入ClawHub安装命令与Markdown索引
2026/10/7 7:10:32 网站建设 项目流程

1. 从 1715+ 个技能里找一条安装命令,我踩过的坑

OpenClaw 技能本质上就是给 AI 装的插件,让它能连 Gmail、管 Docker、剪视频、爬网页。安装方式简单到一行命令:npx clawhub@latest install <技能名>。但真正卡住人的不是安装,是「技能叫什么名字」。官方文档没有完整列表,GitHub 上的资源散落在各个仓库,想找一个能用的技能,翻半小时是常态。

我花了一周把 ClawHub 上的技能梳理了一遍,最终整理出 28 个分类、1715+ 个技能,每个都带安装命令和功能说明,输出成 Markdown 文件方便 Ctrl+F 检索。但整理过程中我发现一个更实际的问题:技能清单有了,怎么批量拉取、怎么去重、怎么生成可检索的索引、怎么用统一 Key 接入,这些才是让 1715 个技能真正可用的关键。

这篇内容聚焦 OpenClaw 技能生态的批量接入与索引化整理。我会给出可复制的 TaoToken 统一 Key 配置片段、ClawHub 技能拉取与去重脚本、Markdown 索引生成规则,以及用一条安装命令验证技能可加载的检查动作。适合想用 OpenClaw 做自动化但被技能查找卡住的新手,也适合需要批量管理技能清单的进阶用户。

核心检索词先明确:OpenClaw 技能是什么、ClawHub 怎么拉取技能清单、Markdown 索引怎么生成、TaoToken 统一 Key 怎么配置。这四个问题贯穿全文,每一步都有可复制的命令和配置。

2. TaoToken 统一 Key 前置配置与 ClawHub 接入准备

在批量拉取技能之前,先把模型接入层配好。OpenClaw 的技能执行依赖底层模型能力,如果每个技能单独配 Key,管理成本会很高。TaoToken 提供统一 Key 接入,一个 Key 覆盖多个模型,适合这种批量场景。

先到官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册账号,然后在控制台创建 API Key。控制台地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,API Keys 管理页在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。创建完 Key 后,Base URL 统一用 https://taotoken.net/api ,注意这个地址不加 UTM 参数。

OpenClaw 的配置文件通常放在用户目录下的.openclaw文件夹里,具体路径根据系统不同:macOS/Linux 是~/.openclaw/config.json,Windows 是%USERPROFILE%\.openclaw\config.json。如果你用的是 Claude Code 或 Cline 这类工具,配置文件的路径和字段名会不一样,但核心三件套不变:Base URL、API Key、Model ID。

我试过在多个工具之间切换,最容易出错的就是 Model ID 写错。TaoToken 支持的模型 ID 可以在模型对话页 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite 查看,常用的有claude-sonnet-4-20250514、gpt-4o、deepseek-chat等。写配置时一定要和页面上显示的完全一致,大小写和连字符都不能错。

ClawHub 的接入准备还包括 Node.js 环境。npx clawhub@latest需要 Node 18 以上版本,可以用node -v检查。如果版本太低,先升级 Node。另外建议把 npm 的 registry 换成国内镜像,拉取技能清单时速度会快很多,命令是npm config set registry https://registry.npmmirror.com。

配置完成后,先别急着拉技能清单。用一条最简单的模型请求验证 Key 是否生效,比如curl https://taotoken.net/api/v1/models -H "Authorization: Bearer YOUR_KEY",返回模型列表就说明接入层没问题。这一步能避免后面拉取技能时因为 Key 问题反复排查。

3. 可复制配置片段:OpenClaw 统一 Key 与 ClawHub 拉取脚本

这一节给出可直接复制的配置和脚本。先看 OpenClaw 的config.json配置片段,路径是~/.openclaw/config.json:

{ "model": { "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-your-taotoken-key", "modelId": "claude-sonnet-4-20250514" }, "clawhub": { "registry": "https://clawhub.openclaw.dev", "installDir": "~/.openclaw/skills", "autoUpdate": false }, "index": { "outputPath": "~/openclaw-skills-index.md", "categories": 28, "dedupe": true } }

如果你用的是 Claude Code,配置文件在~/.claude/settings.json,字段名不同但三件套一致:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-your-taotoken-key", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" } }

Cline 的配置在 VS Code 设置里,搜索cline.apiProvider,选OpenAI Compatible,然后填 Base URL、API Key、Model ID。Codex 的auth.json在~/.codex/auth.json,格式是:

{ "OPENAI_BASE_URL": "https://taotoken.net/api", "OPENAI_API_KEY": "sk-your-taotoken-key", "OPENAI_MODEL": "gpt-4o" }

接下来是 ClawHub 技能拉取与去重脚本。新建一个fetch-skills.sh,内容如下:

#!/bin/bash set -e OUTPUT_DIR="./skills-raw" INDEX_FILE="./skills-index.md" DEDUPE_FILE="./skills-deduped.json" mkdir -p "$OUTPUT_DIR" echo "拉取 ClawHub 技能清单..." npx clawhub@latest list --json > "$OUTPUT_DIR/all-skills.json" echo "按分类拆分..." node -e " const fs = require('fs'); const data = JSON.parse(fs.readFileSync('$OUTPUT_DIR/all-skills.json', 'utf8')); const categories = {}; data.skills.forEach(s => { const cat = s.category || 'uncategorized'; if (!categories[cat]) categories[cat] = []; categories[cat].push(s); }); Object.entries(categories).forEach(([cat, skills]) => { fs.writeFileSync(\`$OUTPUT_DIR/\${cat}.json\`, JSON.stringify(skills, null, 2)); }); console.log('分类数:', Object.keys(categories).length); console.log('技能总数:', data.skills.length); " echo "去重处理..." node -e " const fs = require('fs'); const data = JSON.parse(fs.readFileSync('$OUTPUT_DIR/all-skills.json', 'utf8')); const seen = new Set(); const deduped = data.skills.filter(s => { const key = s.name.toLowerCase().trim(); if (seen.has(key)) return false; seen.add(key); return true; }); fs.writeFileSync('$DEDUPE_FILE', JSON.stringify(deduped, null, 2)); console.log('去重前:', data.skills.length); console.log('去重后:', deduped.length); " echo "生成 Markdown 索引..." node -e " const fs = require('fs'); const skills = JSON.parse(fs.readFileSync('$DEDUPE_FILE', 'utf8')); const byCat = {}; skills.forEach(s => { const cat = s.category || 'uncategorized'; if (!byCat[cat]) byCat[cat] = []; byCat[cat].push(s); }); let md = '# OpenClaw 技能索引\n\n'; md += '> 共 ' + skills.length + ' 个技能,' + Object.keys(byCat).length + ' 个分类\n\n'; Object.entries(byCat).sort().forEach(([cat, list]) => { md += '## ' + cat + ' (' + list.length + ')\n\n'; list.sort((a,b) => a.name.localeCompare(b.name)).forEach(s => { md += '- **' + s.name + '** — ' + (s.description || '无描述') + '\n'; md += ' \`npx clawhub@latest install ' + s.name + '\`\n'; }); md += '\n'; }); fs.writeFileSync('$INDEX_FILE', md); console.log('索引已生成:', '$INDEX_FILE'); "

这个脚本做了四件事:拉取全量清单、按分类拆分、按名称去重、生成 Markdown 索引。去重逻辑用的是技能名小写去空格后的字符串作为唯一键,能过滤掉重复收录的技能。生成索引时每个技能都带安装命令,直接复制就能用。

注意脚本里的npx clawhub@latest list --json需要 ClawHub CLI 支持 JSON 输出。如果你的版本不支持,可以先跑npx clawhub@latest list看输出格式,再调整解析逻辑。另外去重时如果发现同名但不同来源的技能,建议保留有 Verified 标记的那个。

4. 验证请求与成功结果:一条安装命令检查技能可加载

配置和脚本都就绪后,用一条安装命令验证技能是否能正常加载。选一个轻量级技能,比如summarize,执行:

npx clawhub@latest install summarize

成功的话会看到类似输出:

✓ 正在解析技能 summarize... ✓ 下载技能包 (v1.2.3) ✓ 校验签名... 通过 ✓ 安装到 ~/.openclaw/skills/summarize ✓ 注册到技能索引 安装完成,共 1 个技能

如果安装成功但加载失败,通常是模型接入层的问题。用这条命令检查 OpenClaw 是否能正常调用模型:

openclaw run --skill summarize --input "总结这段文字:OpenClaw 技能是给 AI 装的插件"

预期返回一段摘要文本。如果返回401 Unauthorized,说明 API Key 没配对;如果返回model not found,说明 Model ID 写错了;如果返回local proxy failed,说明 Base URL 配置有问题。

验证模型对话是否正常,可以到 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite 直接测试。输入一段文字,看模型是否能正常回复。这一步能排除 Key 本身的问题。

技能加载成功后,检查索引文件是否生成正确:

head -30 ~/openclaw-skills-index.md

应该能看到类似这样的结构:

# OpenClaw 技能索引 > 共 1715 个技能,28 个分类 ## AI与大模型 (287) - **summarize** — 多格式内容摘要,支持网页/PDF/YouTube视频 `npx clawhub@latest install summarize` - **comfyui** — 集成 ComfyUI 生成 AI 图像 `npx clawhub@latest install comfyui`

如果索引文件里技能数量明显少于预期,检查去重脚本是否误删了同名但不同分类的技能。去重键可以改成name + category的组合,避免跨分类误删。

验证通过后,你可以用grep快速检索技能:

grep -i "docker" ~/openclaw-skills-index.md

这会列出所有和 Docker 相关的技能及安装命令。比翻 GitHub 快得多。

5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth

这一节对照真实报错给出排查路径。第一个常见错误是401 Unauthorized。报错长这样:

Error: 401 Unauthorized {"error":{"message":"Invalid API key","type":"invalid_request_error"}}

原因通常是 API Key 写错、过期、或者复制时带了空格。排查步骤:到 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 重新生成一个 Key,复制时注意不要带首尾空格。然后检查配置文件里的apiKey字段是否和生成的一致。如果用的是环境变量,确认echo $ANTHROPIC_API_KEY输出正确。

第二个错误是local proxy failed。报错长这样:

Error: local proxy failed: connect ECONNREFUSED 127.0.0.1:8080

这说明 OpenClaw 在尝试走本地代理,但代理没启动。检查配置文件里是否有proxy字段,如果有就删掉。Base URL 应该直接写https://taotoken.net/api,不要经过任何本地转发。另外检查环境变量HTTP_PROXY和HTTPS_PROXY是否被设置,如果有就unset掉。

第三个错误是reading choices。报错长这样:

TypeError: Cannot read properties of undefined (reading 'choices')

这通常是模型返回格式和 OpenClaw 预期的不一致。TaoToken 的 API 兼容 OpenAI 格式,返回结构里应该有choices数组。如果报这个错,检查 Model ID 是否写错,比如把claude-sonnet-4-20250514写成了claude-sonnet-4。另外确认 Base URL 结尾没有多余的斜杠,https://taotoken.net/api和https://taotoken.net/api/在某些工具里行为不同。

第四个错误是 OAuth 相关。报错长这样:

Error: OAuth token expired, please re-authenticate

如果你用的是 Claude Code 或 Codex 这类带 OAuth 的工具,它们可能优先走 OAuth 而不是 API Key。解决方法是在配置文件里显式指定 API Key 模式,或者删除 OAuth 缓存文件。Claude Code 的 OAuth 缓存在~/.claude/oauth.json,Codex 的在~/.codex/oauth.json。删掉后重新用 API Key 配置。

还有一个容易忽略的问题:技能安装成功但执行时报skill not found。这通常是installDir路径配置不对。检查~/.openclaw/config.json里的clawhub.installDir是否和实际安装路径一致。默认是~/.openclaw/skills,如果你改过路径,确保两边一致。

如果遇到rate limit exceeded,说明请求太频繁。TaoToken 的 API 有速率限制,批量拉取技能清单时建议加sleep 1间隔。脚本里可以在每次请求后加sleep 0.5,避免触发限流。

6. 语义一致 CTA:从技能索引到长期编码与 Agent 工作流

整理完 1715+ 个技能的索引后,下一步是怎么把这些技能用起来。如果你只是偶尔查一个技能,Markdown 索引加grep就够了。但如果你想把 OpenClaw 技能接入长期编码或 Agent 工作流,建议用 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。Coding Plan 提供更稳定的模型调用配额,适合需要频繁执行技能的自动化场景。

接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有各工具的详细配置步骤。如果你用的是 Claude Code,可以参考 https://taotoken.net/doc/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode-anthropic&utm_campaign=rewrite 的接入说明。

模型对话测试入口在 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite ,API Key 管理在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。建议先把 Key 配好,再跑一遍第 3 节的拉取脚本,确认索引生成无误。

最后分享一个实用技巧:把生成的skills-index.md放到项目根目录,用grep -i "关键词" skills-index.md快速定位技能。如果经常用某几个技能,可以把安装命令写进Makefile或package.json的 scripts 里,一键批量安装。比如:

{ "scripts": { "skills:install": "npx clawhub@latest install summarize && npx clawhub@latest install gog && npx clawhub@latest install docker-essentials" } }

这样每次换环境只需要跑npm run skills:install,不用逐个查命令。索引文件也可以定期用第 3 节的脚本重新生成,保持和 ClawHub 上的技能清单同步。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询