{/* 本页面由 website/scripts/generate-skill-docs.py 从技能 SKILL.md 自动生成。请编辑源 SKILL.md 而非本页面。 */}
Hermes Agent
配置、扩展或贡献 Hermes Agent。
技能元数据
| 来源 | 内置(默认安装) |
| 路径 | skills/autonomous-ai-agents/hermes-agent |
| 版本 | 2.1.0 |
| 作者 | Hermes Agent + Teknium |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | hermes, setup, configuration, multi-agent, spawning, cli, gateway, development |
| 相关技能 | claude-code, codex, opencode |
参考:完整 SKILL.md
:::info 以下是此技能被触发时 Hermes 加载的完整技能定义。这是技能激活时代理所看到的指令。 :::
Hermes Agent
Hermes Agent 是 Nous Research 开发的开源 AI 代理框架,可在终端、消息平台和 IDE 中运行。它属于与 Claude Code(Anthropic)、Codex(OpenAI)和 OpenClaw 相同的类别——使用工具调用来与系统交互的自主编码和任务执行代理。Hermes 可与任何 LLM 提供商(OpenRouter、Anthropic、OpenAI、DeepSeek、本地模型及 15+ 其他)配合使用,并可在 Linux、macOS 和 WSL 上运行。
Hermes 的与众不同之处:
- 通过技能自我改进 — Hermes 通过将可重复使用的流程保存为技能来从经验中学习。当它解决复杂问题、发现工作流程或收到纠正时,它可以将该知识持久化为技能文档,在未来的会话中加载。技能随时间积累,使代理在你特定任务和环境中的能力越来越强。
- 跨会话持久记忆 — 记住你是谁、你的偏好、环境细节和学到的经验教训。可插拔的记忆后端(内置、Honcho、Mem0 等)让你选择记忆的工作方式。
- 多平台网关 — 同一代理可在 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、邮件及 10+ 其他平台上运行,具有完整的工具访问权限,而不仅仅是聊天。
- 提供商无关 — 无需更改任何其他内容即可在工作流中间交换模型和提供商。凭据池在多个 API 密钥之间自动轮换。
- 配置文件(Profiles) — 运行多个独立的 Hermes 实例,具有隔离的配置、会话、技能和记忆。
- 可扩展 — 插件、MCP 服务器、自定义工具、webhook 触发器、cron 调度和完整的 Python 生态系统。
人们将 Hermes 用于软件开发、研究、系统管理、数据分析、内容创作、家庭自动化,以及任何其他受益于具有持久上下文和完整系统访问权限的 AI 代理的工作。
此技能帮助你有效地使用 Hermes Agent — 设置它、配置功能、生成额外的代理实例、排查问题、查找正确的命令和设置,以及在你需要扩展或贡献时了解系统的工作原理。
文档: https://hermes-agent.nousresearch.com/docs/
快速开始
# 安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 交互式聊天(默认)
hermes
# 单条查询
hermes chat -q "What is the capital of France?"
# 设置向导
hermes setup
# 更改模型/提供商
hermes model
# 健康检查
hermes doctorCLI 参考
全局标志
hermes [flags] [command]
--version, -V 显示版本
--resume, -r SESSION 按 ID 或标题恢复会话
--continue, -c [NAME] 按名称恢复,或恢复最近的会话
--worktree, -w 隔离的 git worktree 模式(并行代理)
--skills, -s SKILL 预加载技能(逗号分隔或重复)
--profile, -p NAME 使用命名配置文件
--yolo 跳过危险命令审批
--pass-session-id 在系统提示中包含会话 ID
没有子命令时默认为 chat。
聊天
hermes chat [flags]
-q, --query TEXT 单条查询,非交互式
-m, --model MODEL 模型(例如 anthropic/claude-sonnet-4)
-t, --toolsets LIST 逗号分隔的工具集
--provider PROVIDER 强制提供商(openrouter, anthropic, nous 等)
-v, --verbose 详细输出
-Q, --quiet 抑制横幅、旋转器、工具预览
--checkpoints 启用文件系统检查点(/rollback)
--source TAG 会话来源标签(默认:cli)
配置
hermes setup [section] 交互式向导(model|terminal|gateway|tools|agent)
hermes model 交互式模型/提供商选择器
hermes config 查看当前配置
hermes config edit 在 $EDITOR 中打开 config.yaml
hermes config set KEY VAL 设置配置值
hermes config path 打印 config.yaml 路径
hermes config env-path 打印 .env 路径
hermes config check 检查缺失/过时的配置
hermes config migrate 使用新选项更新配置
hermes login [--provider P] OAuth 登录(nous, openai-codex)
hermes logout 清除存储的认证
hermes doctor [--fix] 检查依赖和配置
hermes status [--all] 显示组件状态
工具与技能
hermes tools 交互式工具启用/禁用(curses UI)
hermes tools list 显示所有工具和状态
hermes tools enable NAME 启用工具集
hermes tools disable NAME 禁用工具集
hermes skills list 列出已安装技能
hermes skills search QUERY 搜索技能中心
hermes skills install ID 安装技能
hermes skills inspect ID 预览而不安装
hermes skills config 按平台启用/禁用技能
hermes skills check 检查更新
hermes skills update 更新过时的技能
hermes skills uninstall N 移除中心技能
hermes skills publish PATH 发布到注册表
hermes skills browse 浏览所有可用技能
hermes skills tap add REPO 添加 GitHub 仓库作为技能源
MCP 服务器
hermes mcp serve 将 Hermes 作为 MCP 服务器运行
hermes mcp add NAME 添加 MCP 服务器(--url 或 --command)
hermes mcp remove NAME 移除 MCP 服务器
hermes mcp list 列出配置的服务器
hermes mcp test NAME 测试连接
hermes mcp configure NAME 切换工具选择
网关(消息平台)
hermes gateway run 前台启动网关
hermes gateway install 安装为后台服务
hermes gateway start/stop 控制服务
hermes gateway restart 重启服务
hermes gateway status 检查状态
hermes gateway setup 配置平台
支持的平台:Telegram、Discord、Slack、WhatsApp、Signal、Email、SMS、Matrix、Mattermost、Home Assistant、钉钉、飞书、企业微信、BlueBubbles(iMessage)、微信、API 服务器、Webhooks。Open WebUI 通过 API 服务器适配器连接。
会话
hermes sessions list 列出最近的会话
hermes sessions browse 交互式选择器
hermes sessions export OUT 导出为 JSONL
hermes sessions rename ID T 重命名会话
hermes sessions delete ID 删除会话
hermes sessions prune 清理旧会话(--older-than N 天)
hermes sessions stats 会话存储统计
Cron 任务
hermes cron list 列出任务(--all 包含禁用的)
hermes cron create SCHED 创建:'30m', 'every 2h', '0 9 * * *'
hermes cron edit ID 编辑调度、提示、投递
hermes cron pause/resume ID 控制任务状态
hermes cron run ID 在下一次触发时运行
hermes cron remove ID 删除任务
hermes cron status 调度器状态
Webhooks
hermes webhook subscribe N 在 /webhooks/<name> 创建路由
hermes webhook list 列出订阅
hermes webhook remove NAME 移除订阅
hermes webhook test NAME 发送测试 POST
配置文件
hermes profile list 列出所有配置文件
hermes profile create NAME 创建(--clone, --clone-all, --clone-from)
hermes profile use NAME 设置粘性默认
hermes profile delete NAME 删除配置文件
hermes profile show NAME 显示详情
hermes profile alias NAME 管理包装脚本
hermes profile rename A B 重命名配置文件
hermes profile export NAME 导出为 tar.gz
hermes profile import FILE 从存档导入
凭据池
hermes auth add 交互式凭据向导
hermes auth list [PROVIDER] 列出池化凭据
hermes auth remove P INDEX 按提供商 + 索引移除
hermes auth reset PROVIDER 清除耗尽状态
其他
hermes insights [--days N] 使用分析
hermes update 更新到最新版本
hermes pairing list/approve/revoke 私信授权
hermes plugins list/install/remove 插件管理
hermes honcho setup/status Honcho 记忆集成
hermes memory setup/status/off 记忆提供者配置
hermes completion bash|zsh Shell 补全
hermes acp ACP 服务器(IDE 集成)
hermes claw migrate 从 OpenClaw 迁移
hermes uninstall 卸载 Hermes
斜杠命令(会话内)
在交互式聊天会话期间输入这些命令。新命令频繁添加;如果以下内容过时,在会话中运行 /help 获取权威列表,或查看实时斜杠命令参考。
会话控制
/new (/reset) 全新会话
/clear 清屏 + 新会话(CLI)
/retry 重新发送最后一条消息
/undo 移除最后一次交换
/title [name] 命名会话
/compress 手动压缩上下文
/stop 杀死后台进程
/rollback [N] 恢复文件系统检查点
/snapshot [sub] 创建或恢复 Hermes 配置/状态快照(CLI)
/background <prompt> 在后台运行提示
/queue <prompt> 排队等待下一轮
/steer <prompt> 在下一次工具调用后注入消息而不中断
/agents (/tasks) 显示活跃代理和正在运行的任务
/resume [name] 恢复命名的会话
/goal [text|sub] 设置跨轮次坚持的持续目标
/redraw 强制完全 UI 重绘(CLI)
配置
/config 显示配置(CLI)
/model [name] 显示或更改模型
/personality [name] 设置个性
/reasoning [level] 设置推理级别
/verbose 循环切换:off → new → all → verbose
/voice [on|off|tts] 语音模式
/yolo 切换审批绕过
/busy [sub] 控制 Hermes 工作时 Enter 键的行为(CLI)
/skin [name] 更改主题(CLI)
工具与技能
/tools 管理工具(CLI)
/toolsets 列出工具集(CLI)
/skills 搜索/安装技能(CLI)
/skill <name> 将会话加载技能
/reload-skills 重新扫描 ~/.hermes/skills/ 以查找添加/移除的技能
/reload 重新加载 .env 变量到运行会话(CLI)
/reload-mcp 重新加载 MCP 服务器
/cron 管理 cron 任务(CLI)
/kanban [sub] 多配置文件协作面板
/plugins 列出插件(CLI)
网关
/approve 批准待处理命令(gateway)
/deny 拒绝待处理命令(gateway)
/restart 重启网关(gateway)
/sethome 将当前聊天设置为首页频道(gateway)
/update 将 Hermes 更新到最新版本(gateway)
/platforms (/gateway) 显示平台连接状态(gateway)
实用工具
/branch (/fork) 分支当前会话
/fast 切换优先级/快速处理
/browser 打开 CDP 浏览器连接
/history 显示对话历史(CLI)
/save 将对话保存到文件(CLI)
/copy [N] 将最后一条助手响应复制到剪贴板(CLI)
/paste 附加剪贴板图片(CLI)
/image 附加本地图片文件(CLI)
信息
/help 显示命令
/usage 令牌使用情况
/insights [days] 使用分析
/status 会话信息(gateway)
/profile 活跃配置文件信息
/debug 上传调试报告并获取可分享链接
退出
/quit (/exit, /q) 退出 CLI
关键路径与配置
~/.hermes/config.yaml 主配置
~/.hermes/.env API 密钥和机密
$HERMES_HOME/skills/ 已安装的技能
~/.hermes/sessions/ 会话记录
~/.hermes/logs/ 网关和错误日志
~/.hermes/auth.json OAuth 令牌和凭据池
~/.hermes/hermes-agent/ 源代码(如果是 git 安装)
配置文件使用 ~/.hermes/profiles/<name>/,布局相同。
配置节
| 节 | 关键选项 |
|---|---|
model | default, provider, base_url, api_key, context_length |
agent | max_turns(90), tool_use_enforcement |
terminal | backend(local/docker/ssh/modal), cwd, timeout(180) |
compression | enabled, threshold(0.50), target_ratio(0.20) |
display | skin, tool_progress, show_reasoning, show_cost |
stt | enabled, provider(local/groq/openai/mistral) |
tts | provider(edge/elevenlabs/openai/minimax/mistral/neutts) |
memory | memory_enabled, user_profile_enabled, provider |
security | tirith_enabled, website_blocklist |
delegation | model, provider, base_url, api_key, max_iterations(50), reasoning_effort |
checkpoints | enabled, max_snapshots(50) |
完整配置参考:https://hermes-agent.nousresearch.com/docs/user-guide/configuration
提供商
支持 20+ 提供商。通过 hermes model 或 hermes setup 设置。
| 提供商 | 认证方式 | 密钥环境变量 |
|---|---|---|
| OpenRouter | API 密钥 | OPENROUTER_API_KEY |
| Anthropic | API 密钥 | ANTHROPIC_API_KEY |
| Nous Portal | OAuth | hermes auth |
| OpenAI Codex | OAuth | hermes auth |
| GitHub Copilot | 令牌 | COPILOT_GITHUB_TOKEN |
| Google Gemini | API 密钥 | GOOGLE_API_KEY 或 GEMINI_API_KEY |
| DeepSeek | API 密钥 | DEEPSEEK_API_KEY |
| xAI / Grok | API 密钥 | XAI_API_KEY |
| Hugging Face | 令牌 | HF_TOKEN |
| 阿里云通义千问 | API 密钥 | DASHSCOPE_API_KEY |
| 自定义端点 | 配置 | model.base_url + model.api_key |
完整提供商文档:https://hermes-agent.nousresearch.com/docs/integrations/providers
工具集
通过 hermes tools(交互式)或 hermes tools enable/disable NAME 启用/禁用。
| 工具集 | 提供内容 |
|---|---|
web | 网络搜索和内容提取 |
browser | 浏览器自动化 |
terminal | Shell 命令和进程管理 |
file | 文件读写/搜索/补丁 |
code_execution | 沙盒化 Python 执行 |
vision | 图片分析 |
image_gen | AI 图片生成 |
video | 视频分析和生成 |
tts | 文本转语音 |
skills | 技能浏览和管理 |
memory | 持久跨会话记忆 |
delegation | 子代理任务委托 |
cronjob | 定时任务管理 |
todo | 会话内任务规划和跟踪 |
discord | Discord 集成工具 |
生成其他 Hermes 实例
作为完全独立的子进程运行额外的 Hermes 进程——独立的会话、工具和环境。
一次性模式
terminal(command="hermes chat -q 'Research GRPO papers and write summary to ~/research/grpo.md'", timeout=300)
# 长时间任务后台运行:
terminal(command="hermes chat -q 'Set up CI/CD for ~/myapp'", background=true)
多代理协调
# 代理 A:后端
terminal(command="tmux new-session -d -s backend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t backend 'Build REST API for user management' Enter", timeout=15)
# 代理 B:前端
terminal(command="tmux new-session -d -s frontend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t frontend 'Build React dashboard for user management' Enter", timeout=15)
贡献者快速参考
项目布局
hermes-agent/
├── run_agent.py # AIAgent — 核心对话循环
├── model_tools.py # 工具发现和调度
├── toolsets.py # 工具集定义
├── cli.py # 交互式 CLI(HermesCLI)
├── hermes_state.py # SQLite 会话存储
├── agent/ # 提示构建器、上下文压缩、记忆、模型路由、凭据池、技能调度
├── hermes_cli/ # CLI 子命令、配置、设置、命令
├── tools/ # 每个工具一个文件
├── gateway/ # 消息网关
├── cron/ # 任务调度器
├── tests/ # ~3000 个 pytest 测试
└── website/ # Docusaurus 文档站点
添加工具(3 个文件)
1. 创建 tools/your_tool.py:
import json, os
from tools.registry import registry
def example_tool(param: str, task_id: str = None) -> str:
return json.dumps({"success": True, "data": "..."})
registry.register(
name="example_tool",
toolset="example",
schema={"name": "example_tool", "description": "...", "parameters": {...}},
handler=lambda args, **kw: example_tool(param=args.get("param", ""), task_id=kw.get("task_id")),
)2. 添加到 toolsets.py → _HERMES_CORE_TOOLS 列表。
提交约定
type: concise subject line
Optional body.
类型:fix:、feat:、refactor:、docs:、chore:
关键规则
- 永不破坏提示缓存 — 不在对话中途更改上下文、工具或系统提示
- 消息角色交替 — 永不连续两条助手消息或两条用户消息
- 所有路径使用
get_hermes_home()(配置文件名安全的) - 配置值放在
config.yaml中,机密放在.env中 - 新工具需要
check_fn,以便仅在满足要求时出现