Hermes Agent CLI 与 Slash 命令离线总表
本文分为两个部分:
CLI 命令参考
本页涵盖你在 shell 中运行的终端命令。
关于聊天内斜杠命令,见本文后半部分。
全局入口点
hermes [global-options] <command> [subcommand/options]
全局选项
|
|
|
--version
|
|
--profile <name>
|
选择本次调用使用的 Hermes 配置文件。覆盖由 hermes profile use 设置的粘性默认值。
|
--resume <session>
|
|
--continue [name]
|
|
--worktree
|
在隔离的 git worktree 中启动,用于并行 Agent 工作流。
|
--yolo |
|
--pass-session-id |
|
--ignore-user-config |
忽略 ~/.hermes/config.yaml,回退到内置默认值。.env 中的凭据仍会加载。
|
--ignore-rules |
跳过自动注入 AGENTS.md、SOUL.md、.cursorrules、记忆和预加载技能。
|
--tui |
启动 TUI 而非经典 CLI。等同于 HERMES_TUI=1。
|
--dev |
与 --tui 一起使用:通过 tsx 直接运行 TypeScript 源码,而非预构建包(适用于 TUI 贡献者)。
|
顶层命令
|
|
|
hermes chat |
|
hermes model |
|
hermes fallback |
|
hermes gateway |
|
hermes setup |
|
hermes whatsapp |
|
hermes slack |
Slack 辅助工具(当前:生成应用清单,将每个命令作为原生斜杠命令)。
|
hermes auth |
管理凭据——添加、列出、删除、重置、设置策略。处理 Codex/Nous/Anthropic 的 OAuth 流程。
|
hermes login
|
已弃用
|
hermes status |
|
hermes cron |
|
hermes kanban |
|
hermes webhook |
管理动态 webhook 订阅,用于事件驱动激活。
|
hermes hooks |
检查、批准或删除 config.yaml 中声明的 shell 脚本钩子。
|
hermes doctor |
|
hermes dump |
|
hermes debug |
|
hermes backup |
|
hermes import |
|
hermes logs |
查看、跟踪和过滤 Agent/网关/错误日志文件。
|
hermes config |
|
hermes pairing |
|
hermes skills |
|
hermes curator |
后台技能维护——状态、运行、暂停、固定。参见Curator。
|
hermes memory |
配置外部内存提供商。插件特定的子命令(例如 hermes honcho)在其提供商激活时自动注册。
|
hermes acp |
将 Hermes 作为 ACP 服务器运行,用于编辑器集成。
|
hermes mcp |
管理 MCP 服务器配置,并将 Hermes 作为 MCP 服务器运行。
|
hermes plugins |
管理 Hermes Agent 插件(安装、启用、禁用、移除)。
|
hermes tools |
|
hermes sessions |
|
hermes insights |
|
hermes fallback |
|
hermes claw |
|
hermes dashboard |
启动 Web 仪表板,用于管理配置、API 密钥和会话。
|
hermes profile |
|
hermes completion |
打印 shell 补全脚本(bash/zsh/fish)。
|
hermes version |
|
hermes update |
拉取最新代码并重新安装依赖。--check 打印提交差异而不拉取;--backup 在拉取前创建 HERMES_HOME 快照。
|
hermes uninstall |
|
hermes chat
hermes chat [options]
常用选项:
|
|
|
-q
|
|
-m
|
|
-t
|
|
--provider <provider> |
强制指定提供商:auto、openrouter、nous、openai-codex、copilot-acp、copilot、anthropic、gemini、google-gemini-cli、huggingface、zai、kimi-coding、kimi-coding-cn、minimax、minimax-cn、minimax-oauth、kilocode、xiaomi、arcee、gmi、alibaba、alibaba-coding-plan(别名 alibaba_coding)、deepseek、nvidia、ollama-cloud、xai(别名 grok)、qwen-oauth、bedrock、opencode-zen、opencode-go、ai-gateway、azure-foundry、tencent-tokenhub(别名 tencent、tokenhub)。
|
-s
|
|
-v
|
|
-Q
|
|
--image <path> |
|
--resume <session>
|
|
--worktree |
为此运行创建一个隔离的 git worktree。
|
--checkpoints |
|
--yolo |
|
--pass-session-id |
|
--ignore-user-config |
忽略 ~/.hermes/config.yaml,使用内置默认值。.env 中的凭据仍会加载。适用于隔离的 CI 运行、可复现的 bug 报告以及第三方集成。
|
--ignore-rules |
跳过自动注入 AGENTS.md、SOUL.md、.cursorrules、持久记忆和预加载技能。与 --ignore-user-config 结合使用可实现完全隔离运行。
|
--source <tag> |
用于过滤的会话来源标签(默认:cli)。对于不应出现在用户会话列表中的第三方集成,请使用 tool。
|
--max-turns <N> |
每次对话轮次的最大工具调用迭代次数(默认:90,或配置中的 agent.max_turns)。
|
示例:
hermes
hermeschat-q"Summarize the latest PRs"
hermeschat--provideropenrouter--modelanthropic/claude-sonnet-4.6
hermeschat--toolsetsweb,terminal,skills
hermeschat--quiet-q"Return only JSON"
hermeschat--worktree-q"Review this repo and open a PR"
hermeschat--ignore-user-config--ignore-rules-q"Repro without my personal setup"
hermes -z <prompt> — 脚本化一次性调用
对于程序化调用者(shell 脚本、CI、cron、通过管道传入提示的父进程),hermes -z 是最纯粹的一次性入口点:单次提示输入,最终响应文本输出,stdout 和 stderr 上无其他内容。 没有横幅、没有旋转动画、没有工具预览、没有 Session: 行——只有 Agent 的最终回复作为纯文本。
hermes -z "What's the capital of France?"
# → Paris.
# 父脚本可以干净地捕获响应:
answer=$(hermes -z "summarize this" < /path/to/file.txt)
每次运行的覆盖(不会修改 ~/.hermes/config.yaml):
|
|
|
|
-m
|
HERMES_INFERENCE_MODEL |
|
--provider <provider> |
HERMES_INFERENCE_PROVIDER |
|
hermes -z "…" --provider openrouter --model openai/gpt-5.5
# 或者:
HERMES_INFERENCE_MODEL=anthropic/claude-sonnet-4.6 hermes -z "…"
相同的 Agent、相同的工具、相同的技能——只是去掉了所有交互/装饰层。如果你也需要在记录中看到工具输出,请改用 hermes chat -q;-z 明确用于“我只想要最终答案”。
hermes model
交互式提供商 + 模型选择器。这是用于添加新提供商、设置 API 密钥以及运行 OAuth 流程的命令。 从终端运行它——而不是在活跃的 Hermes 聊天会话内部。
hermes model
在以下情况下使用此命令:
•
添加新提供商(OpenRouter、Anthropic、Copilot、DeepSeek、自定义等)
•
登录到支持 OAuth 的提供商(Anthropic、Copilot、Codex、Nous Portal)
WARNING: hermes model 与 /model 的区别
**hermes model**(从终端运行,在任何 Hermes 会话之外)是完整的提供商设置向导。它可以添加新提供商、运行 OAuth 流程、提示输入 API 密钥以及配置端点。
**/model**(在活跃的 Hermes 聊天会话内输入)只能在已设置好的提供商和模型之间切换。它无法添加新提供商、运行 OAuth 或提示输入 API 密钥。
如果你需要添加新提供商: 先退出 Hermes 会话(Ctrl+C 或 /quit),然后在终端提示符下运行 hermes model。
/model 斜杠命令(会话中)
在不离开会话的情况下切换已配置好的模型:
/model # 显示当前模型和可用选项
/model claude-sonnet-4 # 切换模型(自动检测提供商)
/model zai:glm-5 # 切换提供商和模型
/model custom:qwen-2.5 # 在你的自定义端点上使用模型
/model custom # 从自定义端点自动检测模型
/model custom:local:qwen-2.5 # 使用命名的自定义提供商
/model openrouter:anthropic/claude-sonnet-4 # 切换回云端
默认情况下,/model 的更改仅适用于当前会话。添加 --global 可将更改持久化到 config.yaml:
/model claude-sonnet-4 --global # 切换并保存为新默认值
INFO: 如果我只看到 OpenRouter 模型怎么办?
如果你只配置了 OpenRouter,/model 将只显示 OpenRouter 模型。要添加其他提供商(Anthropic、DeepSeek、Copilot 等),请退出会话并在终端运行 hermes model。
提供商和基础 URL 的更改会自动持久化到 config.yaml。当从自定义端点切换出去时,过时的基础 URL 会被清除,以防止它泄漏到其他提供商中。
hermes gateway
hermes gateway <子命令>
子命令:
|
|
|
run |
在前台运行网关。推荐用于 WSL、Docker 和 Termux。
|
start |
启动已安装的 systemd/launchd 后台服务。
|
stop |
|
restart |
|
status |
|
install |
安装为 systemd(Linux)或 launchd(macOS)后台服务。
|
uninstall |
|
setup |
|
选项:
|
|
|
--all |
在 start / restart / stop 时:作用于每个配置文件的网关,而不仅仅是当前激活的 HERMES_HOME。如果你同时运行多个配置文件并希望在 hermes update 后全部重启,这个选项很有用。
|
TIP: WSL 用户
请使用 hermes gateway run 而不是 hermes gateway start——WSL 的 systemd 支持不可靠。可以将其包装在 tmux 中以保持持久运行:tmux new -s hermes 'hermes gateway run'。详情请参阅 WSL 常见问题。
hermes setup
hermes setup [model|tts|terminal|gateway|tools|agent] [--non-interactive] [--reset] [--quick] [--reconfigure]
首次运行: 启动首次使用向导。
老用户(已配置过): 直接进入完整的重新配置向导——每个提示都会显示你当前的值作为默认值,按 Enter 保留或输入新值。没有菜单。
直接跳转到某个部分而不是完整的向导:
|
|
|
model |
|
terminal |
|
gateway |
|
tools |
|
agent |
|
选项:
|
|
|
--quick |
对于老用户运行:仅提示缺失或未设置的项目。跳过你已经配置好的项目。
|
--non-interactive |
|
--reset |
|
--reconfigure |
向后兼容的别名——现在在已有安装上直接运行 hermes setup 默认会执行此操作。
|
hermes whatsapp
hermes whatsapp
运行 WhatsApp 配对/设置流程,包括模式选择和二维码配对。
hermes slack
hermes slack manifest # 将清单打印到标准输出
hermes slack manifest --write # 写入 ~/.hermes/slack-manifest.json
hermes slack manifest --slashes-only # 仅输出 features.slash_commands 数组
生成一个 Slack 应用清单,将 COMMAND_REGISTRY 中的每个网关命令(/btw、/stop、/model 等)注册为一等 Slack 斜杠命令——与 Discord 和 Telegram 保持一致。将输出粘贴到你的 Slack 应用配置中,位置在 https://api.slack.com/apps → 你的应用 → Features → App Manifest → Edit,然后点击Save。如果作用域或斜杠命令发生变化,Slack 会提示重新安装。
|
|
|
|
--write [PATH] |
|
写入文件而非标准输出。仅用 --write 会写入 $HERMES_HOME/slack-manifest.json。
|
--name NAME |
Hermes |
|
--description DESC |
|
|
--slashes-only |
|
仅输出 features.slash_commands,用于合并到手动维护的 manifest 中。
|
在 hermes update 之后再次运行 hermes slack manifest --write,以获取任何新命令。
hermes login / hermes logout(已弃用)
CAUTION:**hermes login**** 已被移除。请使用****hermes auth**** 管理 OAuth 凭据,使用****hermes model**** 选择提供商,或使用****hermes setup**** 进行完整的交互式设置。**
hermes auth
管理同一提供商的凭据池,用于密钥轮换。完整文档请参见凭据池。
hermes auth# 交互式向导
hermesauthlist# 显示所有池
hermesauthlistopenrouter# 显示特定提供商
hermesauthaddopenrouter--api-keysk-or-v1-xxx# 添加 API 密钥
hermesauthaddanthropic--typeoauth# 添加 OAuth 凭据
hermesauthremoveopenrouter2# 按索引移除
hermesauthresetopenrouter# 清除冷却状态
子命令:add、list、remove、reset。不带子命令调用时,启动交互式管理向导。
hermes status
hermes status [--all] [--deep]
hermes cron
hermes cron <list|create|edit|pause|resume|run|remove|status|tick>
|
|
|
list |
|
create
|
根据提示创建计划任务,可通过重复 --skill 附加一个或多个技能。
|
edit |
更新任务的计划、提示、名称、投递方式、重复次数或附加的技能。支持 --clear-skills、--add-skill 和 --remove-skill。
|
pause |
|
resume |
|
run |
|
remove |
|
status |
|
tick |
|
hermes kanban
hermes kanban <action> [options]
多配置文件协作看板。任务存储在 ~/.hermes/kanban.db(WAL 模式 SQLite);所有配置文件读写同一个看板。由 cron 驱动的调度器(hermes kanban dispatch)原子性地认领就绪任务,并将分配的配置文件作为独立进程启动,拥有隔离的工作空间。
|
|
|
init |
创建 kanban.db(如果不存在)。幂等操作。
|
create "<title>" |
创建新任务。标志:--body、--assignee、--parent(可重复)、--workspace scratch|worktree|dir:<path>、--tenant、--priority。
|
list
|
列出任务。可使用 --mine、--assignee、--status、--tenant、--archived、--json 过滤。
|
show <id> |
显示任务及其评论和事件。--json 用于机器输出。
|
assign <id> <profile> |
分配或重新分配。使用 none 取消分配。任务运行中时拒绝操作。
|
link <parent> <child> |
|
unlink <parent> <child> |
|
claim <id> |
原子性地认领一个就绪任务。打印解析后的工作空间路径。
|
comment <id> "<text>" |
|
complete <id> |
标记任务完成。标志:--result "<summary>"(会进入子任务的父结果上下文)。
|
block <id> "<reason>" |
|
unblock <id> |
|
archive <id> |
|
tail <id> |
|
dispatch |
执行一次调度器传递。标志:--dry-run、--max N、--json。
|
context <id> |
打印工作者将看到的完整上下文(标题 + 正文 + 父结果 + 评论)。
|
gc |
|
所有操作也都可通过网关内的斜杠命令(/kanban …)使用,参数接口完全相同。
|
|
完整设计(包括与 Cline Kanban / Paperclip / NanoClaw / Gemini Enterprise 的对比、八种协作模式、四个用户故事、并发正确性证明)请参见仓库中的 docs/hermes-kanban-v1-spec.pdf 或 Kanban 用户指南。
hermes webhook
hermes webhook <subscribe|list|remove|test>
管理动态 webhook 订阅,用于事件驱动的 Agent 激活。需要在配置中启用 webhook 平台——若未配置,则会打印设置指引。
|
|
|
subscribe
|
创建一个 webhook 路由。返回要在你的服务上配置的 URL 和 HMAC 密钥。
|
list
|
|
remove
|
删除一个动态订阅。config.yaml 中的静态路由不受影响。
|
test |
发送一个测试 POST 请求以验证订阅是否正常工作。
|
hermes webhook subscribe
hermes webhook subscribe <name> [options]
|
|
|
--prompt |
提示模板,支持 {dot.notation} 格式的载荷引用。
|
--events |
接受的事件类型(逗号分隔),例如 issues,pull_request。留空表示接受所有。
|
--description |
|
--skills |
|
--deliver |
投递目标:log(默认)、telegram、discord、slack、github_comment。
|
--deliver-chat-id |
|
--secret |
|
订阅持久化存储在 ~/.hermes/webhook_subscriptions.json 中,webhook 适配器会热加载这些变更,无需重启网关。
hermes doctor
hermes doctor [--fix]
hermes dump
hermes dump [--show-keys]
输出整个 Hermes 设置的紧凑纯文本摘要。旨在方便你直接复制粘贴到 Discord、GitHub issue 或 Telegram 中寻求支持——不含 ANSI 颜色或特殊格式,仅输出数据。
|
|
|
--show-keys |
显示脱敏的 API 密钥前缀(前 4 个和后 4 个字符),而不是仅显示 set/not set。
|
包含内容
|
|
|
| Header |
|
| Environment |
操作系统、Python 版本、OpenAI SDK 版本
|
| Identity |
当前激活的配置文件名称、HERMES_HOME 路径
|
| Model |
|
| Terminal |
|
| API keys |
所有 22 个提供商/工具 API 密钥的存在性检查
|
| Features |
|
| Services |
|
| Workload |
|
| Config overrides |
|
示例输出
--- hermes dump ---
version: 0.8.0 (2026.4.8) [af4abd2f]
os: Linux 6.14.0-37-generic x86_64
python: 3.11.14
openai_sdk: 2.24.0
profile: default
hermes_home: ~/.hermes
model: anthropic/claude-opus-4.6
provider: openrouter
terminal: local
api_keys:
openrouter set
openai not set
anthropic set
nous not set
firecrawl set
...
features:
toolsets: all
mcp_servers: 0
memory_provider: built-in
gateway: running (systemd)
platforms: telegram, discord
cron_jobs: 3 active / 5 total
skills: 42
config_overrides:
agent.max_turns: 250
compression.threshold: 0.85
display.streaming: True
--- end dump ---
何时使用
•
在 GitHub 上报告 bug —— 将 dump 粘贴到你的 issue 中
•
在 Discord 上请求帮助 —— 用代码块分享出去
TIP:**hermes dump**** 是专为分享而设计的。如需交互式诊断,请使用****hermes doctor**。如需可视化概览,请使用**hermes status**。
hermes debug
hermes debug share [options]
将调试报告(系统信息 + 近期日志)上传到粘贴服务,并获取一个可分享的 URL。适用于快速支持请求 —— 包含助手诊断你的问题所需的一切信息。
|
|
|
--lines <N> |
|
--expire <days> |
|
--local |
|
报告包含系统信息(操作系统、Python 版本、Hermes 版本)、最近的 agent 和 gateway 日志(每个文件限制 512 KB),以及脱敏后的 API 密钥状态。密钥始终会被脱敏 —— 不会上传任何秘密信息。
粘贴服务按顺序尝试:paste.rs、dpaste.com。
示例
hermes debugshare# 上传调试报告,打印 URL
hermesdebugshare--lines500# 包含更多日志行
hermesdebugshare--expire30# 让粘贴保留 30 天
hermesdebugshare--local# 在终端打印报告(不上传)
hermes backup
hermes backup [options]
将你的 Hermes 配置、技能、会话和数据创建成一个 zip 归档。备份不包含 hermes-agent 的代码库本身。
|
|
|
-o
|
zip 文件的输出路径(默认:~/hermes-backup-<timestamp>.zip)。
|
-q
|
快速快照:仅备份关键状态文件(config.yaml、state.db、.env、auth、cron 作业)。比完整备份快得多。
|
-l
|
|
备份使用 SQLite 的 backup() API 进行安全复制,因此即使在 Hermes 运行时也能正常工作(WAL 模式安全)。
zip 中排除的内容:
•
*.db-wal、*.db-shm、*.db-journal — SQLite 的 WAL / 共享内存 / 日志附属文件。*.db 文件已通过 sqlite3.backup() 获得了一致性快照;如果同时附带这些活跃的附属文件,恢复时可能会看到半提交状态。
•
checkpoints/ — 每个会话的轨迹缓存。按哈希键存储,每个会话重新生成;换到其他安装环境也无法直接移植。
•
hermes-agent 代码本身(这是用户数据备份,不是仓库快照)。
示例
hermes backup# 完整备份到 ~/hermes-backup-*.zip
hermesbackup-o/tmp/hermes.zip# 完整备份到指定路径
hermesbackup--quick# 仅快速状态快照
hermesbackup--quick--label"pre-upgrade"# 带标签的快速快照
hermes import
hermes import <zipfile> [options]
将之前创建的 Hermes 备份恢复到你的 Hermes 主目录中。
hermes logs
hermes logs [log_name] [options]
查看、跟踪和过滤 Hermes 日志文件。所有日志都存储在 ~/.hermes/logs/ 中(对于非默认配置文件,则为 <profile>/logs/)。
日志文件
|
|
|
|
agent
|
agent.log |
所有 Agent 活动 — API 调用、工具分发、会话生命周期(INFO 及以上级别)
|
errors |
errors.log |
|
gateway |
gateway.log |
消息网关活动 — 平台连接、消息分发、Webhook 事件
|
选项
|
|
|
log_name |
要查看的日志:agent(默认)、errors、gateway,或 list 显示可用文件及其大小。
|
-n
|
|
-f
|
实时跟踪日志,类似 tail -f。按 Ctrl+C 停止。
|
--level <LEVEL> |
显示的最低日志级别:DEBUG、INFO、WARNING、ERROR、CRITICAL。
|
--session <ID> |
|
--since <TIME> |
显示从相对时间之前开始的行:30m、1h、2d 等。支持 s(秒)、m(分钟)、h(小时)、d(天)。
|
--component <NAME> |
按组件过滤:gateway、agent、tools、cli、cron。
|
示例
# 查看 agent.log 的最后 50 行(默认)
hermeslogs
# 实时跟踪 agent.log
hermeslogs-f
# 查看 gateway.log 的最后 100 行
hermeslogsgateway-n100
# 仅显示过去一小时的警告和错误
hermeslogs--levelWARNING--since1h
# 按特定会话过滤
hermeslogs--sessionabc123
# 跟踪 errors.log,从 30 分钟前开始
hermeslogserrors--since30m-f
# 列出所有日志文件及其大小
hermeslogslist
过滤
过滤器可以组合使用。当多个过滤器同时生效时,日志行必须通过所有过滤器才会显示:
# 最近2小时内包含会话 "tg-12345" 的 WARNING+ 级别日志
hermes logs --level WARNING --since 2h --session tg-12345
当使用 --since 时,没有可解析时间戳的行也会被包含(它们可能是多行日志条目的续行)。当使用 --level 时,没有可检测级别的行也会被包含。
日志轮转
Hermes 使用 Python 的 RotatingFileHandler。旧日志会自动轮转——你会看到 agent.log.1、agent.log.2 等文件。hermes logs list 子命令会显示所有日志文件,包括已轮转的文件。
hermes config
hermes config <子命令>
子命令:
|
|
|
show |
|
edit |
|
set <key> <value> |
|
path |
|
env-path |
|
check |
|
migrate |
|
hermes pairing
hermes pairing <list|approve|revoke|clear-pending>
|
|
|
list |
|
approve <platform> <code> |
|
revoke <platform> <user-id> |
|
clear-pending |
|
hermes skills
hermes skills <子命令>
子命令:
|
|
|
browse |
|
search |
|
install |
|
inspect |
|
list |
|
check |
|
update |
|
audit |
|
uninstall |
|
publish |
|
snapshot |
|
tap |
|
config |
|
常见示例:
hermes skillsbrowse
hermesskillsbrowse--sourceofficial
hermesskillssearchreact--sourceskills-sh
hermesskillssearchhttps://mintlify.com/docs--sourcewell-known
hermesskillsinspectofficial/security/1password
hermesskillsinspectskills-sh/vercel-labs/json-render/json-render-react
hermesskillsinstallofficial/migration/openclaw-migration
hermesskillsinstallskills-sh/anthropics/skills/pdf--force
hermesskillsinstallhttps://sharethis.chat/SKILL.md# 直接 URL(单文件 SKILL.md)
hermesskillsinstallhttps://example.com/SKILL.md--namemy-skill# 当 frontmatter 中没有名称时覆盖名称
hermesskillscheck
hermesskillsupdate
hermesskillsconfig
注意:
•
--force 可以覆盖第三方/社区技能的非危险策略块。
•
--force 不能覆盖 dangerous 扫描结果。
•
--source skills-sh 搜索公共的 skills.sh 目录。
•
--source well-known 让你将 Hermes 指向一个暴露 /.well-known/skills/index.json 的站点。
•
传入 http(s)://…/*.md URL 会直接安装一个单文件 SKILL.md。当 frontmatter 没有 name: 且 URL slug 不是有效标识符时,交互式终端会提示输入名称;非交互式界面(TUI 内的 /skills install、网关平台)则需要使用 --name <x>。
hermes curator
hermes curator <子命令>
策展人是一个辅助模型后台任务,它会定期审查 Agent 创建的技能、清理过时的技能、合并重叠的技能,并归档废弃的技能。捆绑安装和从中心安装的技能永远不会被触及。归档的技能可以恢复,不会自动删除。
|
|
|
status |
|
run |
|
run --sync |
|
run --dry-run |
|
backup |
手动创建 ~/.hermes/skills/ 的 tar.gz 快照(策展人在每次实际运行前也会自动创建快照)
|
rollback |
从快照恢复 ~/.hermes/skills/(默认使用最新的快照)
|
rollback --list |
|
rollback --id <ts> |
|
rollback -y |
|
pause |
|
resume |
|
pin <skill> |
|
unpin <skill> |
|
restore <skill> |
|
在全新安装时,第一次计划执行会延迟一个完整的 interval_hours(默认 7 天)——网关不会在 hermes update 后的第一个 tick 立即执行策展。在此之前,可以使用 hermes curator run --dry-run 进行预览。
有关行为和配置,请参见策展人。
hermes fallback
hermes fallback <子命令>
管理回退提供者链。当主模型因速率限制、过载或连接错误而失败时,会按顺序尝试回退提供者。
|
|
|
list
|
|
add |
选择一个提供者 + 模型(与 hermes model 相同的选择器)并追加到链中
|
remove
|
|
clear |
|
请参见回退提供者。
hermes hooks
hermes hooks <子命令>
检查在 ~/.hermes/config.yaml 中声明的 shell 脚本钩子,用模拟负载测试它们,并管理位于 ~/.hermes/shell-hooks-allowlist.json 的首次使用同意白名单。
|
|
|
list
|
|
test <event> |
|
revoke
|
|
doctor |
检查每个已配置的钩子:可执行位、白名单、mtime 漂移、JSON 有效性以及模拟运行时间
|
有关事件签名和负载格式,请参见钩子。
hermes memory
hermes memory <子命令>
设置和管理外部记忆提供者插件。可用的提供者:honcho、openviking、mem0、hindsight、holographic、retaindb、byterover、supermemory。一次只能激活一个外部提供者。内置记忆(MEMORY.md/USER.md)始终处于激活状态。
子命令:
INFO: 提供者专属子命令
当外部记忆提供者处于激活状态时,它可能会注册自己的顶级 hermes <provider> 命令,用于提供者专属管理(例如,当 Honcho 激活时使用 hermes honcho)。未激活的提供者不会暴露其子命令。运行 hermes --help 查看当前已接入的命令。
hermes acp
hermes acp
将 Hermes 作为 ACP(Agent 客户端协议)stdio 服务器启动,用于编辑器集成。
相关入口点:
hermes-acp
python -m acp_adapter
首先安装支持:
pip install -e '.[acp]'
参见 ACP 编辑器集成 和 ACP 内部机制。
hermes mcp
hermes mcp <子命令>
管理 MCP(模型上下文协议)服务器配置,并将 Hermes 作为 MCP 服务器运行。
|
|
|
serve [-v|--verbose] |
将 Hermes 作为 MCP 服务器运行——向其他 Agent 暴露对话。
|
add <name> [--url URL] [--command CMD] [--args ...] [--auth oauth|header] |
|
remove <name>
|
|
list
|
|
test <name> |
|
configure <name>
|
|
参见 MCP 配置参考、将 MCP 与 Hermes 结合使用 和 MCP 服务器模式。
hermes plugins
hermes plugins [子命令]
统一插件管理——通用插件、记忆提供者和上下文引擎集中管理。运行 hermes plugins 而不带子命令会打开一个复合交互式屏幕,包含两个部分:
•
通用插件 — 多选复选框,用于启用/禁用已安装的插件
•
提供者插件 — 用于记忆提供者和上下文引擎的单选配置。在一个类别上按 ENTER 键可打开单选选择器。
|
|
|
| (无) |
复合交互式 UI——通用插件开关 + 提供者插件配置。
|
install <identifier> [--force] |
从 Git URL 或 owner/repo 安装插件。
|
update <name> |
|
remove <name>
|
|
enable <name> |
|
disable <name> |
|
list
|
|
Provider 插件选择会保存到 config.yaml:
|
|
•
memory.provider — 当前使用的 memory provider(空值表示仅使用内置)
•
context.engine — 当前使用的 context engine("compressor" 为内置默认值)
通用插件禁用列表存储在 config.yaml 的 plugins.disabled 下。
参见 插件 和 构建 Hermes 插件。
hermes tools
hermes tools [--summary]
不带 --summary 时,会启动交互式按平台工具配置界面。
hermes sessions
hermes sessions <子命令>
子命令:
|
|
|
list |
|
browse |
|
export <输出路径> [--session-id ID] |
|
delete <会话ID> |
|
prune |
|
stats |
|
rename <会话ID> <标题> |
|
hermes insights
hermes insights [--days N] [--source 平台]
|
|
|
--days <n> |
|
--source <平台> |
按来源过滤,例如 cli、telegram 或 discord。
|
hermes claw
hermes claw migrate [选项]
将你的 OpenClaw 配置迁移到 Hermes。从 ~/.openclaw(或自定义路径)读取,并写入 ~/.hermes。自动检测旧版目录名(~/.clawdbot、~/.moltbot)和配置文件名称(clawdbot.json、moltbot.json)。
|
|
|
--dry-run |
|
--preset <名称> |
迁移预设:full(所有兼容设置)或 user-data(排除基础设施配置)。两种预设均不导入密钥——需显式传递 --migrate-secrets。
|
--overwrite |
冲突时覆盖现有 Hermes 文件(默认:当计划存在冲突时拒绝执行)。
|
--migrate-secrets |
在迁移中包含 API 密钥。即使在 --preset full 下也需要。
|
--no-backup |
跳过迁移前对 ~/.hermes/ 的 zip 快照(默认情况下,在应用迁移前会将一个恢复点归档写入 ~/.hermes/backups/pre-migration-*.zip;可通过 hermes import 恢复)。
|
--source <路径> |
自定义 OpenClaw 目录(默认:~/.openclaw)。
|
--workspace-target <路径> |
|
--skill-conflict <模式> |
处理技能名称冲突:skip(默认)、overwrite 或 rename。
|
--yes |
|
迁移内容
迁移涵盖 30 多个类别,包括角色、记忆、技能、模型提供商、消息平台、Agent 行为、会话策略、MCP 服务器、TTS 等。项目要么直接导入到 Hermes 的对应项中,要么归档以供手动审查。
直接导入: SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills(4个源代码目录),默认模型,自定义提供者,MCP服务器,消息平台令牌和允许列表(Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost),agent 默认值(reasoning effort、compression、human delay、timezone、sandbox),会话重置策略,审批规则,TTS配置,浏览器设置,工具设置,执行超时,命令允许列表,网关配置以及来自3个来源的API密钥。
归档供手动审查: Cron任务,插件,hooks/webhooks,记忆后端(QMD),技能注册表配置,UI/身份,日志记录,多 Agent 设置,频道绑定,IDENTITY.md,TOOLS.md,HEARTBEAT.md,BOOTSTRAP.md。
API 密钥解析 按优先级顺序检查三个来源:config 值 → ~/.openclaw/.env → auth-profiles.json。所有令牌字段支持纯字符串、环境变量模板(${VAR})和 SecretRef 对象。
有关完整的配置键映射、SecretRef 处理细节以及迁移后检查清单,请参阅 完整迁移指南。
示例
# Preview what would be migrated
hermesclawmigrate--dry-run
# Full migration (all compatible settings, no secrets)
hermesclawmigrate--presetfull
# Full migration including API keys
hermesclawmigrate--presetfull--migrate-secrets
# Migrate user data only (no secrets), overwrite conflicts
hermesclawmigrate--presetuser-data--overwrite
# Migrate from a custom OpenClaw path
hermesclawmigrate--source/home/user/old-openclaw
hermes dashboard
hermes dashboard [options]
启动 Web 仪表盘——一个基于浏览器的用户界面,用于管理配置、API 密钥和监控会话。需要 pip install hermes-agent[web](FastAPI + Uvicorn)。完整文档请参见 Web Dashboard。
|
|
|
|
--port |
9119 |
|
--host |
127.0.0.1 |
|
--no-open |
|
|
# 默认——打开浏览器到 http://127.0.0.1:9119
hermes dashboard
# 自定义端口,不打开浏览器
hermes dashboard --port 8080 --no-open
hermes profile
hermes profile <subcommand>
管理配置文件——多个独立的 Hermes 实例,每个实例有自己的配置、会话、技能和主目录。
|
|
|
list |
|
use <name> |
|
create <name> [--clone] [--clone-all] [--clone-from <source>] [--no-alias] |
创建一个新的配置文件。--clone 从活动配置文件复制 config、.env 和 SOUL.md。--clone-all 复制所有状态。--clone-from 指定源配置文件。
|
delete <name> [-y] |
|
show <name> |
|
alias <name> [--remove] [--name NAME] |
|
rename <old> <new> |
|
export <name> [-o FILE] |
|
import <archive> [--name NAME] |
|
|
|
|
hermes profilelist
hermesprofilecreatework--clone
hermesprofileusework
hermesprofilealiaswork--nameh-work
hermesprofileexportwork-owork-backup.tar.gz
hermesprofileimportwork-backup.tar.gz--namerestored
hermes-pworkchat-q"Hello from work profile"
hermes completion
hermes completion [bash|zsh|fish]
将 shell 补全脚本输出到标准输出。将输出内容 source 到你的 shell 配置文件中,即可为 Hermes 命令、子命令和配置文件名称启用 Tab 补全。
示例:
# Bash
hermescompletionbash>>~/.bashrc
# Zsh
hermescompletionzsh>>~/.zshrc
# Fish
hermescompletionfish>~/.config/fish/completions/hermes.fish
hermes update
hermes update [--check] [--backup] [--restart-gateway]
拉取最新的 hermes-agent 代码,并在你的 venv 中重新安装依赖,然后重新运行安装后钩子(MCP 服务器、技能同步、补全安装)。可以在正在运行的安装上安全执行。
|
|
|
--check |
并排打印当前提交和最新的 origin/main 提交,如果同步则退出码为 0,如果落后则退出码为 1。不会拉取、安装或重启任何内容。
|
--backup |
在拉取之前,创建 HERMES_HOME(配置、认证、会话、技能、配对数据)的带标签的预更新快照。默认关闭——之前的始终备份行为会在大型 home 目录上每次更新增加几分钟。可以通过在 config.yaml 中设置 update.backup: true 永久开启。
|
--restart-gateway |
成功更新后,重启正在运行的网关服务。如果安装了多个配置文件,则隐含 --all 语义。
|
额外行为:
•
配对数据快照。 即使 --backup 关闭,hermes update 也会在 git pull 之前对 ~/.hermes/pairing/ 和飞书评论规则进行轻量级快照。如果拉取覆盖了你正在编辑的文件,可以使用 hermes backup restore --state pre-update 回滚。
•
旧版**hermes.service**** 警告。** 如果 Hermes 检测到重命名前的 hermes.service systemd 单元(而不是当前的 hermes-gateway.service),它会打印一次迁移提示,以便你避免 flap-loop 问题。
•
退出码。0 表示成功,1 表示拉取/安装/安装后错误,2 表示阻止 git pull 的意外工作树更改。
hermes fallback
hermes fallback # 交互式管理器
管理回退提供商链(当你的主要提供商遇到速率限制或返回致命错误时使用),无需手动编辑 config.yaml。复用 hermes model 中的提供商选择器——相同的提供商列表、相同的凭据提示、相同的验证。
典型会话:
1.
按 a 添加回退 → 选择一个提供商(基于 OAuth 的提供商将打开浏览器;API 密钥提供商将提示输入密钥),然后选择具体模型。
2.
使用 ↑/↓ 重新排序回退(列表中的第一个会首先被尝试)。
所有更改都会持久化到 config.yaml 中 model: 下的 fallback_providers:。与凭据池交互:凭据池在一个提供商内部轮换密钥,回退则完全切换到另一个提供商。
关于行为细节以及与 fallback_model(旧版单回退键)的交互,请参见回退提供者。
维护命令
|
|
|
hermes version |
|
hermes update |
|
hermes uninstall [--full] [--yes] |
|
另请参阅
Slash 命令参考
Hermes 有两个斜杠命令界面,两者均由 hermes_cli/commands.py 中的中央 COMMAND_REGISTRY 驱动:
•
交互式 CLI Slash 命令 —— 由 cli.py 分发,支持注册表中的自动补全
•
消息 Slash 命令 —— 由 gateway/run.py 分发,帮助文本和平台菜单从注册表中生成
已安装的技能也会作为动态斜杠命令暴露在这两个界面上。这包括内置技能,如 /plan,它会打开计划模式并将 Markdown 计划保存在相对于当前工作区/后端工作目录的 .hermes/plans/ 下。
交互式 CLI Slash 命令
在 CLI 中输入 / 即可打开自动补全菜单。内建命令不区分大小写。
会话(Session)
|
|
|
/new
|
|
/clear |
|
/history |
|
/save |
|
/retry |
|
/undo |
|
/title |
为当前会话设置标题(用法:/title My Session Name)
|
/compress [focus topic] |
手动压缩对话上下文(清空记忆 + 摘要)。可选的 focus topic 缩小摘要保留的范围。
|
/rollback |
列出或恢复文件系统检查点(用法:/rollback [number])
|
/snapshot [create|restore <id>|prune]
|
创建或恢复 Hermes 配置/状态的状态快照。create [label] 保存快照,restore <id> 恢复到该快照,prune [N] 移除旧快照,不带参数则列出所有快照。
|
/stop |
|
/queue <prompt>
|
将提示排入下一次轮次的队列(不会打断当前 Agent 的响应)。
|
/steer <prompt> |
注入一个运行时提示,该提示会在下一次工具调用之后到达 Agent——不会中断,不会新增用户轮次。文本会在当前工具完成后附加到最后一次工具结果的内容中,为 Agent 提供新的上下文,而不中断当前工具调用循环。用于在任务执行中调整方向(例如,当 Agent 运行测试时,说“专注于认证模块”)。
|
/goal <text> |
设置一个长期目标,Hermes 会在多个轮次中持续向该目标努力——这是我们实现 Ralph 循环的方式。每一轮后,一个辅助评判模型会判断目标是否已完成;如果未完成,Hermes 会自动继续。子命令:/goal status、/goal pause、/goal resume、/goal clear。默认预算为 20 轮(goals.max_turns);任何真实用户消息都会抢占延续循环,状态在 /resume 后保留。完整讲解请参见持久目标。
|
/resume [name] |
|
/redraw |
强制重新绘制整个 UI(恢复 tmux 调整大小、鼠标选择伪影等导致的终端漂移)
|
/status |
|
/agents
|
显示当前会话中的活跃 Agent 和正在运行的任务。
|
/background <prompt>
|
在单独的后台会话中运行一个提示。Agent 独立处理你的提示——当前会话保持空闲,可以处理其他工作。任务完成时,结果会以面板形式显示。参见CLI 后台会话。
|
/branch [name]
|
|
配置
|
|
|
/config |
|
/model [model-name] |
显示或更改当前模型。支持:/model claude-sonnet-4、/model provider:model(切换提供商)、/model custom:model(自定义端点)、/model custom:name:model(命名自定义提供商)、/model custom(从端点自动检测)。使用 --global 将更改持久化到 config.yaml。注意:/model 只能在已配置的提供商之间切换。要添加新提供商,请退出会话并在终端中运行 hermes model。
|
/personality |
|
/verbose |
循环切换工具进度显示:关闭 → 新 → 全部 → 详细。可通过配置在消息中启用。
|
/fast [normal|fast|status] |
切换快速模式——OpenAI 优先处理 / Anthropic 快速模式。选项:normal、fast、status。
|
/reasoning |
管理推理力度与显示(用法:/reasoning [level|show|hide])
|
/skin |
|
/statusbar
|
|
/voice [on|off|tts|status] |
切换 CLI 语音模式和语音播放。录音使用 voice.record_key(默认:Ctrl+B)。
|
/yolo |
切换 YOLO 模式——跳过所有危险命令的批准提示。
|
/footer [on|off|status] |
在最终回复中切换网关运行时元数据页脚(显示模型、工具计数、耗时)。
|
/busy [queue|steer|interrupt|status] |
仅 CLI:控制 Hermes 工作时按 Enter 键的行为——将新消息排队、中途转向或立即中断。
|
/indicator [kaomoji|emoji|unicode|ascii] |
|
工具与技能
|
|
|
/tools [list|disable|enable] [name...] |
管理工具:列出可用工具,或为当前会话禁用/启用特定工具。禁用某个工具会将其从 Agent 的工具集中移除并触发会话重置。
|
/toolsets |
|
/browser [connect|disconnect|status] |
管理本地 Chrome CDP 连接。connect 将浏览器工具附加到正在运行的 Chrome 实例(默认:ws://localhost:9222)。disconnect 断开连接。status 显示当前连接。如果未检测到调试器,则自动启动 Chrome。
|
/skills |
|
/cron |
管理定时任务(列出、添加/创建、编辑、暂停、恢复、运行、移除)
|
/curator |
后台技能维护——status、run、pin、archive。参见 Curator。
|
/reload-mcp
|
从 config.yaml 重新加载 MCP 服务器
|
/reload |
将 .env 变量重新加载到运行中的会话(无需重启即可获取新的 API 密钥)
|
/plugins |
|
信息
|
|
|
/help |
|
/usage |
显示 Token 用量、费用明细、会话时长,以及——当活跃提供商支持时——从提供商 API 实时拉取的账户限制部分(剩余配额/积分/套餐用量)。
|
/insights |
|
/platforms
|
|
/paste |
|
/copy [number] |
将最后一条助手回复复制到剪贴板(或带数字时复制倒数第 N 条)。仅 CLI。
|
/image <path> |
|
/debug |
上传调试报告(系统信息 + 日志)并获取可分享的链接。也可在消息中使用。
|
/profile |
|
/gquota |
显示 Google Gemini Code Assist 配额用量(带进度条),仅在 google-gemini-cli 提供商激活时可用。
|
退出
动态 CLI 斜杠命令
|
|
|
/<技能名称> |
将任何已安装的技能作为按需命令加载。示例:/gif-search、/github-pr-workflow、/excalidraw。
|
/skills ... |
从注册表和官方可选技能目录中搜索、浏览、检查、安装、审计、发布和配置技能。
|
快速命令
用户定义的快速命令将短斜杠命令映射到 shell 命令或其他斜杠命令。在 ~/.hermes/config.yaml 中配置:
quick_commands:
status:
type:exec
command:systemctl status hermes-agent
deploy:
type:exec
command:scripts/deploy.sh
inbox:
type:alias
target:/gmail unread
然后在 CLI 或消息平台中输入 /status、/deploy 或 /inbox。快速命令在调度时解析,可能不会出现在每个内置的自动补全/帮助表中。
纯字符串的提示快捷方式不支持作为快速命令。将较长的可重用提示放入技能中,或使用 type: alias 指向现有的斜杠命令。
别名解析
命令支持前缀匹配:输入 /h 解析为 /help,/mod 解析为 /model。当前缀不明确(匹配多个命令)时,按注册顺序取第一个匹配项。完整命令名称和已注册的别名始终优先于前缀匹配。
消息斜杠命令
消息网关在 Telegram、Discord、Slack、WhatsApp、Signal、Email 和 Home Assistant 聊天中支持以下内置命令:
|
|
|
/new |
|
/reset |
|
/status |
|
/stop |
终止所有正在运行的后台进程并中断正在运行的 Agent。
|
/model [provider:model] |
显示或更改模型。支持切换提供商(/model zai:glm-5)、自定义端点(/model custom:model)、命名自定义提供商(/model custom:local:qwen)和自动检测(/model custom)。使用 --global 将更改持久化到 config.yaml。注意:/model 只能在已配置的提供商之间切换。要添加新提供商或设置 API 密钥,请从终端(聊天会话之外)使用 hermes model。
|
/personality [name] |
|
/fast [normal|fast|status] |
切换快速模式 — OpenAI Priority Processing / Anthropic Fast Mode。
|
/retry |
|
/undo |
|
/sethome
|
|
/compress [focus topic] |
手动压缩对话上下文。可选的焦点主题可缩小摘要保留的范围。
|
/title [name] |
|
/resume [name] |
|
/usage |
显示 token 用量、预估成本明细(输入/输出)、上下文窗口状态、会话时长,以及——当活跃提供商支持时——从提供商 API 实时拉取的账户限制部分(剩余配额/积分)。
|
/insights [days] |
|
/reasoning [level|show|hide] |
|
/voice [on|off|tts|join|channel|leave|status] |
控制聊天中的语音回复。join/channel/leave 管理 Discord 语音频道模式。
|
/rollback [number] |
|
/background <prompt> |
在单独的后台会话中运行提示。任务完成后,结果会投递回同一聊天。参见 消息后台会话。
|
/queue <prompt>
|
|
/steer <prompt> |
在下一次工具调用后注入一条消息,而不中断——模型会在下一次迭代中拾取它,而不是作为新的一轮。
|
/goal <text> |
设置一个持续目标,Hermes 会在多轮中朝着它努力——这是我们对 Ralph loop 的实现。一个评判模型会在每轮后检查;如果未完成,Hermes 会自动继续,直到完成、你暂停/清除它,或达到轮次预算(默认 20)。子命令:/goal status、/goal pause、/goal resume、/goal clear。在 Agent 运行中安全地执行 status/pause/clear;设置新目标需要先执行 /stop。参见 持续目标。
|
/footer [on|off|status] |
切换最终回复上的运行时元数据页脚(显示模型、工具计数、计时)。
|
/curator [status|run|pin|archive] |
|
/reload-mcp
|
|
/yolo |
切换 YOLO 模式——跳过所有危险命令的批准提示。
|
/commands [page] |
|
/approve [session|always] |
批准并执行待处理的危险命令。session 仅在此会话中批准;always 添加到永久白名单。
|
/deny |
|
/update |
|
/restart |
在耗尽正在运行的活动后优雅地重启网关。当网关重新上线时,它会向请求者的聊天/线程发送确认。
|
/debug |
上传调试报告(系统信息 + 日志)并获取可分享的链接。
|
/help |
|
/<技能名称> |
|
注意事项
•
/skin、/snapshot、/gquota、/reload、/tools、/toolsets、/browser、/config、/cron、/skills、/platforms、/paste、/image、/statusbar、/plugins、/busy、/indicator、/redraw、/clear、/history、/save、/copy 和 /quit 是仅限 CLI 的命令。
•
/verbose默认仅限 CLI,但可以通过在 config.yaml 中设置 display.tool_progress_command: true 来为消息平台启用。启用后,它会循环切换 display.tool_progress 模式并保存到配置中。
•
/sethome、/update、/restart、/approve、/deny 和 /commands 是仅限消息平台的命令。
•
/status、/background、/queue、/steer、/voice、/reload-mcp、/rollback、/debug、/fast、/footer、/curator 和 /yolo 在 CLI 和消息网关中均可使用。
•
/voice join、/voice channel 和 /voice leave 仅在 Discord 上有意义。