Skip to content

技能系统

技能(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 定义元数据:

markdown
---
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 字段说明

字段类型必填说明
namestring技能唯一标识符,用于命令行调用
descriptionstring简短描述,显示在 L0 列表中
versionstring语义化版本号(SemVer)
platformsarray支持的平台,空则表示所有平台
metadata.tagsarray搜索和分类标签
metadata.categorystring技能分类
metadata.configobject技能特定配置参数

安装来源与信任级别

Hermes 支持从多个来源安装技能,并采用分级信任模型:

信任级别(由高到低)

builtin > official > trusted > community
级别说明自动执行
builtin内置于 Hermes 的核心技能
officialNous Research 官方发布的技能
trusted经过审核的可信第三方技能是(需确认)
community社区贡献技能否(需明确授权)

安装来源

官方来源(official)

bash
# 安装官方技能
hermes skills install research
hermes skills install coding
hermes skills install document-writer

skills.sh 托管平台

bash
hermes skills install skills-sh:advanced-research

Well-Known 发现(通过网站 /.well-known/skills.json 发现)

bash
hermes skills install https://example.com --discover

GitHub 仓库

bash
hermes skills install github:username/repo/skill-name
hermes skills install github:nous-research/hermes-skills/python-expert

ClawHub(技能市场)

bash
hermes skills install clawhub:skill-id

LobeHub

bash
hermes skills install lobehub:plugin-name

Claude Marketplace

bash
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

技能管理命令

浏览与搜索

bash
# 列出所有已安装技能
hermes skills list

# 搜索技能市场
hermes skills search "数据分析"

# 查看技能详情
hermes skills show research

# 列出可用分类
hermes skills categories

安装与更新

bash
# 安装技能
hermes skills install research

# 安装特定版本
hermes skills install research@1.2.0

# 更新所有技能
hermes skills update

# 更新特定技能
hermes skills update research

创建与编辑

bash
# 从模板创建新技能
hermes skills create my-workflow

# 编辑技能文件(在默认编辑器中打开)
hermes skills edit research

# 删除技能
hermes skills delete my-old-skill

技能内容管理

通过 Hermes 对话直接管理技能:

# 创建新技能
创建一个名为 "data-pipeline" 的技能,用于处理数据管道任务

# 修改技能
修改 research 技能,添加关于学术数据库搜索的步骤

# 向技能写入文件
向 coding 技能的 references 目录添加一个 Python 最佳实践文件

对应的工具操作:createpatcheditdeletewrite_file


预加载技能

命令行预加载

使用 -s 参数在会话开始时预加载特定技能(跳过 L0 列表,直接进入 L1 完整内容):

bash
# 预加载单个技能
hermes -s research

# 预加载多个技能
hermes -s research,coding,document-writer

# 结合工具集使用
hermes -s coding --toolsets "terminal,file,browser"

预加载技能会在会话开始时立即进入 L1 状态,智能体无需"发现"即可直接使用。

配置默认预加载

yaml
# ~/.hermes/config.yaml
skills:
  preload:
    - research
    - coding

技能工具集

启用 skills 工具集后,智能体可以在对话中动态管理技能:

bash
hermes chat --toolsets "skills"

这允许 Hermes 在执行任务过程中自动安装所需技能,而无需用户手动操作。


创建自定义技能示例

以下是一个完整的自定义技能示例,用于 Go 代码审查:

markdown
---
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 有文档注释

安装此自定义技能:

bash
# 将文件放入正确目录
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

基于 MIT 许可发布 | 由 Nous Research 开发