fanfei's blog

Hermes Skills System

Hermes Agent 的技能系统是一套按需加载的知识文档系统,采用渐进式披露(progressive disclosure)模式以最小化 token 消耗。技能存放在 ~/.hermes/skills/,兼容 agentskills.io 开放标准。

渐进式披露

层级 调用 返回内容 Token 消耗
Level 0 skills_list() 名称、描述、分类 ~3K
Level 1 skill_view(name) 完整内容 + 元数据 可变
Level 2 skill_view(name, path) 特定引用文件 可变

Agent 仅在实际需要时才加载完整技能内容。

SKILL.md 格式

每个技能由一个 SKILL.md 文件定义,包含 YAML front matter 和 Markdown 正文:

  • name / description / version:基本元数据
  • platforms:可选,限制在特定 OS 上加载
  • conditional activation:可选,根据可用工具自动显示/隐藏
  • required_environment_variables:可选,声明所需环境变量
  • config:可选,声明配置项(存储在 config.yaml)

条件激活

技能可以根据当前会话中可用的工具自动显示或隐藏:

  • fallback_for_toolsets:当指定工具集不可用时才显示(作为后备)
  • requires_toolsets:当指定工具集可用时才显示
  • 例如:内置的 duckduckgo-search 技能在有 Firecrawl API key 时自动隐藏

Agent 自管理技能

Agent 可以通过 skill_manage 工具创建、更新和删除自己的技能,作为程序性记忆

动作 用途
create 从头创建新技能
patch 目标性修复(推荐,更省 token)
edit 大规模结构重写
delete 完全移除
write_file / remove_file 管理辅助文件

Agent 在完成复杂任务、发现非平凡工作流、或被用户纠正时会自动创建技能。

技能市场(Skills Hub)

支持从多个来源浏览、搜索、安装技能:

来源 说明
official Hermes 仓库自带的可选技能
skills-sh Vercel 的公共技能目录 skills.sh
well-known URL 发现协议(/.well-known/skills/index.json
github 直接从 GitHub 安装
clawhub / lobehub / claude-marketplace 社区和市场集成

所有第三方技能通过安全扫描器检查,支持 --force 覆盖非危险策略。

信任级别

级别 来源 策略
builtin 随 Hermes 发布 始终信任
official 仓库中的可选技能 内置信任
trusted OpenAI/Anthropic 等可信仓库 更宽松策略
community 其他所有来源 dangerous 结论不可覆盖

外部技能目录

可在 config.yaml 中配置外部目录(如 ~/.agents/skills/),Hermes 会只读扫描这些目录。本地技能优先于外部同名技能。


Timeline