我给 AI 助手装了 10 个插件,然后自己写了 2 个发布到了市场
我给 AI 助手装了 10 个插件,然后自己写了 2 个发布到了市场
大多数人用 AI 助手的方式,和用搜索引擎差不多——有问题就问,问完就关。这没什么不对,但如果你愿意多花一点时间配置它,它能做的事远不止于此。
今天这篇,聊聊我折腾 OpenClaw Agent Skills 的完整过程:从批量安装官方推荐的 10 个核心 skill,到发现有几个根本装不了,再到自己动手搭了 2 个并发布到内网市场。过程有点绕,但挺有意思。
先说 Skills 是什么
OpenClaw 的 Skill 本质上是一个目录,里面放了一个 SKILL.md 文件,加上可选的脚本和参考文档。每次对话开始前,Agent 会扫描所有已安装的 skill,根据用户意图决定激活哪个。
结构是这样的:
skill-name/
├── SKILL.md # 必须:触发描述 + 使用说明
├── scripts/ # 可选:Python/Bash 脚本
├── references/ # 可选:参考文档、API 文档等
└── assets/ # 可选:模板、图片等
SKILL.md 的 frontmatter 里有个 description 字段,这是 Agent 判断「要不要用这个 skill」的核心依据。写得越精准,触发越准确。
安装来源有两个:内网的 Knot 市场(knot.woa.com)和国际开源版的 ClawhHub(clawhub.ai)。在腾讯内网用的是 Knot,可以直接通过 Agent 的工具调用安装,不用离开对话界面。
批量安装:10 个里装上了 5 个
网上流传一份「OpenClaw 十大核心 Skills」的推荐清单,我让 Agent 批量去 Knot 上搜索安装。结果如下:
| Skill | 功能 | 状态 |
|---|---|---|
| EdgeoOne-ClawScan | 安全体检(对应 Clawsec) | ✅ 已安装 |
| Multi Search | 17 引擎整合搜索 | ✅ 已安装 |
| self-improving-agent | 记录错误、持续进化 | ✅ 已安装 |
| task-tracker | 任务跟踪 + 每日汇报 | ✅ 已安装 |
| find-skills | 本地 skill 发现 | ✅ 已安装 |
| Tavily Search | 实时联网搜索(需 API Key) | ❌ 未找到 |
| Ontology | 知识图谱 | ❌ 未找到 |
| GitHub | 代码仓库管理 | ❌ 内网无意义 |
| Office-Automation | 日程/邮件/文档全流程 | ❌ 未找到 |
| Systematic-Debugging | 结构化调试法 | ❌ 未找到 |
5 个装不上的原因各不同:Tavily 是国际平台、需要 API Key,Knot 上没有对应实现;GitHub 在内网没有意义,腾讯用的是工蜂(已内置);其余几个单纯就是 Knot 上没收录。
这种情况很常见。技能市场的覆盖度永远跟不上需求,到了边界就得自己造。
Tavily 装不了?用 web-reader 平替
Tavily 的核心价值是两点:联网搜索 + 网页内容提取(返回干净正文,方便 RAG)。搜索部分 Multi Search 已经覆盖了,缺的是内容提取。
最初想用 Jina Reader(r.jina.ai),在 URL 前加前缀就能把任意网页转成 Markdown:
GET https://r.jina.ai/https://example.com/article
测试发现内网出口把这个域名拦了,SSL 握手直接失败。换思路,OpenClaw 自带的 web_fetch 工具其实就能做这件事——它内置了 Readability 解析器,自动过滤广告和导航栏,返回干净 Markdown。
于是我做了一个 web-reader skill,本质上就是把这个工具的用法规范化,并定义清楚降级策略:
# 降级链
第一步: web_fetch(url, extractMode="markdown")
第二步: web_fetch(url, extractMode="text") # 如果第一步失败
第三步: browser-operation skill # JS 渲染页面兜底
配合 Multi Search 的标准工作流是:
• 用 Multi Search 搜索,拿到结果 URL 列表
• 对感兴趣的 URL 调用 web-reader 提取正文
• Agent 综合多篇内容给出答案
这个组合基本等价于 Tavily 的能力,而且完全免费,不依赖任何外部 API。
Ontology:给 Agent 装一个「长期记忆」
这个需求来自一个现实问题:每次新开对话,Agent 都是全新的,没有任何上下文。你跟它聊了很多次,它对你的偏好、项目、工作习惯一无所知。
Ontology skill 的方案是:把这些信息存成本地 JSON 知识图谱,Agent 需要时读取。核心数据结构很简单:
{
"entities": {
"用户": {
"type": "person",
"偏好语言": "Python",
"updated_at": "2026-03-29"
},
"OpenClaw": {
"type": "tool",
"updated_at": "2026-03-29"
}
},
"relations": [
{
"from": "用户",
"relation": "使用",
"to": "OpenClaw",
"created_at": "2026-03-29"
}
]
}
操作接口全部封装在 scripts/ontology.py 里,支持命令行调用:
# 写入
python3 ontology.py set "用户" "偏好语言" "Python"
python3 ontology.py relate "用户" "发布" "web-reader"
# 查询
python3 ontology.py get "用户"
# → [用户] (person)
# → 偏好语言: Python
# → relations:
# → → 发布 → web-reader
# 统计
python3 ontology.py summary
# → Knowledge graph: 3 entities, 2 relations
零外部依赖,纯标准库,文件默认存在 ~/.openclaw/workspace/memory/ontology.json,跨 session 持久化。
这和 RAG 不同——RAG 是把大量文本塞进向量库,语义检索;Ontology 是结构化知识图,适合存「偏好」「关系」「设定」这类确定性强的信息。两者互补,不冲突。
发布到 Knot 市场:踩了几个坑
skill 写完,用官方脚本打包:
python3 package_skill.py /path/to/skill-dir /tmp
打包脚本输出 .skill 文件(本质是 zip)。上传到 Knot 时遇到几个报错,按顺序踩完:
• 报错一:invalid zip file:未找到 SKILL.md — 打包脚本生成的路径是 skill-name/SKILL.md,Knot 识别的是根目录 SKILL.md。解法:把 .skill 改成 .zip 上传
• 报错二:仅支持 .zip 格式 — 改扩展名即可
• 报错三:ZIP 必须只包含一个顶层文件夹 — 用 zip -r 重新打包,确保 zip 结构是 skill-name/ 作为唯一顶层
最终正确的打包方式:
mkdir -p /tmp/pkg/web-reader/scripts
cp SKILL.md /tmp/pkg/web-reader/
cp scripts/test_fetch.py /tmp/pkg/web-reader/scripts/
cd /tmp/pkg && zip -r web-reader.zip web-reader/
# 结构:web-reader/ 为唯一顶层,SKILL.md 在其中
上传成功后,通过 Agent 的 knot_skills 工具搜索到 skill ID,直接在对话里安装。整个流程不用离开聊天界面。
写 Skill 的几个实操建议
折腾下来总结几点:
• description 字段比 body 更重要。Agent 是先看 description 决定要不要加载这个 skill,body 只有触发后才读。description 写得模糊,skill 永远不会被用到
• 零依赖优先。能用标准库就不要引入第三方包,能用内置工具(web_fetch、exec)就不要调外部服务。技能要能在隔离环境里跑,依赖越多越脆
• 降级链要写清楚。网络环境千变万化,skill 里要定义好:主路径失败了走哪条备用路径,最终兜底方案是什么
• 脚本要实际测试。SKILL.md 里写的步骤,一定要真正跑一遍。光靠「看起来没问题」,上线后大概率会出错
• 发布前检查 zip 结构。用 unzip -l 确认唯一顶层文件夹,这是 Knot 上传最常见的坑
现在的 Skill 配置全景
今天装完后,我的 OpenClaw 上已经有这些 skill 在跑:
• 搜索层:Multi Search(17 引擎)+ web-reader(正文提取)
• 记忆层:ontology(结构化知识图)+ self-improving-agent(错误学习)
• 任务层:task-tracker(进度跟踪)
• 工具层:EdgeoOne-ClawScan(安全体检)+ find-skills(技能发现)
• 腾讯内网专属:工蜂、TAPD、iWiki、KM、企微文档、Claude Code 内网版等
这些层加起来,Agent 能做的事已经相当具体了:搜索→提取→记住→复用,基本的知识工作流跑通了。
接下来值得探索的方向是:ontology 和 self-improving-agent 联动——当 Agent 纠正自己的错误时,自动把「正确做法」写入知识图谱,下次直接命中。目前这两个技能是独立运行的,打通之后才是真正意义上的「越用越聪明」。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)