使用技能
技能是按需加載的知識文檔,用於指導 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 不會一次性加載全部內容:
skills_list()—— 所有技能的簡潔列表(約 3k 令牌)。在會話開始時加載。skill_view(name)—— 某個技能的完整SKILL.md內容。當 Agent 判斷需要時才加載。skill_view(name, file_path)—— 技能內的某個特定參考文件。僅在需要時加載。
這意味著,只有在實際使用時,技能才會消耗令牌。
從中心安裝技能
官方可選技能隨 Hermes 一同提供,但默認未啟用。需顯式安裝:
# 安裝官方可選的skill
hermes skills install official/research/arxiv
# 在聊天中從集線器安裝 session
/skills install official/creative/songwriting-and-ai-music
操作流程如下:
- 將技能目錄複製到
~/.hermes/skills/ - 它會出現在你的
skills_list輸出中 - 可作為斜槓命令使用
已安裝的技能將在新會話中生效。若希望在當前會話中立即生效,請使用 /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
---
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 用你學到的新知識更新該技能。未得到維護的技能會變成負擔。
有關完整的技能參考信息——包括前言字段、條件激活、外部目錄等——請參閱 技能系統。