ARTICLE / 开源项目
补充技能库卫生清理器特性的研究
PR 地址:NousResearch/hermes-agent#47110 · 一个可选技能,给技能库做内容级体检
研究摘要
技能库长到一定规模后会出现三种典型病变:覆盖能力高度重叠的近重复技能、本应合并成伞形技能(umbrella skill)的碎片技能、以及新增时与既有技能撞车的新技能。Hermes 官方 curator 只做基于时间的归档——它知道技能"多久没用",却不知道技能"和谁长得像",技能库的内容健康无人照看。
本 PR 以可选技能(skill-curator)的形式补上内容级卫生能力:用户通过 hermes skills browse 安装后,获得相似度扫描、合并规划、新技能审查、定时扫描四组能力,覆盖"发现问题 → 规划合并 → 审查新增 → 定时巡检"的完整闭环。整个技能 +2310 行、纯标准库实现、跨平台、非破坏性——所有合并决策都要用户批准,原始技能保留在归档目录。设计意图明确,但 PR body 未附自动化测试记录,实测章节将标注为预期效果。
一、问题背景:时间维度之外的内容失控
1.1 curator 的边界
官方 curator 的技能健康模型只有一个维度:使用时间。长期未使用的技能会被归档。这个模型对"闲置"有效,对"冗余"无效——两个覆盖八成相同能力的技能可能都被频繁使用,curator 永远认为它们很健康,而用户的技能面板里躺着两个功能几乎一样的入口。
1.2 三种典型病变
安全、运维、研究这类领域技能库最容易积累三类问题:
- 近重复技能:同一能力被不同时期、不同思路写成多个技能,描述和功能大面积重叠;
- 碎片技能:若干小技能各自覆盖一个大领域的一小块,本应合并进一个带子章节的伞形技能;
- 新增撞车:用户或贡献者新写的技能,与库内既有技能重复,入库时无人提醒。
前两类是存量问题,第三类是增量问题。缺的不是"归档闲置技能"的能力,而是内容层面的相似性分析——检测重叠、规划合并、拦截重复新增。
二、特性设计:五脚本 + 三参考文档的卫生工具箱
2.1 安装与定位
skill-curator 是可选技能:默认 Hermes 体验完全不受影响,需要的人通过 hermes skills browse 安装。它定位为官方 curator 的补充层——curator 管时间维度,它管内容维度。
2.2 四组能力
- 相似度扫描:扫描技能库,找出描述与能力重叠的技能簇;
- 合并规划:针对重叠簇给出伞形技能建议与合并策略;
- 新技能审查:对新增技能自动做入库审查,比对既有库防止重复;
- 定时集成:支持每周自动扫描、每两小时自动审查的 cron 节奏。
2.3 组件拆解
实现由 5 个脚本与 3 份参考文档组成:
| 组件 | 职责 |
|---|---|
consolidate.py | 相似度引擎 + 合并规划 + 健康报告 |
auto_review.py | 新技能审查流水线,支持 --days 时间窗与 --auto 自动应用安全决策 |
usage_tracker.py | 技能使用追踪,为相似度与合并决策提供使用数据支撑 |
post_install_hook.py | 技能安装后触发自动审查,把重复拦截前移到入库瞬间 |
redundant_validator.py | 冗余检测,识别能力被既有技能覆盖的条目 |
references/cron-integration.md | 定时任务配置指南 |
references/hermes-archive-exclusion.md | 归档豁免模式说明 |
references/redundant-merge-principle.md | 合并决策原则 |
2.4 四个关键设计决策
- 纯标准库:零外部依赖,安装即用,不引入包管理负担;
- 跨平台:Linux / macOS / Windows 均可运行;
- 非破坏性:合并与自动应用都要求用户批准,原始技能保留在
.archive/目录,任何决策都可回退; - HERMES_HOME 感知:通过
HERMES_HOME环境变量解析正确的配置文件目录,多配置文件场景下不会操作错库。
审查流水线的 --auto 模式只自动应用"安全决策"(无歧义的冗余移除等),涉及内容合并的决策仍留在人工确认环节——自动化只处理确定性场景。
三、实测结果
PR body 未附带自动化测试数据或真实技能库的扫描报告,本节内容为设计意图与预期效果,尚未获得实测验证:
- 预期效果一:在积累了大量领域技能的真实库上运行
consolidate.py --scan,能输出相似技能簇清单,簇内技能描述重叠可被肉眼验证; - 预期效果二:
auto_review.py --days 7能对近 7 天新增技能给出重复性审查结论;--auto模式仅对无歧义项自动处理; - 预期效果三:健康报告(
--health)能反映技能库的冗余比例与结构健康度。
以上均为设计意图,真实库上的效果需要安装后自行验证。
四、能力边界
- 相似度判定基于描述与元数据:扫描依据是技能描述、能力表述这类文本信号,对"描述不同但功能相同"的技能可能漏判;
- 合并决策是建议不是自动:伞形技能怎么组织、哪些技能并入,最终由用户判断,工具只给策略不给裁决;
- cron 节奏是默认值:每周扫描、每两小时审查是推荐的起跑线,需要用户按自己技能库的增长速度调整;
- 可选安装意味着默认不防护:未安装该技能的用户,技能库的内容健康仍无人值守;
- 无自动化测试记录:PR body 未提供测试套件数据,脚本在极端输入(空库、超大库、损坏的 SKILL.md)下的表现未经验证。
五、PR 信息
- PR 地址:https://github.com/NousResearch/hermes-agent/pull/47110
- 改动规模:+2310 / -0,9 个文件
- PR 状态:closed
- 提交时间:2026-06-16
本文记录 x7peeps 向 Hermes Agent 上游贡献的特性研究,所有数据来自 PR 实测记录。