前言:当一个项目同时出现 Skill、Plugin、MCP,很容易把“源码里带着”误解成“安装后全都启用”。这篇文章不挑代表项:我以 Hermes Agent 源码提交 59795c4 为边界,逐项整理 80 个 Bundled Skill(内置技能)、115 个 Optional Skill(可选技能)、99 份 Plugin Manifest(插件清单)、20 个官方可选 MCP,以及 Hermes 自身 MCP Server 暴露的 10 个工具。
系列导航:这组文章按“总览 → 入口 → 运行时 → 扩展 → 状态 → 协作 → 安全”的顺序展开;第一次阅读可以从总览开始,带着具体问题也可以直接跳到专题。
- 01|Hermes Agent 架构总览:从 Agent Loop 到智能体平台
- 02|Hermes Desktop 架构:Electron 如何连接本地 Python Agent
- 03|Hermes Agent 运行时:AIAgent、模型协议与工具执行
- 04|Hermes Agent 扩展体系:Skill、Plugin 与 MCP
- 05|实战:同一个 Markdown 检查器的 Skill、Plugin 与 MCP 三种实现
- 06|Hermes Agent 的持续学习系统:Memory、Review、Skill 与 Curator
- 07|Hermes Agent 的长会话架构:Prompt Cache、压缩与 SessionDB
- 08|Hermes Agent 的多 Agent 与自动化:从 Goal 到 Kanban
- 09|Hermes Agent 安全架构:审批、沙箱、回滚与凭据隔离
- 10|Hermes Agent 扩展全目录:195 个 Skill、99 个 Plugin 与 20 个 MCP
先把“自带”这个词拆开
下面五组内容都在官方仓库或由仓库生成的目录中,但它们的激活方式不同。仓库包含(shipped)不等于运行时启用(enabled),尤其不要把 Optional Skill 和 Optional MCP 写成默认工具。
| 范围 | 数量 | 安装或发现方式 | 默认是否可用 | 实际进入模型上下文的内容 |
|---|---|---|---|---|
| Bundled Skill(内置技能) | 80 | 安装/更新时同步到 ~/.hermes/skills/ | 通常可被发现;尊重本地删除和修改 | 启动时是名称与摘要索引;需要时由 skill_view 读取正文 |
| Optional Skill(可选技能) | 115 | 显式执行 hermes skills install official/… | 否 | 安装后才参与同一套 Skill 发现 |
| Plugin(插件清单) | 99 | 扫描 plugin.yaml,校验依赖并启用 | 取决于插件与配置 | 插件注册的工具 Schema、Provider、Hook 或 Gateway 能力 |
| Dashboard-only Extension(仅仪表板扩展) | 2 | 随 Dashboard 源码加载;没有 plugin.yaml | 取决于 Dashboard | 不是 Agent Tool Catalog(工具目录) |
| Optional MCP(可选 MCP) | 20 | 从目录安装配置,连接 Server 后执行 tools/list | 否 | 远端 Server 返回的工具名、描述和 JSON Schema |
| Hermes MCP Server | 10 个工具 | 用 hermes mcp-server 把 Gateway 能力暴露给外部 Host | 需显式启动 | 会话、消息、事件和审批工具 Schema |
版本边界:数量与名称来自 2026-08-20 的源码提交
59795c40fff95b3029b8f2b02164da892429070f。在线文档可能滞后于仓库自动生成目录,因此本文把当前提交中的目录文件、plugin.yaml和optional-mcps/作为最终依据。
三条扩展路径怎样进入一次 Agent 回合
flowchart LR
U[用户任务
User Task] --> A[智能体循环
Agent Loop]
A --> SI[技能摘要索引
Skill Summary Index]
SI -->|按需读取 skill_view| SB[技能正文进入上下文
Skill Body in Context]
A --> PR[进程内插件注册表
In-process Plugin Registry]
PR --> TR[工具与生命周期钩子
Tools and Lifecycle Hooks]
A --> MC[MCP 客户端
MCP Client]
MC -->|初始化与工具发现
initialize + tools/list| MS[外部 MCP 服务器
External MCP Server]
MS -->|工具 Schema| A
A -->|工具调用 Tool Call| TR
A -->|执行工具调用
tools/call| MS
SB --> A
TR -->|工具结果 Tool Result| A
MS -->|JSON 结果或错误| A
A --> R[最终回复
Final Response]Skill 的输入输出不是固定 RPC 契约:它向模型提供步骤、约束和示例,真正输入是当前任务上下文,输出可能是文本、文件或后续工具调用。Plugin 是受信任的进程内 Python 扩展,既能注册工具,也能注册模型 Provider、消息平台、记忆 Provider、Hook 等能力。MCP 则是协议边界:Host 先初始化连接并发现工具,再按 Server 声明的 JSON Schema 发送 tools/call;感觉像调用远程插件或 HTTP API,但底层传输也可以是本地 stdio。
80 个 Bundled Skill:安装时随 Hermes 同步
以下每一行都来自当前 skills-catalog.md。输入输出是该类别的典型契约,不是 Hermes 强制的 JSON Schema;真正细节仍以对应 SKILL.md 为准。
Apple 生态(apple,4 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
apple-notes | 通过 memo CLI 创建、搜索和编辑 Apple Notes 笔记 | 标题、正文、搜索词、对象 ID 或操作条件 | 查询结果、创建/修改状态或设备/消息记录 | 安装时同步到用户 Skill 目录 |
apple-reminders | 通过 remindctl 新建、列出和完成 Apple Reminders 提醒 | 标题、正文、搜索词、对象 ID 或操作条件 | 查询结果、创建/修改状态或设备/消息记录 | 安装时同步到用户 Skill 目录 |
findmy | 在 macOS 上查询 Apple 设备和 AirTag 的位置状态 | 标题、正文、搜索词、对象 ID 或操作条件 | 查询结果、创建/修改状态或设备/消息记录 | 安装时同步到用户 Skill 目录 |
imessage | 通过 imsg CLI 收发 iMessage 与 SMS | 标题、正文、搜索词、对象 ID 或操作条件 | 查询结果、创建/修改状态或设备/消息记录 | 安装时同步到用户 Skill 目录 |
自主智能体(autonomous-ai-agents,5 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
claude-code | 把功能开发、修复和 PR 工作委派给 Claude Code CLI | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 安装时同步到用户 Skill 目录 |
codex | 把编码、测试和 PR 工作委派给 OpenAI Codex CLI | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 安装时同步到用户 Skill 目录 |
computer-use | 在不抢占前台焦点的情况下操作桌面应用 | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 安装时同步到用户 Skill 目录 |
hermes-agent | 使用、配置、换肤、扩展并编排 Hermes Agent | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 安装时同步到用户 Skill 目录 |
opencode | 把功能开发和 PR 审查委派给 OpenCode CLI | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 安装时同步到用户 Skill 目录 |
创意与视觉(creative,16 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
architecture-diagram | 生成深色风格的 SVG 架构、云和基础设施图 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
ascii-art | 使用 pyfiglet、cowsay、boxes 或图片转换生成 ASCII 艺术 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
ascii-video | 把视频或音频转换为彩色 ASCII MP4/GIF | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
baoyu-infographic | 使用多种布局、风格和配色生成信息图 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
claude-design | 设计一次性的 HTML 落地页、演示稿或交互原型 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
comfyui | 通过扩散工作流生成图片、视频和音频 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
design-md | 编写、校验并导出 Google DESIGN.md 设计令牌规范 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
excalidraw | 生成手绘风格的 Excalidraw 架构图、流程图和时序图 JSON | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
humanizer | 移除机械化 AI 表达,让文本更接近真实写作语气 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
manim-video | 使用 Manim CE 制作数学、算法和教学动画 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
p5js | 编写 p5.js 生成艺术、Shader、交互和 3D 草图 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
popular-web-designs | 参考常见产品设计系统生成 HTML/CSS 界面 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
pretext | 使用纯文本布局构建创意浏览器演示 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
sketch | 快速生成两到三个可抛弃的 HTML 设计方案用于比较 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
songwriting-and-ai-music | 辅助作词、歌曲结构设计和 Suno 音乐提示词 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
touchdesigner-mcp | 通过 twozero MCP 控制 TouchDesigner | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 安装时同步到用户 Skill 目录 |
电子邮件(email,2 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
email-inbox-triage | 对收件箱会话排序、归类并安全起草回复 | 账号配置、邮件线程、筛选条件和回复意图 | 邮件列表、分类结果、回复草稿或发送状态 | 安装时同步到用户 Skill 目录 |
himalaya | 通过 Himalaya CLI 在终端收发 IMAP/SMTP 邮件 | 账号配置、邮件线程、筛选条件和回复意图 | 邮件列表、分类结果、回复草稿或发送状态 | 安装时同步到用户 Skill 目录 |
GitHub 协作(github,7 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
codebase-inspection | 使用 pygount 统计代码量、语言分布和文件比例 | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
github-auth | 配置 GitHub HTTPS Token、SSH Key 和 gh CLI 登录 | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
github-code-review | 通过 gh 或 REST 审查 PR 差异并提交行内评论 | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
github-issue-to-pr | 把一个 GitHub Issue 推进到经过验证的 PR | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
github-issues | 创建、分类、打标签和分派 GitHub Issue | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
github-pr-workflow | 管理分支、提交、开 PR、CI 和合并的完整生命周期 | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
github-repo-management | 克隆、创建、Fork 仓库并管理远端与 Release | 仓库、Issue/PR 编号、分支、差异和操作目标 | 仓库分析、Issue/PR 变更、评论、CI 或合并状态 | 安装时同步到用户 Skill 目录 |
媒体处理(media,3 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
gif-search | 通过 Tenor 搜索并下载 GIF | 媒体 URL、搜索词、文件和目标内容格式 | 下载文件、媒体特征、字幕、摘要或改写内容 | 安装时同步到用户 Skill 目录 |
songsee | 提取音频频谱、Mel、Chroma 和 MFCC 等特征 | 媒体 URL、搜索词、文件和目标内容格式 | 下载文件、媒体特征、字幕、摘要或改写内容 | 安装时同步到用户 Skill 目录 |
youtube-content | 把 YouTube 字幕整理为摘要、帖子或博客 | 媒体 URL、搜索词、文件和目标内容格式 | 下载文件、媒体特征、字幕、摘要或改写内容 | 安装时同步到用户 Skill 目录 |
机器学习工程(mlops,5 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
evaluating-llms-harness | 使用 lm-eval-harness 在 MMLU、GSM8K 等基准上评测模型 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 安装时同步到用户 Skill 目录 |
huggingface-hub | 搜索、下载和上传 Hugging Face 模型与数据集 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 安装时同步到用户 Skill 目录 |
llama-cpp | 发现 GGUF 模型并使用 llama.cpp 进行本地推理 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 安装时同步到用户 Skill 目录 |
serving-llms-vllm | 使用 vLLM 部署高吞吐 OpenAI 兼容推理服务 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 安装时同步到用户 Skill 目录 |
weights-and-biases | 记录机器学习实验、Sweep、模型注册表和 Dashboard | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 安装时同步到用户 Skill 目录 |
笔记(note-taking,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
obsidian | 在 Obsidian Vault 中读取、搜索、创建和编辑笔记 | Vault 路径、查询词、笔记标题和正文 | 匹配笔记、创建/编辑后的文件与操作状态 | 安装时同步到用户 Skill 目录 |
生产力(productivity,17 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
airtable | 通过 Airtable REST API 增删改查、过滤和 Upsert 记录 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
box | 管理 Box 云文件、分享、搜索和元数据 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
document-to-action-items | 从文档中提取带引用的义务、截止时间和任务 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
docx | 创建、读取、编辑和模板化 Word DOCX 文件 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
google-workspace | 操作 Gmail、Calendar、Drive、Docs 和 Sheets | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
maps | 使用 OpenStreetMap/OSRM 进行地理编码、地点搜索、路线和时区查询 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
meeting-action-items | 把会议记录转成有依据的决策、负责人和任务 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
nano-pdf | 通过自然语言修改现有 PDF 中的文本 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
notion | 通过 Notion API 与 ntn CLI 操作页面、数据库和 Markdown | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
ocr-and-documents | 从 PDF、扫描件和图片中提取文字与结构 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
pdf | 创建、读取、合并、填写和保护 PDF | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
powerpoint | 使用 python-pptx 创建、读取和编辑 PPTX 演示稿 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
product-price-monitor | 监控商品、航班或列表价格并在达到条件时提醒 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
session-librarian | 查找、重命名、归档和清理 Hermes 会话 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
teams-meeting-pipeline | 生成 Teams 会议摘要、重放任务并维护 Graph 订阅 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
weekly-review-planning | 汇总承诺、停滞事项并制定下一周计划 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
xlsx | 创建、读取和编辑 Excel XLSX 工作簿与 CSV | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 安装时同步到用户 Skill 目录 |
研究(research,7 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
arxiv | 按关键词、作者、分类或 ID 搜索 arXiv 论文 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
blocked-page-recovery | 在遇到 403、429、WAF 或付费墙时使用存档和阅读器恢复页面 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
blogwatcher | 监控博客及 RSS/Atom Feed 的新增内容 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
competitor-news-monitor | 持续监控指定公司的重要新闻并生成带引用摘要 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
grounded-citations | 用可验证来源支撑回答和文档中的事实 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
llm-wiki | 构建并查询相互链接的 Markdown 知识库 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
research-paper-writing | 按 NeurIPS、ICML、ICLR 流程设计和撰写机器学习论文 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 安装时同步到用户 Skill 目录 |
智能家居(smart-home,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
openhue | 通过 OpenHue CLI 控制 Philips Hue 灯光、场景和房间 | 设备/房间/场景和目标状态 | 设备状态、控制结果或错误信息 | 安装时同步到用户 Skill 目录 |
社交媒体(social-media,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
xurl | 通过 xurl CLI 搜索、发布 X/Twitter 帖子并处理私信和媒体 | 查询词、帖子内容、目标账号和媒体 | 搜索结果、帖子/私信对象或发布状态 | 安装时同步到用户 Skill 目录 |
软件开发(software-development,11 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
dogfood | 对 Web 应用进行探索式测试并输出证据和缺陷报告 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
hermes-agent-skill-authoring | 编写符合 Hermes 目录、Frontmatter 和结构要求的 SKILL.md | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
inspecting-hermes-desktop-dom | 通过 CDP 检查 Hermes Desktop 的实时 DOM 和 CSS | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
node-inspect-debugger | 通过 Node.js Inspector 与 CDP 调试 JavaScript | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
plan | 只分析并把执行计划写入 .hermes/plans,不直接实施 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
python-debugpy | 使用 pdb 或 debugpy/DAP 调试 Python 程序 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
requesting-code-review | 在提交前执行安全扫描、质量门禁和可控修复 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
simplify-code | 使用四个并行 Agent 清理近期代码改动 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
spike | 用可抛弃实验验证技术假设再决定是否正式实现 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
systematic-debugging | 按理解、定位、验证和修复四个阶段排查根因 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
test-driven-development | 强制执行 RED-GREEN-REFACTOR 测试驱动开发循环 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 安装时同步到用户 Skill 目录 |
115 个 Optional Skill:官方提供,但默认不激活
这些 Skill 位于 optional-skills/,必须显式安装。它们常依赖额外 CLI、账号、硬件或较窄的专业场景,因此没有塞进所有用户的默认发现面。
# 列出当前可用技能 / List currently available skills
hermes skills list
# 安装一个官方可选技能 / Install an official optional skill
hermes skills install official/mcp/fastmcp
# 卸载已安装的可选技能 / Uninstall an installed optional skill
hermes skills uninstall fastmcp自主智能体(autonomous-ai-agents,5 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
antigravity-cli | 操作 Antigravity CLI 的插件、认证和沙箱 | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 需显式安装 |
blackbox | 把编码任务委派给 Blackbox 多模型 CLI | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 需显式安装 |
grok | 把功能开发和 PR 工作委派给 xAI Grok Build CLI | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 需显式安装 |
honcho | 配置和排查 Hermes 的 Honcho 记忆提供方 | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 需显式安装 |
openhands | 把编码任务委派给基于 LiteLLM 的 OpenHands CLI | 任务目标、仓库/工作区、约束和验收条件 | 子 Agent 轨迹、代码改动、报告或 PR 状态 | 需显式安装 |
区块链(blockchain,3 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
evm | 只读查询八条 EVM 链上的钱包、Token 和 Gas | 链、地址、交易/Token 标识和查询范围 | 余额、行情、交易、Gas 或账户历史 | 需显式安装 |
hyperliquid | 查询 Hyperliquid 行情、账户历史并复盘交易 | 链、地址、交易/Token 标识和查询范围 | 余额、行情、交易、Gas 或账户历史 | 需显式安装 |
solana | 按美元估值查询 Solana 钱包、Token、交易和 NFT | 链、地址、交易/Token 标识和查询范围 | 余额、行情、交易、Gas 或账户历史 | 需显式安装 |
沟通与决策(communication,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
one-three-one-rule | 用一个问题、三个方案、一个推荐形成决策简报 | 问题、背景、备选条件和决策约束 | 结构化决策简报和明确推荐 | 需显式安装 |
创意与视觉(creative,15 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
audiocraft-audio-generation | 使用 MusicGen 和 AudioGen 从文字生成音乐或音效 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
baoyu-article-illustrator | 按统一类型、风格和配色为文章生成插图 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
baoyu-comic | 把教育、人物或教程内容生成知识漫画 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
concept-diagrams | 生成扁平、简洁的教学 SVG 概念图 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
creative-ideation | 使用命名创意方法系统地产生和筛选点子 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
draw-your-font | 把手写照片转换为可安装的 TTF/WOFF 字体 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
heartmula | 根据歌词和标签生成接近 Suno 工作流的歌曲 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
hyperframes | 把 HTML Composition 渲染为 MP4/WebM 视频 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
kanban-video-orchestrator | 使用 Kanban 和多 Agent 规划并执行视频生产流水线 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
meme-generation | 使用模板和 Pillow 文字排版生成 Meme PNG | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
pixel-art | 使用 NES、Game Boy、PICO-8 等时代调色板制作像素画 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
simple-english | 把技术文本改写为 ASD-STE100 简化技术英语 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
social-media-content-calendar | 从 Brief 到发布规划多平台社交内容日历 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
tldraw-offline | 由 Agent 驱动和脚本化离线 tldraw 画布 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
unreal-mcp | 通过 MCP 自动化 Unreal Engine 场景、Actor 和渲染 | 主题、内容、风格、尺寸、素材和输出格式 | HTML、SVG、JSON、图片、音频或视频文件 | 需显式安装 |
数据科学(data-science,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
jupyter-notebook | 连接实时 Jupyter Kernel 迭代执行 Python | Notebook、Python 代码、数据和迭代目标 | Cell 输出、图表、变量状态和 Notebook 文件 | 需显式安装 |
DevOps 与运维(devops,6 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
actual-setup | 在 Hermes 中配置 Actual Computer 推理服务 | 主机/容器/服务配置、日志和期望状态 | 部署或诊断结果、状态、日志和配置改动 | 需显式安装 |
docker-management | 管理 Docker 容器、镜像、Volume 和 Compose | 主机/容器/服务配置、日志和期望状态 | 部署或诊断结果、状态、日志和配置改动 | 需显式安装 |
hermes-s6-container-supervision | 修改和调试 Hermes Docker 镜像中的 s6 服务 | 主机/容器/服务配置、日志和期望状态 | 部署或诊断结果、状态、日志和配置改动 | 需显式安装 |
inference-sh-cli | 通过 inference.sh CLI 调用图片、视频和 LLM 应用 | 主机/容器/服务配置、日志和期望状态 | 部署或诊断结果、状态、日志和配置改动 | 需显式安装 |
pinggy-tunnel | 通过 Pinggy 和 SSH 创建免安装 localhost 隧道 | 主机/容器/服务配置、日志和期望状态 | 部署或诊断结果、状态、日志和配置改动 | 需显式安装 |
watchers | 轮询 RSS、JSON API 和 GitHub,并用水位线去重 | 主机/容器/服务配置、日志和期望状态 | 部署或诊断结果、状态、日志和配置改动 | 需显式安装 |
产品自测(dogfood,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
adversarial-ux-test | 扮演对抗性用户发现并归类 UX 痛点 | 应用入口、测试角色、范围和验收标准 | 带截图/复现证据的 UX 缺陷清单 | 需显式安装 |
电子邮件(email,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
agentmail | 为 Agent 提供可收发邮件的独立邮箱 | 账号配置、邮件线程、筛选条件和回复意图 | 邮件列表、分类结果、回复草稿或发送状态 | 需显式安装 |
金融分析(finance,9 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
3-statement-model | 在 Excel 中建立利润表、资产负债表和现金流量表联动模型 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
comps-analysis | 创建可比公司估值分析工作簿 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
dcf-model | 创建折现现金流估值工作簿 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
excel-author | 使用 openpyxl 创建可审计的无头金融工作簿 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
lbo-model | 创建包含 IRR 和 MOIC 的杠杆收购模型 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
merger-model | 创建并购增厚/摊薄分析工作簿 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
polymarket | 查询 Polymarket 市场、价格、订单簿和历史 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
pptx-author | 使用 python-pptx 无头生成 PowerPoint 演示稿 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
stocks | 通过 Yahoo 查询股票和加密资产的报价、历史与比较 | 公司/市场数据、假设、期间和工作簿模板 | 可审计的 XLSX/PPTX、估值、行情或模型指标 | 需显式安装 |
游戏(gaming,2 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
minecraft-modpack-server | 部署和维护 CurseForge/Modrinth 模组 Minecraft 服务器 | 游戏/整合包、版本、服务器或模拟器状态 | 服务器状态、游戏动作、存档或运行日志 | 需显式安装 |
pokemon-player | 通过无头模拟器和内存读取游玩 Pokemon | 游戏/整合包、版本、服务器或模拟器状态 | 服务器状态、游戏动作、存档或运行日志 | 需显式安装 |
健康(health,2 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
fitness-nutrition | 使用 wger/USDA 规划训练、宏量营养和身体指标 | 个人目标、身体数据、饮食/训练约束或 BCI 流 | 训练营养计划、指标或实时认知状态 | 需显式安装 |
neuroskill-bci | 读取 NeuroSkill 的实时 BCI 认知和情绪状态 | 个人目标、身体数据、饮食/训练约束或 BCI 流 | 训练营养计划、指标或实时认知状态 | 需显式安装 |
MCP 开发(mcp,3 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
fastmcp | 使用 Python 构建、测试和部署 FastMCP 服务器 | 服务器代码/地址、工具 Schema、认证和部署目标 | MCP 配置、Server、工具列表、调用结果或 OAuth 状态 | 需显式安装 |
mcp-oauth-remote-gateway | 在无头 Gateway 上手动完成远程 MCP OAuth | 服务器代码/地址、工具 Schema、认证和部署目标 | MCP 配置、Server、工具列表、调用结果或 OAuth 状态 | 需显式安装 |
mcporter | 从终端列出、认证和调用 MCP Server 与 Tool | 服务器代码/地址、工具 Schema、认证和部署目标 | MCP 配置、Server、工具列表、调用结果或 OAuth 状态 | 需显式安装 |
迁移(migration,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
openclaw-migration | 把 OpenClaw 的记忆、技能和配置导入 Hermes | 旧系统目录、配置、记忆和 Skill | 迁移后的 Hermes 文件、映射报告和验证结果 | 需显式安装 |
机器学习工程(mlops,31 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
accelerate | 用少量代码在多 GPU 上运行 PyTorch 训练 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
axolotl | 使用 YAML 配置 LoRA、DPO 和 GRPO 等 LLM 微调 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
chroma | 使用 Chroma 向量库完成 RAG 和语义搜索 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
clip | 进行零样本图片分类和图文检索 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
dspy | 用声明式 LM 程序自动优化 Prompt 和 RAG | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
faiss | 进行大规模高性能向量相似度搜索 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
flash-attention | 加速长序列 Transformer 训练和推理 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
guidance | 用 Grammar 约束 LLM 输出并保证 JSON 等格式 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
huggingface-tokenizers | 训练和使用 BPE/WordPiece 高速 Tokenizer | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
instructor | 使用 Pydantic 验证结构化 LLM 输出 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
lambda-labs | 创建按需 GPU 云实例执行机器学习任务 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
llava | 执行视觉问答、图片描述和多模态对话 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
modal | 在无服务器 GPU 平台运行任务和模型 API | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
nemo-curator | 对 LLM 训练数据去重、过滤并删除 PII | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
obliteratus | 使用差分均值方法研究和移除模型拒答行为 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
outlines | 使用 JSON、Regex 或 Pydantic 约束模型生成 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
peft | 在有限显存下使用 LoRA 微调大型模型 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
pinecone | 使用托管向量数据库构建生产 RAG 与搜索 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
pytorch-fsdp | 使用 Fully Sharded Data Parallel 训练大型模型 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
pytorch-lightning | 使用结构化训练循环和内置分布式能力训练模型 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
qdrant | 使用 Qdrant 构建生产级向量搜索与 RAG | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
saelens | 训练稀疏自动编码器解释模型特征 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
segment-anything-model | 用点、框或 Mask 完成 SAM 零样本图片分割 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
simpo | 使用不依赖参考模型的偏好对齐方法训练模型 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
slime | 使用 Megatron 和 SGLang 进行 LLM 强化学习后训练 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
stable-diffusion | 完成文生图、局部重绘和图生图 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
tensorrt-llm | 在 NVIDIA GPU 上部署高吞吐 LLM 推理 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
torchtitan | 使用 PyTorch 四维并行进行大规模 LLM 预训练 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
trl-fine-tuning | 使用 TRL 执行 SFT、DPO、GRPO、RLOO 和奖励建模 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
unsloth | 使用更少显存加速 LoRA/QLoRA 微调 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
whisper | 转录并翻译多语言语音 | 模型/数据集、配置、硬件资源和评测或训练目标 | 指标、模型文件、服务端点、实验记录或推理结果 | 需显式安装 |
支付(payments,3 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
mpp-agent | 通过 Machine Payments Protocol 支付 HTTP 402 API | 支付目标、金额、服务/项目和审批条件 | 支付、订阅、服务创建或凭据同步状态 | 需显式安装 |
stripe-link-cli | 通过 Stripe Link、卡片和审批完成 Agent 支付 | 支付目标、金额、服务/项目和审批条件 | 支付、订阅、服务创建或凭据同步状态 | 需显式安装 |
stripe-projects | 创建 SaaS 服务并通过 Stripe Projects 同步凭据 | 支付目标、金额、服务/项目和审批条件 | 支付、订阅、服务创建或凭据同步状态 | 需显式安装 |
生产力(productivity,7 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
canvas | 通过 API Token 查询 Canvas LMS 课程和作业 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
here-now | 发布 here.now 临时站点并把文件保存到 Drives | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
memento-flashcards | 创建、复习、测验和导出间隔重复记忆卡 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
shop | 搜索商品、结账、跟踪订单和处理退货 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
shopify | 通过 GraphQL 查询 Shopify Admin 与 Storefront | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
siyuan | 通过 API 查询和编辑思源知识库 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
telephony | 申请 Twilio 号码、发送 SMS/MMS 并发起 AI 外呼 | 文档、账号/工作区、查询条件、目标格式和业务约束 | 结构化数据、文档文件、任务、日程或操作状态 | 需显式安装 |
研究(research,12 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
bioinformatics | 进入基因组学和计算生物学技能集合 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
darwinian-evolver | 使用演化循环优化 Prompt、Regex、SQL 和代码 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
domain-intel | 被动查询子域名、SSL 证书、WHOIS 和 DNS | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
drug-discovery | 查询 ChEMBL、药物相似性和相互作用 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
duckduckgo-search | 通过 ddgs 免费搜索网页、新闻和图片 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
gitnexus-explorer | 启动交互式代码库知识图谱 Web UI | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
osint-investigation | 使用公共记录和制裁数据进行合规 OSINT 调查 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
parallel-cli | 通过 Parallel CLI 执行搜索、深度研究和数据补全 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
pinecone-research | 使用 Pinecone 构建 Agent RAG 和长期记忆 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
qmd | 对笔记、文档和转录文本进行本地混合搜索 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
scrapling | 使用隐身浏览抓取网站并处理 Cloudflare 防护 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
searxng-search | 通过 SearXNG 聚合多个搜索引擎 | 研究问题、关键词、来源范围、时间和引用要求 | 检索结果、证据、引用、监控记录或研究稿件 | 需显式安装 |
安全(security,6 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
1password | 配置 1Password CLI、登录并读取或注入秘密 | 授权范围、目标、账号/证据和安全约束 | 秘密读取、调查结果、IOC、删除请求或测试报告 | 需显式安装 |
godmode | 研究和执行多种 LLM 越狱提示技术 | 授权范围、目标、账号/证据和安全约束 | 秘密读取、调查结果、IOC、删除请求或测试报告 | 需显式安装 |
oss-forensics | 对 GitHub 开源供应链事件进行恢复、IOC 和报告分析 | 授权范围、目标、账号/证据和安全约束 | 秘密读取、调查结果、IOC、删除请求或测试报告 | 需显式安装 |
sherlock | 在多个平台查询某个用户名对应的账户 | 授权范围、目标、账号/证据和安全约束 | 秘密读取、调查结果、IOC、删除请求或测试报告 | 需显式安装 |
unbroker | 自动提交数据经纪商个人信息删除请求 | 授权范围、目标、账号/证据和安全约束 | 秘密读取、调查结果、IOC、删除请求或测试报告 | 需显式安装 |
web-pentest | 在明确授权范围内进行 Web 渗透测试并生成报告 | 授权范围、目标、账号/证据和安全约束 | 秘密读取、调查结果、IOC、删除请求或测试报告 | 需显式安装 |
软件开发(software-development,3 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
code-wiki | 为任意代码库生成 Wiki 文档和 Mermaid 图 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 需显式安装 |
rest-graphql-debug | 排查 REST/GraphQL 状态码、鉴权、Schema 和复现请求 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 需显式安装 |
subagent-driven-development | 使用 delegate_task 子 Agent 和两阶段审查执行开发计划 | 代码库、问题描述、日志、测试和验收条件 | 计划、诊断证据、代码/测试改动或审查报告 | 需显式安装 |
Web 开发(web-development,2 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
cloudflare-temporary-deploy | 使用 wrangler 临时部署无需账号的 Cloudflare Worker | 项目文件、页面目标、部署参数和交互意图 | 公开 URL、页面组件、操作结果或部署状态 | 需显式安装 |
page-agent | 在 Web 应用中嵌入自然语言页面操作助手 | 项目文件、页面目标、部署参数和交互意图 | 公开 URL、页面组件、操作结果或部署状态 | 需显式安装 |
元宝群聊(yuanbao,1 个)
| Skill | 做什么 | 典型输入 | 典型输出 | 状态 |
|---|---|---|---|---|
yuanbao | 在元宝群中 @ 用户并查询群信息与成员 | 群 ID、用户、查询条件或消息内容 | 群成员/群信息、@ 消息或操作状态 | 需显式安装 |
99 个 Plugin:不只是工具插件
统计单位是当前 plugins/ 下带 plugin.yaml 的插件。Plugin Manager(插件管理器)发现清单后处理依赖、配置与启用状态;插件 Python Module(插件 Python 模块)拿到 PluginContext(插件上下文,通常简称 ctx),通过它向作用域注册表注册 Tool、Hook、Provider 等组件。ctx 不是神秘协议,而是 Hermes 传给插件的受控注册接口和运行环境。
sequenceDiagram
participant PM as 插件管理器
Plugin Manager
participant MF as 插件清单
plugin.yaml Manifest
participant PY as 插件 Python 模块
Plugin Python Module
participant CTX as 插件上下文
PluginContext (ctx)
participant REG as 作用域注册表
Scoped Registry
PM->>MF: 扫描、校验版本与依赖
Discover and validate
PM->>PY: 导入启用的入口模块
Import enabled entrypoint
PM->>CTX: 创建当前会话作用域
Create session scope
PY->>CTX: 注册组件
register(...)
CTX->>REG: 注册工具、Hook 或 Provider
Register tool, hook, or provider
REG-->>PM: 可分派组件
Dispatchable component浏览器自动化(browser,3 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
browser-browser-use | 通过 browser-use 执行浏览器导航与页面自动化 | URL、自然语言任务、点击/输入动作和会话配置 | DOM/正文、截图、下载文件、动作结果或错误 | plugins/browser/browser_use/plugin.yaml |
browser-browserbase | 通过 browserbase 执行浏览器导航与页面自动化 | URL、自然语言任务、点击/输入动作和会话配置 | DOM/正文、截图、下载文件、动作结果或错误 | plugins/browser/browserbase/plugin.yaml |
browser-firecrawl | 通过 firecrawl 执行浏览器导航与页面自动化 | URL、自然语言任务、点击/输入动作和会话配置 | DOM/正文、截图、下载文件、动作结果或错误 | plugins/browser/firecrawl/plugin.yaml |
定时调度提供方(cron_providers,1 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
chronos | 用 Chronos 作为 Cron 调度提供方,保存并唤醒计划任务 | 任务、触发时间、时区和认证配置 | 任务 ID、下一次触发时间、唤醒或错误 | plugins/cron_providers/chronos/plugin.yaml |
仪表板认证(dashboard_auth,4 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
basic | 为 Dashboard 提供 HTTP Basic Authentication(基本认证) | 请求头、凭据、Cookie/Session 和认证配置 | 身份上下文、会话或允许/拒绝结果 | plugins/dashboard_auth/basic/plugin.yaml |
drain | 在服务排空阶段控制 Dashboard 会话与认证状态 | 请求头、凭据、Cookie/Session 和认证配置 | 身份上下文、会话或允许/拒绝结果 | plugins/dashboard_auth/drain/plugin.yaml |
nous | 使用 Nous 账号体系验证 Dashboard 用户 | 请求头、凭据、Cookie/Session 和认证配置 | 身份上下文、会话或允许/拒绝结果 | plugins/dashboard_auth/nous/plugin.yaml |
self-hosted | 为自托管 Dashboard 提供本地认证策略 | 请求头、凭据、Cookie/Session 和认证配置 | 身份上下文、会话或允许/拒绝结果 | plugins/dashboard_auth/self_hosted/plugin.yaml |
独立功能(standalone,5 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
disk-cleanup | 为 Hermes 工作目录提供磁盘分析与清理能力 | 目录、保留策略和 dry-run 选项 | 占用报告、候选文件或清理结果 | plugins/disk-cleanup/plugin.yaml |
google_meet | 接入 Google Meet 会议与转录相关能力 | 会议链接、账号授权和查询条件 | 会议资料、转录内容或操作状态 | plugins/google_meet/plugin.yaml |
security-guidance | 在工具执行前后补充安全指导与高风险操作提醒 | 工具调用、参数和会话安全上下文 | 安全提示、允许/拒绝建议或审计信息 | plugins/security-guidance/plugin.yaml |
spotify | 控制 Spotify 搜索、播放与播放列表 | 搜索词、设备、曲目或播放列表参数 | 曲目数据、播放状态或修改结果 | plugins/spotify/plugin.yaml |
teams_pipeline | 为 Teams 场景提供消息处理流水线 | Teams 消息事件、会话和流水线配置 | 规范化事件、回复或处理状态 | plugins/teams_pipeline/plugin.yaml |
图片生成(image_gen,7 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
deepinfra | 使用 deepinfra 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/deepinfra/plugin.yaml |
fal | 使用 fal 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/fal/plugin.yaml |
krea | 使用 krea 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/krea/plugin.yaml |
openai | 使用 openai 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/openai/plugin.yaml |
openai-codex | 使用 openai-codex 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/openai-codex/plugin.yaml |
openrouter | 使用 openrouter 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/openrouter/plugin.yaml |
xai | 使用 xai 生成或编辑图片 | 提示词、参考图片、尺寸、模型与生成参数 | 图片文件或 URL、生成元数据和错误 | plugins/image_gen/xai/plugin.yaml |
外部记忆提供方(memory,8 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
byterover | 接入 ByteRover,把代码与知识组织成可检索知识树 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/byterover/plugin.yaml |
hindsight | 接入 Hindsight,以实体和关系维护长期记忆 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/hindsight/plugin.yaml |
holographic | 使用 SQLite、全文检索、信任分数与 HRR 表示维护本地记忆 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/holographic/plugin.yaml |
honcho | 接入 Honcho,维护面向用户的心理模型与对话记忆 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/honcho/plugin.yaml |
mem0 | 接入 Mem0,执行事实抽取、语义搜索、去重和可选重排 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/mem0/plugin.yaml |
openviking | 接入 OpenViking 上下文数据库,统一管理长期上下文 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/openviking/plugin.yaml |
retaindb | 接入 RetainDB,提供本地与云端混合记忆 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/retaindb/plugin.yaml |
supermemory | 接入 Supermemory,以语义画像和召回补充当前回合 | 当前回合、用户/会话标识、待写事实或召回查询 | 召回记忆、写入/删除状态和 Provider 元数据 | plugins/memory/supermemory/plugin.yaml |
模型提供方(model-providers,36 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
actual-provider | 接入 actual 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/actual/plugin.yaml |
ai-gateway-provider | 接入 ai-gateway 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/ai-gateway/plugin.yaml |
alibaba-provider | 接入 alibaba 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/alibaba/plugin.yaml |
alibaba-coding-plan-provider | 接入 alibaba-coding-plan 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/alibaba-coding-plan/plugin.yaml |
anthropic-provider | 接入 anthropic 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/anthropic/plugin.yaml |
arcee-provider | 接入 arcee 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/arcee/plugin.yaml |
azure-foundry-provider | 接入 azure-foundry 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/azure-foundry/plugin.yaml |
bedrock-provider | 接入 bedrock 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/bedrock/plugin.yaml |
commandcode-provider | 接入 commandcode 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/commandcode/plugin.yaml |
copilot-provider | 接入 copilot 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/copilot/plugin.yaml |
copilot-acp-provider | 接入 copilot-acp 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/copilot-acp/plugin.yaml |
custom-provider | 接入 custom 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/custom/plugin.yaml |
deepinfra-provider | 接入 deepinfra 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/deepinfra/plugin.yaml |
deepseek-provider | 接入 deepseek 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/deepseek/plugin.yaml |
fireworks-provider | 接入 fireworks 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/fireworks/plugin.yaml |
gemini-provider | 接入 gemini 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/gemini/plugin.yaml |
gmi-provider | 接入 gmi 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/gmi/plugin.yaml |
huggingface-provider | 接入 huggingface 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/huggingface/plugin.yaml |
kilocode-provider | 接入 kilocode 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/kilocode/plugin.yaml |
kimi-coding-provider | 接入 kimi-coding 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/kimi-coding/plugin.yaml |
meta-ai-provider | 接入 meta-ai 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/meta-ai/plugin.yaml |
minimax-provider | 接入 minimax 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/minimax/plugin.yaml |
nous-provider | 接入 nous 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/nous/plugin.yaml |
novita-provider | 接入 novita 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/novita/plugin.yaml |
nvidia-provider | 接入 nvidia 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/nvidia/plugin.yaml |
ollama-cloud-provider | 接入 ollama-cloud 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/ollama-cloud/plugin.yaml |
openai-codex-provider | 接入 openai-codex 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/openai-codex/plugin.yaml |
opencode-zen-provider | 接入 opencode-zen 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/opencode-zen/plugin.yaml |
openrouter-provider | 接入 openrouter 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/openrouter/plugin.yaml |
qwen-oauth-provider | 接入 qwen-oauth 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/qwen-oauth/plugin.yaml |
stepfun-provider | 接入 stepfun 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/stepfun/plugin.yaml |
upstage-provider | 接入 upstage 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/upstage/plugin.yaml |
vertex-provider | 接入 vertex 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/vertex/plugin.yaml |
xai-provider | 接入 xai 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/xai/plugin.yaml |
xiaomi-provider | 接入 xiaomi 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/xiaomi/plugin.yaml |
zai-provider | 接入 zai 模型后端,并映射 Hermes 的消息、工具调用和流式响应 | 模型 ID、消息、工具 Schema、采样参数和凭据 | Assistant 文本、Tool Call、推理/用量元数据或错误 | plugins/model-providers/zai/plugin.yaml |
可观测性(observability,1 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
langfuse | 把 Agent、模型和工具生命周期上报到 Langfuse | Trace/Span、Prompt、Usage、延迟和标签 | 上报状态,以及 Langfuse 中可查询的 Trace | plugins/observability/langfuse/plugin.yaml |
消息平台(platforms,22 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
a2a-platform | 接入 a2a 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/a2a/plugin.yaml |
buzz-platform | 接入 buzz 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/buzz/plugin.yaml |
dingtalk-platform | 接入 dingtalk 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/dingtalk/plugin.yaml |
discord-platform | 接入 discord 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/discord/plugin.yaml |
email-platform | 接入 email 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/email/plugin.yaml |
feishu-platform | 接入 feishu 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/feishu/plugin.yaml |
google_chat-platform | 接入 google chat 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/google_chat/plugin.yaml |
homeassistant-platform | 接入 homeassistant 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/homeassistant/plugin.yaml |
irc-platform | 接入 irc 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/irc/plugin.yaml |
line-platform | 接入 line 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/line/plugin.yaml |
matrix-platform | 接入 matrix 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/matrix/plugin.yaml |
mattermost-platform | 接入 mattermost 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/mattermost/plugin.yaml |
ntfy-platform | 接入 ntfy 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/ntfy/plugin.yaml |
photon-platform | 接入 photon 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/photon/plugin.yaml |
raft-platform | 接入 raft 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/raft/plugin.yaml |
simplex-platform | 接入 simplex 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/simplex/plugin.yaml |
slack-platform | 接入 slack 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/slack/plugin.yaml |
sms-platform | 接入 sms 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/sms/plugin.yaml |
teams-platform | 接入 teams 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/teams/plugin.yaml |
telegram-platform | 接入 telegram 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/telegram/plugin.yaml |
wecom-platform | 接入 wecom 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/wecom/plugin.yaml |
whatsapp-platform | 接入 whatsapp 消息通道,在平台事件与 Hermes Gateway 会话之间双向转换 | 平台 Webhook/轮询事件、身份、会话与附件 | 规范化入站消息、出站回复和发送状态 | plugins/platforms/whatsapp/plugin.yaml |
视频生成(video_gen,3 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
deepinfra | 使用 deepinfra 生成视频 | 提示词、参考素材、模型、时长和画面参数 | 任务 ID、进度、视频文件或 URL 和错误 | plugins/video_gen/deepinfra/plugin.yaml |
fal | 使用 fal 生成视频 | 提示词、参考素材、模型、时长和画面参数 | 任务 ID、进度、视频文件或 URL 和错误 | plugins/video_gen/fal/plugin.yaml |
xai | 使用 xai 生成视频 | 提示词、参考素材、模型、时长和画面参数 | 任务 ID、进度、视频文件或 URL 和错误 | plugins/video_gen/xai/plugin.yaml |
Web 搜索与提取(web,9 个)
| Plugin | 做什么 | 输入 | 输出 | 清单位置 |
|---|---|---|---|---|
web-brave-free | 以 brave-free 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/brave_free/plugin.yaml |
web-ddgs | 以 ddgs 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/ddgs/plugin.yaml |
web-exa | 以 exa 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/exa/plugin.yaml |
web-firecrawl | 以 firecrawl 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/firecrawl/plugin.yaml |
web-keenable | 以 keenable 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/keenable/plugin.yaml |
web-parallel | 以 parallel 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/parallel/plugin.yaml |
web-searxng | 以 searxng 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/searxng/plugin.yaml |
web-tavily | 以 tavily 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/tavily/plugin.yaml |
web-xai | 以 xai 作为搜索、抓取或内容提取后端 | 查询词、URL、时间/站点过滤和结果数量 | 搜索结果、网页正文、元数据、引用或错误 | plugins/web/xai/plugin.yaml |
还有 2 个没有 plugin.yaml 的 Dashboard-only Extension
| 扩展 | 做什么 | 输入 | 输出 | 为什么不计入 99 |
|---|---|---|---|---|
hermes-achievements | 在 Dashboard 展示成就与进度体验 | 用户/会话行为和成就规则 | 成就状态与界面组件 | 它是 Dashboard 扩展,不走通用 Plugin Manifest |
kanban/dashboard | 展示多 Agent Kanban 工作流与任务状态 | Board、Task、Worker 与事件 | 看板界面和实时状态 | 它属于 Kanban 的 Dashboard 前端 |
20 个 Optional MCP:连接之后才会成为工具
MCP 的发现分两层:Hermes 先从配置/目录知道“应该启动或连接哪个 Server”,完成 initialize 协商;随后向 Server 调用 tools/list,把返回的工具名、描述和 inputSchema 加入 Tool Registry(工具注册表)。模型选择工具后,Hermes 发送 tools/call,Server 返回文本、结构化数据、资源或协议错误。远程 HTTP/SSE 项通常还要走 OAuth;本地 stdio 项由 Hermes 启动子进程,通过标准输入输出交换 MCP 消息。
| MCP | 做什么 | 典型输入 | 典型输出 | 传输与认证 |
|---|---|---|---|---|
airtable | 管理 Base、Table 和 Record | Base/Table ID、过滤条件或记录字段 | 记录列表、字段数据或增删改状态 | 远程 HTTP + OAuth |
asana | 管理任务、项目和目标 | Workspace/Project、任务字段和查询条件 | 任务/项目对象、评论或修改状态 | 远程 HTTP/SSE + OAuth |
atlassian | 操作 Jira Issue 和 Confluence 页面 | Site、JQL、Issue/Page ID 或正文 | Issue、页面、搜索结果或写入状态 | 远程 HTTP/SSE + OAuth |
comfy-cloud | 在 Comfy Cloud 生成图片、视频、音频和 3D | 模板/Workflow、Prompt、模型和上传素材 | Job ID、队列状态和生成文件 URL | 远程 HTTP + OAuth |
datadog | 查询日志、Monitor、Dashboard 和 Incident | 时间范围、查询语句、服务或 Monitor ID | 日志事件、指标、Monitor/Incident 对象 | 远程 HTTP + OAuth |
figma | 读取设计上下文、Code Connect 并写入画布 | Figma URL、File/Node ID、设计或修改要求 | 节点结构、设计变量、代码上下文或画布变更 | 远程 HTTP + OAuth |
hugging_face | 查询 Hugging Face 模型、数据集、Space 和论文 | 关键词、Repo ID、Task、作者或筛选条件 | Hub 条目、元数据、README 或搜索结果 | 远程 HTTP + OAuth |
intercom | 访问客服会话、Ticket 和客户资料 | 联系人、Conversation/Ticket ID 和筛选条件 | 会话、客户、Ticket 对象或更新状态 | 远程 HTTP + OAuth |
linear | 查询、创建和更新 Issue、Project 与 Comment | Team/Project、Issue ID、标题、正文和状态 | Issue/Project 对象、评论或修改结果 | 远程 HTTP + OAuth |
n8n | 检查和管理 n8n Workflow 与执行记录 | Workflow/Execution ID、查询条件和 n8n API 配置 | Workflow、执行详情、失败记录或导出 JSON | 本地 stdio + API Key |
netlify | 管理站点、Deploy 和环境变量 | Site/Deploy ID、项目目录或变量键值 | 站点/部署信息、日志、URL 或修改状态 | 远程 HTTP + OAuth |
notion | 操作 Notion 页面和数据库 | Page/Database ID、查询、属性和正文 | 页面、数据库记录、搜索结果或写入状态 | 远程 HTTP + OAuth |
paypal | 处理支付、Invoice 和 Subscription | 金额、币种、客户、订单或订阅参数 | 支付/发票/订阅对象和状态 | 远程 HTTP/SSE + OAuth |
sentry | 读取 Issue、Stack Trace 和错误上下文 | Organization/Project、Issue ID、时间和查询条件 | Issue、事件、堆栈、Release 和关联上下文 | 远程 HTTP + OAuth |
square | 管理商品目录、Order 和 Payment | Location、Catalog Object、订单和支付参数 | 目录项、订单、支付对象或状态 | 远程 HTTP/SSE + OAuth |
stripe | 管理支付、Customer 和 Invoice | 金额、客户、Invoice/Payment ID 和过滤条件 | Customer、Payment、Invoice 对象或操作状态 | 远程 HTTP + OAuth |
supabase | 操作数据库、Auth 和 Storage | Project、SQL/表、用户或 Bucket/Object 参数 | 查询行、Schema、用户、文件或操作状态 | 远程 HTTP + OAuth |
unreal-engine | 驱动 Unreal Engine 5.8 编辑器 | 场景、Actor、Material、灯光或自动化测试参数 | 编辑器对象、场景修改、测试结果或错误 | 本机 HTTP,无认证 |
vercel | 管理 Project、Deployment 和日志 | Project/Deployment ID、环境、源码或查询条件 | 部署状态、公开 URL、日志或项目配置 | 远程 HTTP + OAuth |
webflow | 操作 Site、CMS Collection 和 Page | Site/Collection/Item ID、字段和页面内容 | 站点、CMS 数据、页面或发布状态 | 远程 HTTP + OAuth |
MCP 注册与调用时序
sequenceDiagram
participant H as Hermes MCP 客户端
Hermes MCP Client
participant S as MCP 服务器
MCP Server
participant R as 工具注册表
Tool Registry
participant M as 大模型
LLM
H->>S: initialize(协议与能力协商)
S-->>H: 服务器信息与能力
serverInfo + capabilities
H->>S: tools/list(工具发现)
S-->>H: 名称、描述与输入 Schema
name + description + inputSchema
H->>R: 注册带命名空间的工具
Register namespaced tools
R-->>M: 可用工具 Schema
Available tool schemas
M->>H: Tool Call(工具调用)
H->>S: 按名称和参数调用工具
tools/call(name, arguments)
S-->>H: 文本内容、结构化内容或错误
content / structuredContent / error
H-->>M: Tool Result(工具结果)反过来:Hermes 自身也能充当 MCP Server
这条方向容易和“让 Hermes 调用外部 MCP”混淆。执行 hermes mcp-server 后,其他兼容 MCP 的 Host 可以把 Hermes Gateway 当作 Server,访问会话、消息、附件、事件和审批。当前源码暴露下面 10 个工具。
| Hermes MCP 工具 | 输入 | 输出 |
|---|---|---|
conversations_list | 平台、名称搜索词和分页条件 | 活动会话摘要列表 |
conversation_get | Session Key | 单个会话的详细信息 |
messages_read | Session Key、数量和时间/游标 | 最近消息历史 |
attachments_fetch | Session Key 与消息标识 | 图片、媒体等非文本附件 |
events_poll | 上次游标 after_cursor | 当前可用的新消息与审批事件 |
events_wait | 游标和 timeout_ms | 等待到的新事件或超时结果 |
messages_send | telegram:、discord: 等目标和文本 | 发送状态与平台消息标识 |
channels_list | 可选平台筛选条件 | 所有可发送消息的平台目标 |
permissions_list_open | 无或会话筛选条件 | 当前待处理的工具审批请求 |
permissions_respond | Approval ID 与 allow/deny 决策 | 审批处理结果 |
# 查看插件状态与诊断 / Inspect plugin state and diagnostics
hermes plugins list
hermes plugins doctor
# 查看 MCP 配置 / Inspect MCP configuration
hermes mcp list
# 把 Hermes Gateway 暴露为 MCP Server / Expose Hermes Gateway as an MCP server
hermes mcp-server怎么选:先看你要改变哪一层
| 需求 | 优先选择 | 原因 |
|---|---|---|
| 告诉模型一套方法、规范、操作步骤 | Skill | 按需加载文本,创建和分发成本最低 |
| 扩展 Hermes 进程内生命周期、模型、平台、记忆或高频工具 | Plugin | 能访问 PluginContext 和内部扩展点,延迟低 |
| 把独立服务以稳定 Schema 提供给多个 Agent Host | MCP | 进程/语言解耦,发现和调用协议标准化 |
| 让外部 Host 访问 Hermes 的会话与审批 | Hermes MCP Server | 方向与外部 MCP 相反,由 Hermes 暴露能力 |
一句话记忆:Skill 是“把方法装进上下文”,Plugin 是“把组件装进 Hermes 进程”,MCP 是“通过协议连接进程外能力”。目录再长,判断边界仍然只需要看:谁发现它、代码在哪个进程执行、输入输出是否由 Schema 约束。
参考资料与源码入口
- Hermes Agent 源码快照 59795c4
- Bundled Skills Catalog(内置技能目录)
- Optional Skills Catalog(可选技能目录)
- Skills System(技能发现与加载)
- Plugins(插件系统)
- Built-in Plugins(官方插件说明)
- Plugin 源码目录
- MCP Servers(配置、发现与调用)
- Optional MCP 源码目录
- Hermes MCP Server 源码
题图来源:《阿尔卑斯湖、群山与全景》,创作者 derwiki,来自 Pixabay;依据 Pixabay Content License(Pixabay 内容许可)使用。