{/* 本页面由 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 doctor

CLI 参考

全局标志

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>/,布局相同。

配置节

关键选项
modeldefault, provider, base_url, api_key, context_length
agentmax_turns(90), tool_use_enforcement
terminalbackend(local/docker/ssh/modal), cwd, timeout(180)
compressionenabled, threshold(0.50), target_ratio(0.20)
displayskin, tool_progress, show_reasoning, show_cost
sttenabled, provider(local/groq/openai/mistral)
ttsprovider(edge/elevenlabs/openai/minimax/mistral/neutts)
memorymemory_enabled, user_profile_enabled, provider
securitytirith_enabled, website_blocklist
delegationmodel, provider, base_url, api_key, max_iterations(50), reasoning_effort
checkpointsenabled, max_snapshots(50)

完整配置参考:https://hermes-agent.nousresearch.com/docs/user-guide/configuration

提供商

支持 20+ 提供商。通过 hermes modelhermes setup 设置。

提供商认证方式密钥环境变量
OpenRouterAPI 密钥OPENROUTER_API_KEY
AnthropicAPI 密钥ANTHROPIC_API_KEY
Nous PortalOAuthhermes auth
OpenAI CodexOAuthhermes auth
GitHub Copilot令牌COPILOT_GITHUB_TOKEN
Google GeminiAPI 密钥GOOGLE_API_KEYGEMINI_API_KEY
DeepSeekAPI 密钥DEEPSEEK_API_KEY
xAI / GrokAPI 密钥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浏览器自动化
terminalShell 命令和进程管理
file文件读写/搜索/补丁
code_execution沙盒化 Python 执行
vision图片分析
image_genAI 图片生成
video视频分析和生成
tts文本转语音
skills技能浏览和管理
memory持久跨会话记忆
delegation子代理任务委托
cronjob定时任务管理
todo会话内任务规划和跟踪
discordDiscord 集成工具

生成其他 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,以便仅在满足要求时出现