跳到主要內容

使用技能

技能是按需加載的知識文檔,用於指導 Hermes 完成特定任務——從生成 ASCII 藝術到管理 GitHub Pull Request。本指南將帶你瞭解日常如何使用技能。

如需完整的技術參考,請參閱 技能系統


查找技能

每個 Hermes 安裝都自帶一組內置技能。查看可用的技能:

# 在任何聊天中 session:
/skills

# 或者來自 CLI:
hermes skills list

這會顯示一個簡潔的列表,包含技能名稱和描述:

ascii-art         Generate ASCII art using pyfiglet, cowsay, boxes...
arxiv Search and retrieve academic papers from arXiv...
github-pr-workflow Full PR lifecycle — create branches, commit...
plan Plan mode — inspect context, write a markdown...
excalidraw Create hand-drawn style diagrams using Excalidraw...

搜索技能

# 按關鍵字搜索
/skills search docker
/skills search music

技能中心(Skills Hub)

官方可選技能(較重或小眾、默認未啟用的技能)可通過中心獲取:

# 瀏覽官方可選skills
/skills browse

# 搜索中心
/skills search blockchain

使用技能

所有已安裝的技能都會自動成為斜槓命令。只需輸入其名稱即可:

# 加載一個skill並給它一個任務
/ascii-art Make a banner that says "HELLO WORLD"
/plan Design a REST API for a todo app
/github-pr-workflow Create a PR for the auth refactor

# 只需 skill 名稱(無任務)即可加載它並讓您描述您需要的內容
/excalidraw

你也可以通過自然對話觸發技能——只需讓 Hermes 使用某個特定技能,它將通過 skill_view 工具加載該技能。

漸進式披露(Progressive Disclosure)

技能採用高效的令牌加載模式。Agent 不會一次性加載全部內容:

  1. skills_list() —— 所有技能的簡潔列表(約 3k 令牌)。在會話開始時加載。
  2. skill_view(name) —— 某個技能的完整 SKILL.md 內容。當 Agent 判斷需要時才加載。
  3. skill_view(name, file_path) —— 技能內的某個特定參考文件。僅在需要時加載。

這意味著,只有在實際使用時,技能才會消耗令牌。


從中心安裝技能

官方可選技能隨 Hermes 一同提供,但默認未啟用。需顯式安裝:

# 安裝官方可選的skill
hermes skills install official/research/arxiv

# 在聊天中從集線器安裝 session
/skills install official/creative/songwriting-and-ai-music

操作流程如下:

  1. 將技能目錄複製到 ~/.hermes/skills/
  2. 它會出現在你的 skills_list 輸出中
  3. 可作為斜槓命令使用
提示

已安裝的技能將在新會話中生效。若希望在當前會話中立即生效,請使用 /reset 重啟會話,或添加 --now 參數立即清除提示緩存(會增加下一次交互的令牌消耗)。

驗證安裝

# 檢查它是否在那裡
hermes skills list | grep arxiv

# 或者在聊天中
/skills search arxiv

配置技能設置

某些技能在其前文(frontmatter)中聲明瞭所需的配置項:

metadata:
hermes:
config:
- key: tenor.api_key
description: "Tenor API key for GIF search"
prompt: "Enter your Tenor API key"
url: "https://developers.google.com/tenor/guides/quickstart"

當首次加載帶有配置的技能時,Hermes 會提示你輸入配置值。這些值將存儲在 config.yaml 中的 skills.config.* 下。

可通過 CLI 管理技能配置:

# 特定 skill 的交互式配置
hermes skills config gif-search

# 查看所有skill配置
hermes config get skills.config

創建你自己的技能

技能只是帶有 YAML 前文的 Markdown 文件。創建一個只需不到五分鐘。

1. 創建目錄

mkdir -p ~/.hermes/skills/my-category/my-skill

2. 編寫 SKILL.md

~/.hermes/skills/my-category/my-skill/SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
metadata:
hermes:
tags: [my-tag, automation]
category: my-category
---

# 我的Skill

## 何時使用
Use this skill when the user asks about [specific topic] or needs to [specific task].

## 操作步驟
1. First, check if [prerequisite] is available
2. Run `command --with-flags`
3. Parse the output and present results

## 常見陷阱
- Common failure: [description]. Fix: [solution]
- Watch out for [edge case]

## 驗證方式
Run `check-command` to confirm the result is correct.

3. 添加參考文件(可選)

技能可以包含 Agent 按需加載的支持文件:

my-skill/
├── SKILL.md # 主要skill文檔
├── references/
│ ├── api-docs.md # API參考agent可以諮詢
│ └── examples.md # 輸入示例/outputs
├── templates/
│ └── config.yaml # agent 可以使用的模板文件
└── scripts/
└── setup.sh # agent 可以執行的腳本

SKILL.md 中引用這些文件:

For API details, load the reference: `skill_view("my-skill", "references/api-docs.md")`

4. 測試

啟動新會話並嘗試你的技能:

hermes chat -q "/my-skill help me with the thing"

技能會自動出現——無需註冊。只需將其放入 ~/.hermes/skills/ 目錄,即可立即生效。

信息

Agent 也可以使用 skill_manage 自行創建和更新技能。在解決複雜問題後,Hermes 通常會提議將該方法保存為技能以備下次使用。


按平臺管理技能

控制哪些技能在哪些平臺上可用:

hermes skills

這將打開一個交互式 TUI 界面,可按平臺(CLI、Telegram、Discord 等)啟用或禁用技能。當你希望某些技能僅在特定上下文中可用時非常有用——例如,將開發類技能從 Telegram 中移除。


技能 vs 記憶

兩者都可在會話間持久化,但用途不同:

技能記憶
內容過程性知識——如何做事事實性知識——事物是什麼
加載時機按需加載,僅在相關時自動注入每個會話
大小可以很大(數百行)應該緊湊(僅關鍵事實)
成本未加載時不消耗令牌每次會話都有少量但持續的令牌消耗
示例“如何部署到 Kubernetes”“用戶偏好深色模式,位於 PST 時區”
創建者你、Agent 或從中心安裝Agent 根據對話內容生成

經驗法則:如果你會把它放在參考文檔中,那就是技能;如果你會把它寫在便利貼上,那就是記憶。


使用建議

保持技能專注。一個試圖涵蓋“全部 DevOps”的技能會過於冗長且模糊。而一個專注於“將 Python 應用部署到 Fly.io”的技能則足夠具體,真正有用。

讓 Agent 創建技能。在完成複雜多步驟任務後,Hermes 通常會提議將該流程保存為技能。請接受——這些由 Agent 生成的技能會完整記錄整個工作流,包括途中發現的陷阱。

使用分類。將技能組織到子目錄中(如 ~/.hermes/skills/devops/~/.hermes/skills/research/ 等)。這有助於保持列表清晰,並幫助 Agent 更快找到相關技能。

在技能過時後及時更新。 如果你使用某個技能時遇到該技能未涵蓋的問題,請告知 Hermes 用你學到的新知識更新該技能。未得到維護的技能會變成負擔。


有關完整的技能參考信息——包括前言字段、條件激活、外部目錄等——請參閱 技能系統