For Power Users Deep Dive

技能與 agentskills.io:Hermes 如何在四週內長出一個生態

Hermes Agent

Hermes Agent

@hermesagents

March 22, 2026

8 分鐘閱讀

Hermes Agent 3 月 12 日對外開放的時候,發布裡帶著七十多個內建技能,分在十五個以上的類別底下。四週之後,一個社群技能市集已經在 agentskills.io 上線,又多了幾百個。這篇文章講的是這件事是怎麼發生的——還有,就算你這輩子不打算寫一個技能,為什麼 Hermes 的技能架構也值得你了解一下。

一個技能到底是什麼

在大多數 AI agent 框架裡,「工具」就是開發者在 import 的時候註冊進 agent 的一個 Python 函式。你給函式加個裝飾器,寫一段 docstring,把它列進某個 tools 陣列裡。Agent 需要它的時候,框架會把它的描述注入 prompt,再去解析模型的工具呼叫輸出。

Hermes 裡的技能不是這回事。它是一個宣告式的套件:一份 manifest(skill.yaml)、一組可執行腳本或 Python 進入點、一份前置條件的說明,以及一條啟用策略。Hermes 啟動時會走過技能目錄、讀取每一份 manifest,然後根據前置條件在這台機器上是不是真的齊備,決定這一次會話裡哪些技能是可用的——環境變數、PATH 裡的執行檔、設定檔裡的條目、平台能力等等。

一個需要 ffmpeg 的技能,在沒裝 ffmpeg 的機器上不會被告訴 agent。一個需要 Telegram bot token 的技能,只會在連上 Telegram 的會話裡啟用。Agent 的 prompt 裡永遠只帶著你此刻真正用得上的那些技能。

聽起來像個小細節,但它正是一個 agent 能在第一天就背著七十個技能出門、又不把 prompt 撐爆的根本原因。

Skills Hub 做了什麼

從 v0.2.0 起,Hermes 裡就自帶了一個叫 Skills Hub 的東西——本地一個索引,記錄這套安裝裡所有可用的技能,帶著中繼資料、來源資訊,以及一層條件啟用的邏輯。你可以用 hermes skills list 看裝了什麼,用 hermes skills enable <name>hermes skills disable <name> 開關某個技能,用 hermes skills info <name> 看它的 manifest、來源和具體的前置條件。

Hub 同時也是社群技能的接入點。一位技能作者發布一份 manifest 加原始碼套件,Hermes 使用者一條指令就能裝上;Hub 對它做前置條件驗證和啟用規則判斷,跟對待內建技能一模一樣。「官方」和「社群」技能之間沒有特殊通道——它們都只是技能而已。

上線四週後,這個 Hub 長出了一張對外的臉:agentskills.io。這是一個社群貢獻技能的網頁目錄,帶搜尋、分類、熱度指標和一套標準化的安裝指令。你可以把它想成 agent 能力的 npm 或 pip,只不過範圍更窄:每個技能只做一件事,還附帶一份告訴 Hermes 怎麼安全使用它的 manifest。

生態為什麼長得這麼快

四週從零到幾百個社群技能,時間是不長的。架構上有幾件事讓這件事成為可能。

Manifest 就是介面。 技能作者只需要把 manifest 寫對。前置條件、描述、輸入 schema、啟用條件——都寫在 skill.yaml 裡。實作那一層可以是 Python、shell 腳本、可執行二進位檔,只要 manifest 指得到的都行。貢獻者不用專門去學一套 Hermes 專有的 SDK,才能寫一個有用的技能。他們要做的,只是在一份 YAML 檔案裡描述這個工具做什麼——而那份 YAML 的格式,內建技能早就在用了。

前置條件是寫進結構裡的,不是光寫在說明文件裡。 一個技能如果需要 ffmpeg,manifest 裡就得這麼寫,Hermes 會替你檢查。你不會裝上一個因為缺相依而在執行時悄悄出包的壞技能——Hub 會告訴你缺什麼,並拒絕啟用。這代表作者敢去假設,使用者也敢去信任。

啟用是有條件的。 一個技能可以宣告自己只在 Telegram 裡啟用、只在某個環境變數被設定時啟用、只在某個檔案存在時啟用、只在某些工作目錄裡啟用。Agent 看到的 prompt 是按當下情境量身訂做的。你可以裝一百個技能,在某一次會話裡 agent 都不會看到其中的九十個——prompt 也就不會腫起來。

預設對沙箱友善。 技能執行程式碼時走的是 Hermes 本來就有的那幾層沙箱——v0.2.0 上線就有的 git worktree 隔離和檔案系統檢查點體系。一個發瘋的社群技能沒辦法真的毀掉你的程式碼或檔案,因為沙箱是烤進 agent 裡的,不是烤進某個技能裡的。這大幅拉低了裝一個新東西的信任成本。

一個社群技能大致長什麼樣

頭四週的社群技能大致能分成幾種有用的模式:

  • 現有 CLI 工具的包裝。 有人拿 ffmpegpandocimagemagick,寫一個薄薄的技能把常用操作暴露出來——剪影片、轉檔、縮圖。這類技能寫起來便宜,立刻就能用。
  • 和個人服務的整合。 和使用者自己的 Notion、Obsidian vault、Home Assistant、RSS 閱讀器、Pocket 帳號或個人記帳 app 對話的技能。這些大多不到 200 行 Python 加一份 manifest。
  • 專門給某類工作流程的小幫手。 給研究者的論文閱讀技能、給工程主管的 git log 總結技能、給家裡下廚的人用的菜單產生器、給桌遊車隊用的地下城主助手。
  • 針對特定模型的小墊片。 把服務商特有的能力(prompt caching 標頭、推理預算、fine-tuning 掛鉤)包裝成正式的 agent 工具的技能,這樣你就不用再自己寫客戶端程式碼。

單獨看,沒有哪一個是殺手級特性。合在一起,它們就是 Hermes 從「Nous Research 做的一個東西」變成「一個社群」的那個分水嶺。

一個有意思的副產品

agentskills.io 越過 100 個社群技能那天,這個專案身上有個很微妙的東西變了。你沒辦法再靠列特性清單來說明 Hermes Agent 什麼,因為特性集已經沒有邊界。你能描述的是它的形狀:一個唯一的 agent,能跟你喜歡的任何聊天平台對話,按需拉進技能,全部跑在一套統一的安全模型底下。

這已經不是一份特性清單了,這是一個平台。也正因為如此,技能生態比它裡面任何一個單獨的能力都更重要。

延伸閱讀

別錯過

Hermes Agent 社群的第一手消息——新版本、新 skill、新整合。不寄垃圾信,隨時可以退訂。