技能系统
技能(Skills)是 Hermes Agent 的核心扩展机制,允许您将复杂的工作流程封装为可复用的知识单元,并在需要时按需加载。技能系统采用三级渐进式加载策略,在保持高效的同时提供丰富的上下文信息。
三级渐进式加载
L0 — 技能列表(约 3000 Token)
会话启动时,Hermes 仅加载所有技能的摘要列表。每个技能只显示名称、简短描述和标签,总计约 3000 Token。这让智能体知道"有哪些技能可用",而不消耗大量上下文窗口。
可用技能:
- research: 深度研究技能,擅长信息收集和综合分析 [research, web, analysis]
- coding: 代码开发技能,支持多语言开发和调试 [dev, python, typescript]
- document-writer: 技术文档撰写 [writing, markdown, docs]L1 — 完整内容加载
当智能体判断需要使用某个技能时,会加载该技能的 SKILL.md 完整内容,包含详细的使用说明、操作步骤、注意事项和验证方法。
L2 — 引用文件加载
对于需要引用外部文件的技能(模板、脚本、示例等),在 L1 基础上进一步加载 references/ 目录中的相关文件。
SKILL.md 格式规范
每个技能的核心文件是 SKILL.md,使用标准 frontmatter 定义元数据:
---
name: research
description: 深度信息研究与综合分析技能,能够从多个来源收集、核实和整合信息
version: 1.2.0
platforms:
- hermes-cli
- hermes-telegram
metadata:
tags:
- research
- web
- analysis
category: productivity
config:
max_sources: 10
default_depth: 3
citation_style: apa
---
## When to Use(使用场景)
当用户需要对某个主题进行深度研究时使用此技能,包括但不限于:
- 技术调研和竞品分析
- 学术文献综述
- 市场调研和趋势分析
- 事实核查
## Procedure(操作步骤)
1. 理解研究目标,明确关键问题
2. 制定搜索策略,确定关键词
3. 使用 `web_search` 收集初步信息
4. 使用 `web_extract` 深入阅读重要来源
5. 交叉验证关键事实
6. 综合整理,生成结构化报告
## Pitfalls(注意事项)
- 避免只依赖单一来源
- 注意信息的时效性(检查发布日期)
- 区分事实与观点
- 对 AI 生成内容保持批判性态度
## Verification(验证方法)
- [ ] 所有关键事实均有至少 2 个独立来源支持
- [ ] 信息发布时间在可接受范围内
- [ ] 报告结构清晰,论点有据可查
- [ ] 已标注信息来源Frontmatter 字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 技能唯一标识符,用于命令行调用 |
description | string | 是 | 简短描述,显示在 L0 列表中 |
version | string | 是 | 语义化版本号(SemVer) |
platforms | array | 否 | 支持的平台,空则表示所有平台 |
metadata.tags | array | 否 | 搜索和分类标签 |
metadata.category | string | 否 | 技能分类 |
metadata.config | object | 否 | 技能特定配置参数 |
安装来源与信任级别
Hermes 支持从多个来源安装技能,并采用分级信任模型:
信任级别(由高到低)
builtin > official > trusted > community| 级别 | 说明 | 自动执行 |
|---|---|---|
builtin | 内置于 Hermes 的核心技能 | 是 |
official | Nous Research 官方发布的技能 | 是 |
trusted | 经过审核的可信第三方技能 | 是(需确认) |
community | 社区贡献技能 | 否(需明确授权) |
安装来源
官方来源(official)
# 安装官方技能
hermes skills install research
hermes skills install coding
hermes skills install document-writerskills.sh 托管平台
hermes skills install skills-sh:advanced-researchWell-Known 发现(通过网站 /.well-known/skills.json 发现)
hermes skills install https://example.com --discoverGitHub 仓库
hermes skills install github:username/repo/skill-name
hermes skills install github:nous-research/hermes-skills/python-expertClawHub(技能市场)
hermes skills install clawhub:skill-idLobeHub
hermes skills install lobehub:plugin-nameClaude Marketplace
hermes skills install claude-marketplace:skill-slug技能目录结构
每个技能存储在 ~/.hermes/skills/ 下,按分类组织:
~/.hermes/skills/
├── productivity/
│ ├── research/
│ │ ├── SKILL.md # 核心技能文件(必须)
│ │ ├── references/ # L2 引用文件
│ │ │ ├── search-strategy.md
│ │ │ └── citation-template.md
│ │ ├── templates/ # 输出模板
│ │ │ └── research-report.md
│ │ ├── scripts/ # 辅助脚本
│ │ │ └── extract-citations.py
│ │ └── assets/ # 图片等静态资源
├── development/
│ ├── coding/
│ │ └── SKILL.md
│ └── code-review/
│ └── SKILL.md
└── writing/
└── document-writer/
└── SKILL.md技能管理命令
浏览与搜索
# 列出所有已安装技能
hermes skills list
# 搜索技能市场
hermes skills search "数据分析"
# 查看技能详情
hermes skills show research
# 列出可用分类
hermes skills categories安装与更新
# 安装技能
hermes skills install research
# 安装特定版本
hermes skills install research@1.2.0
# 更新所有技能
hermes skills update
# 更新特定技能
hermes skills update research创建与编辑
# 从模板创建新技能
hermes skills create my-workflow
# 编辑技能文件(在默认编辑器中打开)
hermes skills edit research
# 删除技能
hermes skills delete my-old-skill技能内容管理
通过 Hermes 对话直接管理技能:
# 创建新技能
创建一个名为 "data-pipeline" 的技能,用于处理数据管道任务
# 修改技能
修改 research 技能,添加关于学术数据库搜索的步骤
# 向技能写入文件
向 coding 技能的 references 目录添加一个 Python 最佳实践文件对应的工具操作:create、patch、edit、delete、write_file
预加载技能
命令行预加载
使用 -s 参数在会话开始时预加载特定技能(跳过 L0 列表,直接进入 L1 完整内容):
# 预加载单个技能
hermes -s research
# 预加载多个技能
hermes -s research,coding,document-writer
# 结合工具集使用
hermes -s coding --toolsets "terminal,file,browser"预加载技能会在会话开始时立即进入 L1 状态,智能体无需"发现"即可直接使用。
配置默认预加载
# ~/.hermes/config.yaml
skills:
preload:
- research
- coding技能工具集
启用 skills 工具集后,智能体可以在对话中动态管理技能:
hermes chat --toolsets "skills"这允许 Hermes 在执行任务过程中自动安装所需技能,而无需用户手动操作。
创建自定义技能示例
以下是一个完整的自定义技能示例,用于 Go 代码审查:
---
name: go-code-review
description: Go 语言代码审查专家技能,关注性能、安全性和 Go 惯用法
version: 1.0.0
platforms:
- hermes-cli
metadata:
tags:
- golang
- code-review
- dev
category: development
config:
check_security: true
check_performance: true
go_version: "1.22"
---
## When to Use
当用户提交 Go 代码请求审查时,或在完成 Go 代码实现后进行自检时使用。
## Procedure
1. 读取目标文件或代码片段
2. 检查代码结构和组织
3. 验证错误处理是否完整(不忽略 error 返回值)
4. 检查并发安全性(goroutine、channel、mutex 使用)
5. 评估性能(避免不必要的内存分配、字符串拼接等)
6. 确认遵循 Go 惯用法(gofmt、命名约定等)
7. 检查测试覆盖率
8. 生成结构化审查报告
## Pitfalls
- 不要过度关注风格问题(让 gofmt 处理)
- 区分必须修复的问题和可选改进
- 考虑代码的实际使用场景
## Verification
- [ ] 所有 error 返回值均被处理
- [ ] 无数据竞争风险
- [ ] 关键路径有基准测试
- [ ] 公开 API 有文档注释安装此自定义技能:
# 将文件放入正确目录
mkdir -p ~/.hermes/skills/development/go-code-review
cp go-code-review/SKILL.md ~/.hermes/skills/development/go-code-review/
# 验证安装
hermes skills show go-code-review