CLI 命令参考(CLI Commands Reference)
本文介绍您从 shell 运行的终端命令。
有关聊天中的斜杠命令,请参阅斜杠命令参考(Slash Commands Reference)。
全局入口点(Global entrypoint)
hermes [global-options] <command> [subcommand/options]全局选项(Global options)
| 选项 | 描述 |
|---|---|
--version, -V | 显示版本并退出。 |
--profile <name>, -p <name> | 选择此次调用使用的 Hermes 配置文件。覆盖 hermes profile use 设置的粘性默认值。 |
--resume <session>, -r <session> | 按 ID 或标题恢复之前的会话。 |
--continue [name], -c [name] | 恢复最近的会话,或与标题匹配的最近会话。 |
--worktree, -w | 在隔离的 git worktree 中启动,用于并行智能体工作流。 |
--yolo | 绕过危险命令批准提示。 |
--pass-session-id | 将会话 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 贡献者使用)。 |
顶层命令(Top-level commands)
| 命令 | 用途 |
|---|---|
hermes chat | 与智能体的交互式或一次性聊天。 |
hermes model | 交互式选择默认提供商和模型。 |
hermes fallback | 管理主模型错误时尝试的回退提供商。 |
hermes gateway | 运行或管理消息网关服务。 |
hermes proxy | 本地兼容 OpenAI 的代理,附加 OAuth 提供商凭据。参见订阅代理(Subscription Proxy)。 |
hermes lsp | 管理语言服务器协议集成(write_file/patch 的语义诊断)。 |
hermes setup | 全部或部分配置的交互式设置向导。 |
hermes whatsapp | 配置和配对本地的 WhatsApp 桥接。 |
hermes slack | Slack 辅助工具(当前:生成应用清单,将每个命令作为原生斜杠命令)。 |
hermes auth | 管理凭据——添加、列出、删除、重置、设置策略。处理 Codex/Nous/Anthropic 的 OAuth 流程。 |
hermes login / logout | 已弃用——改用 hermes auth。 |
hermes status | 显示智能体、认证和平台状态。 |
hermes cron | 检查和触发 cron 调度器。 |
hermes kanban | 多配置文件协作看板(任务、链接、调度器)。 |
hermes webhook | 管理用于事件驱动激活的动态 webhook 订阅。 |
hermes hooks | 检查、批准或删除 config.yaml 中声明的 shell 钩子。 |
hermes doctor | 诊断配置和依赖问题。 |
hermes dump | 可复制粘贴的设置摘要,用于支持/调试。 |
hermes debug | 调试工具——上传日志和系统信息以获取支持。 |
hermes backup | 将 Hermes 主目录备份为 zip 文件。 |
hermes checkpoints | 检查/修剪/清除 ~/.hermes/checkpoints/(/rollback 使用的影子存储)。无参数运行可查看状态概览。 |
hermes import | 从 zip 文件恢复 Hermes 备份。 |
hermes logs | 查看、跟踪和过滤智能体/网关/错误日志文件。 |
hermes config | 显示、编辑、迁移和查询配置文件。 |
hermes pairing | 批准或撤销消息配对码。 |
hermes skills | 浏览、安装、发布、审计和配置技能。 |
hermes bundles | 将多个技能分组到单个 /<name> 斜杠命令下。参见技能包(Skill Bundles)。 |
hermes curator | 后台技能维护——状态、运行、暂停、固定。参见策展人(Curator)。 |
hermes memory | 配置外部记忆提供商。插件特定子命令(例如 hermes honcho)在其提供商活跃时自动注册。 |
hermes acp | 将 Hermes 作为 ACP 服务器运行,用于编辑器集成。 |
hermes mcp | 管理 MCP 服务器配置并将 Hermes 作为 MCP 服务器运行。 |
hermes plugins | 管理 Hermes Agent 插件(安装、启用、禁用、移除)。 |
hermes tools | 按平台配置启用的工具。 |
hermes computer-use | 安装或检查 cua-driver 后端(macOS 计算机使用)。 |
hermes sessions | 浏览、导出、修剪、重命名和删除会话。 |
hermes insights | 显示令牌/成本/活动分析。 |
hermes claw | OpenClaw 迁移辅助工具。 |
hermes dashboard | 启动 Web 仪表板,用于管理配置、API 密钥和会话。 |
hermes profile | 管理配置文件——多个隔离的 Hermes 实例。 |
hermes completion | 打印 shell 补全脚本(bash/zsh/fish)。 |
hermes version | 显示版本信息。 |
hermes update | 拉取最新代码并重新安装依赖(git 安装),或检查 PyPI 并运行 pip install --upgrade(pip 安装)。--check 预览而不安装;--backup 在拉取前创建 HERMES_HOME 快照。 |
hermes uninstall | 从系统中移除 Hermes。 |
hermes chat
hermes chat [options]常用选项:
| 选项 | 描述 |
|---|---|
-q, --query "..." | 一次性非交互式提示。 |
-m, --model <model> | 为此运行覆盖模型。 |
-t, --toolsets <csv> | 启用逗号分隔的工具集。 |
--provider <provider> | 强制指定提供商:auto、openrouter、nous、openai-codex、copilot-acp、copilot、anthropic、gemini、google-gemini-cli、huggingface、novita、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)、xai-oauth(别名 grok-oauth)、qwen-oauth、bedrock、opencode-zen、opencode-go、ai-gateway、azure-foundry、lmstudio、stepfun、tencent-tokenhub(别名 tencent、tokenhub)。 |
-s, --skills <name> | 为会话预加载一个或多个技能(可重复或逗号分隔)。 |
-v, --verbose | 详细输出。 |
-Q, --quiet | 程序模式:抑制横幅/旋转器/工具预览。 |
--image <path> | 将本地图像附加到单个查询。 |
--resume <session> / --continue [name] | 直接从 chat 恢复会话。 |
--worktree | 为此运行创建隔离的 git worktree。 |
--checkpoints | 在破坏性文件更改前启用文件系统检查点。 |
--yolo | 跳过批准提示。 |
--pass-session-id | 将会话 ID 传递到系统提示中。 |
--ignore-user-config | 忽略 ~/.hermes/config.yaml 并使用内置默认值。.env 中的凭据仍会加载。对于隔离的 CI 运行、可重现的错误报告和第三方集成很有用。 |
--ignore-rules | 跳过自动注入 AGENTS.md、SOUL.md、.cursorrules、持久记忆和预加载技能。与 --ignore-user-config 结合使用可实现完全隔离运行。 |
--source <tag> | 会话源标签,用于过滤(默认:cli)。对于不应出现在用户会话列表中的第三方集成,使用 tool。 |
--max-turns <N> | 每轮对话的最大工具调用迭代次数(默认:90,或配置中的 agent.max_turns)。 |
示例:
hermes
hermes chat -q "总结最新的 PR"
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills
hermes chat --quiet -q "只返回 JSON"
hermes chat --worktree -q "审查此仓库并提交 PR"
hermes chat --ignore-user-config --ignore-rules -q "不使用我的个人设置重现"hermes -z <prompt> — 脚本化一次性查询
对于程序化调用者(shell 脚本、CI、cron、通过管道传入提示的父进程),hermes -z 是最纯粹的一次性入口点:一个提示输入,最终响应文本输出,stdout 或 stderr 上无其他内容。 无横幅、无旋转器、无工具预览、无 Session: 行——只有智能体的最终回复作为纯文本。
hermes -z "法国的首都是什么?"
# → 巴黎。
# 父脚本可以干净地捕获响应:
answer=$(hermes -z "总结这个" < /path/to/file.txt)每次运行的覆盖(不修改 ~/.hermes/config.yaml):
| 标志 | 等效环境变量 | 用途 |
||---|---|---|
| -m / --model <model> | 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 "…"相同的智能体、相同的工具、相同的技能——只是去掉了所有交互/装饰层。如果您在记录中也需要工具输出,请改用 hermes chat -q;-z 明确设计为”我只想要最终答案”。
hermes model
交互式提供商 + 模型选择器。这是添加新提供商、设置 API 密钥和运行 OAuth 流程的命令。 从您的终端运行——而不是在活动的 Hermes 聊天会话内部。
hermes model在以下情况下使用:
- 添加新提供商(OpenRouter、Anthropic、Copilot、DeepSeek、自定义等)
- 登录 OAuth 支持的提供商(Anthropic、Copilot、Codex、Nous Portal)
- 输入或更新 API 密钥
- 从提供商特定的模型列表中选择
- 配置自定义/自托管端点
- 将新的默认值保存到配置中
:::warning hermes model vs /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。
:::
提供商和 base URL 的更改会自动持久化到 config.yaml。当从自定义端点切换时,过时的 base URL 会被清除,以防止其泄漏到其他提供商。
hermes gateway
hermes gateway <subcommand>子命令:
| 子命令 | 描述 |
|---|---|
run | 在前台运行网关。推荐用于 WSL、Docker 和 Termux。 |
start | 启动已安装的 systemd/launchd 后台服务。 |
stop | 停止服务(或前台进程)。 |
restart | 重启服务。 |
status | 显示服务状态。 |
list | 列出所有配置文件以及每个配置文件的网关是否正在运行(在有 PID 的地方显示)。当您并排运行多个配置文件并希望获得单一概览时很方便。 |
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 常见问题(WSL FAQ)。
:::
hermes lsp
hermes lsp <subcommand>管理语言服务器协议集成。LSP 在后台运行真实的语言服务器(pyright、gopls、rust-analyzer 等),并将其诊断信息输入到 write_file 和 patch 使用的写入后检查中。基于 git 工作空间检测——LSP 仅在 cwd 或编辑的文件位于 git worktree 内时运行。
子命令:
| 子命令 | 描述 |
|---|---|
status | 显示服务状态、已配置的服务器、安装状态。 |
list | 打印支持的服务器注册表。传入 --installed-only 以跳过缺失的。 |
install <id> | 主动安装一个服务器二进制文件。 |
install-all | 安装每个具有已知自动安装配方的服务器。 |
restart | 拆除正在运行的客户端,以便下次编辑时重新生成。 |
which <id> | 打印一个服务器解析后的二进制路径。 |
有关完整指南、支持的语言和配置选项,请参阅 LSP — 语义诊断(Semantic Diagnostics)。
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 配对/设置流程,包括模式选择和 QR 码配对。
hermes slack
hermes slack manifest # 打印清单到 stdout
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 的对等。将输出粘贴到 https://api.slack.com/apps → 您的应用 → 功能 → 应用清单 → 编辑,然后保存。如果范围或斜杠命令发生更改,Slack 会提示重新安装。
| 标志 | 默认 | 用途 |
|---|---|---|
--write [PATH] | stdout | 写入文件而非 stdout。裸 --write 写入 $HERMES_HOME/slack-manifest.json。 |
--name NAME | Hermes | 在 Slack 中的机器人显示名称。 |
--description DESC | 默认描述 | 在 Slack 应用目录中显示的机器人描述。 |
--slashes-only | 关闭 | 仅输出 features.slash_commands,用于合并到手动维护的清单中。 |
在 hermes update 后再次运行 hermes slack manifest --write 以获取任何新命令。
hermes login / hermes logout (已弃用)
:::caution
hermes login 已被移除。使用 hermes auth 管理 OAuth 凭据、hermes model 选择提供商、hermes setup 进行完整交互式设置。
:::
hermes auth
管理同提供商密钥轮换的凭据池。完整文档请参阅凭据池(Credential Pools)。
hermes auth # 交互式向导
hermes auth list # 显示所有池
hermes auth list openrouter # 显示特定提供商
hermes auth add openrouter --api-key sk-or-v1-xxx # 添加 API 密钥
hermes auth add anthropic --type oauth # 添加 OAuth 凭据
hermes auth remove openrouter 2 # 按索引移除
hermes auth reset openrouter # 清除冷却
hermes auth status anthropic # 显示提供商的认证状态
hermes auth logout anthropic # 注销并清除存储的认证状态
hermes auth spotify # 通过 PKCE 向 Hermes 认证 Spotify子命令:add、list、remove、reset、status、logout、spotify。无子命令调用时,启动交互式管理向导。
hermes status
hermes status [--all] [--deep]| 选项 | 描述 |
|---|---|
--all | 以可共享的编辑格式显示所有详情。 |
--deep | 运行可能需要更长时间的更深层检查。 |
hermes cron
hermes cron <list|create|edit|pause|resume|run|remove|status|tick>| 子命令 | 描述 |
|---|---|
list | 显示已调度的作业。 |
create / add | 从提示创建计划作业,可选择通过重复的 --skill 附加一个或多个技能。 |
edit | 更新作业的计划、提示、名称、投递方式、重复计数或附加技能。支持 --clear-skills、--add-skill 和 --remove-skill。 |
pause | 暂停作业而不删除。 |
resume | 恢复暂停的作业并计算其下次运行时间。 |
run | 在下一个调度器 tick 时触发作业。 |
remove | 删除计划作业。 |
status | 检查 cron 调度器是否在运行。 |
tick | 运行到期的作业一次并退出。 |
hermes kanban
hermes kanban [--board <slug>] <action> [options]多配置文件、多项目协作看板。每个安装可以托管多个看板(每个项目、仓库或领域一个);每个看板是一个独立的队列,有自己的 SQLite 数据库和调度器范围。新安装从名为 default 的一个看板开始,其数据库为 ~/.hermes/kanban.db 以向后兼容;额外的看板位于 ~/.hermes/kanban/boards/<slug>/kanban.db。嵌入式网关调度器每次 tick 扫描每个看板。
全局标志(适用于下面的每个操作):
| 标志 | 用途 |
|---|---|
--board <slug> | 在特定的看板上操作。默认为当前看板(通过 hermes kanban boards switch、HERMES_KANBAN_BOARD 环境变量或 default 设置)。 |
这是人类/脚本接口。 由调度器生成的工作线程通过专用的 kanban_* 工具集(kanban_show、kanban_complete、kanban_block、kanban_create、kanban_link、kanban_comment、kanban_heartbeat;编排配置文件也获得 kanban_list 和 kanban_unblock)驱动看板,而不是通过 shell 调用 hermes kanban。工作线程在其环境中固定了 HERMES_KANBAN_BOARD,因此它们物理上无法看到其他看板。
| 操作 | 用途 |
|---|---|
init | 如果 kanban.db 不存在则创建。幂等。 |
boards list / boards ls | 列出所有看板及其任务计数。--json、--all(包含已归档的)。 |
boards create <slug> | 创建新看板。标志:--name、--description、--icon、--color、--switch(设为活动)。Slug 为 kebab-case,自动转小写。 |
boards switch <slug> / boards use | 将 <slug> 持久化为活动看板(写入 ~/.hermes/kanban/current)。 |
boards show / boards current | 打印当前活动看板的名称、数据库路径和任务计数。 |
boards rename <slug> "<name>" | 更改看板的显示名称。Slug 不可变。 |
boards rm <slug> | 归档(默认)或硬删除看板。--delete 跳过归档步骤。归档的看板移至 boards/_archived/<slug>-<ts>/。default 拒绝此操作。 |
create "<title>" | 在活动看板上创建新任务。标志:--body、--assignee、--parent(可重复)、`—workspace scratch\ |
list / ls | 列出活动看板上的任务。使用 --mine、--assignee、--status、--tenant、--archived、--json 过滤。 |
show <id> | 显示带有评论和事件的任务。--json 用于机器输出。 |
assign <id> <profile> | 分配或重新分配。使用 none 取消分配。任务运行时拒绝。 |
link <parent> <child> | 添加依赖。检测循环。两个任务必须在同一看板上。 |
unlink <parent> <child> | 移除依赖。 |
claim <id> | 原子性地声明一个就绪的任务。打印解析后的工作空间路径。 |
comment <id> "<text>" | 追加评论。下一个认领该任务的工作线程将其作为 kanban_show() 响应的一部分读取。 |
complete <id> | 标记任务完成。标志:--result、--summary、--metadata。 |
block <id> "<reason>" | 将任务标记为因需要人类输入而阻塞。还将原因作为评论追加。 |
schedule <id> "<reason>" | 将时间延迟/后续工作停放在 scheduled 中,使其不被显示为人类阻塞。 |
unblock <id> | 将阻塞或已调度的任务返回到 ready(如果依赖仍打开则为 todo)。 |
archive <id> | 从默认列表中隐藏。gc 将移除 scratch 工作空间。 |
tail <id> | 跟踪任务的事件流。 |
dispatch | 活动看板的一次调度器运行。标志:--dry-run、--max N、--failure-limit N、--json。 |
context <id> | 打印工作线程将看到的完整上下文(标题 + 正文 + 父结果 + 评论)。 |
specify <id> / specify --all | 将分类列中的任务展开为具体规格(标题 + 正文,包含目标、方法、验收标准),通过辅助 LLM 完成,然后将其提升为 todo。标志:--tenant(将 --all 限定到一个租户)、--author、--json。在 config.yaml 的 auxiliary.triage_specifier 下配置模型。 |
decompose <id> / decompose --all | 将分类列中的任务展开为子任务图,按描述路由到专业配置文件(编排驱动路径)。当 LLM 决定任务不需要展开时,回退到 specify 风格的单任务提升。相同标志如 specify。在 config.yaml 的 auxiliary.kanban_decomposer 下配置模型。当 kanban.auto_decompose: true(默认)时,也在每个调度器 tick 自动运行。参见自动与手动编排。 |
gc | 移除已归档任务的 scratch 工作空间。 |
示例:
# 创建第二个看板并在其上放置任务,无需切换离开。
hermes kanban boards create atm10-server --name "ATM10 Server" --icon 🎮
hermes kanban --board atm10-server create "重启服务器" --assignee ops
# 为后续调用切换活动看板。
hermes kanban boards switch atm10-server
hermes kanban list # 显示 atm10-server 的任务
# 归档看板(可恢复)或硬删除。
hermes kanban boards rm atm10-server
hermes kanban boards rm atm10-server --delete看板解析顺序(最高优先级在前):--board <slug> 标志 → HERMES_KANBAN_BOARD 环境变量 → ~/.hermes/kanban/current 文件 → default。
所有操作也可在网关中以斜杠命令形式使用(/kanban …),具有相同的参数表面——包括 boards 子命令和 --board 标志。
有关完整设计——与 Cline Kanban / Paperclip / NanoClaw / Gemini Enterprise 的比较、八种协作模式、四个用户故事、并发正确性证明——请参阅仓库中的 docs/hermes-kanban-v1-spec.pdf 或 看板用户指南(Kanban user guide)。
hermes webhook
hermes webhook <subscribe|list|remove|test>管理用于事件驱动智能体激活的动态 webhook 订阅。需要在配置中启用 webhook 平台——如果未配置,则打印设置说明。
| 子命令 | 描述 |
|---|---|
subscribe / add | 创建 webhook 路由。返回要在您的服务上配置的 URL 和 HMAC 密钥。 |
list / ls | 显示所有智能体创建的订阅。 |
remove / rm | 删除动态订阅。来自 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 | 跨平台投递的目标聊天/频道 ID。 |
--secret | 自定义 HMAC 密钥。如果省略则自动生成。 |
--deliver-only | 跳过智能体——将渲染后的 --prompt 作为文字消息投递。零 LLM 成本,亚秒级投递。需要 --deliver 是真实目标(不是 log)。 |
订阅持久化到 ~/.hermes/webhook_subscriptions.json,并由 webhook 适配器热加载,无需重启网关。
hermes doctor
hermes doctor [--fix]| 选项 | 描述 |
|---|---|
--fix | 尽可能尝试自动修复。 |
hermes dump
hermes dump [--show-keys]输出您的整个 Hermes 设置的紧凑纯文本摘要。设计为可复制粘贴到 Discord、GitHub issues 或 Telegram 中寻求支持——无 ANSI 颜色,无特殊格式,只有数据。
| 选项 | 描述 |
|---|---|
--show-keys | 显示编辑后的 API 密钥前缀(首尾各 4 个字符),而不是仅显示 set/not set。 |
包含的内容
| 部分 | 详情 |
|---|---|
| 标题 | Hermes 版本、发布日期、git 提交哈希 |
| 环境 | 操作系统、Python 版本、OpenAI SDK 版本 |
| 身份 | 活动配置文件名称、HERMES_HOME 路径 |
| 模型 | 已配置的默认模型和提供商 |
| 终端 | 后端类型(local、docker、ssh 等) |
| API 密钥 | 所有 22 个提供商/工具 API 密钥的存在性检查 |
| 功能 | 已启用的工具集、MCP 服务器数量、记忆提供商 |
| 服务 | 网关状态、已配置的消息平台 |
| 工作负载 | cron 作业计数、已安装的技能数量 |
| 配置覆盖 | 任何与默认值不同的配置值 |
示例输出
--- 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> | 每个日志文件包含的日志行数(默认:200)。 |
--expire <days> | 粘贴过期天数(默认:7)。 |
--local | 在本地打印报告而不是上传。 |
报告包括系统信息(操作系统、Python 版本、Hermes 版本)、最近的智能体和网关日志(每个文件 512 KB 限制)以及编辑后的 API 密钥状态。密钥始终被编辑——不会上传任何秘密。
尝试的粘贴服务顺序:paste.rs、dpaste.com。
示例
hermes debug share # 上传调试报告,打印 URL
hermes debug share --lines 500 # 包含更多日志行
hermes debug share --expire 30 # 将粘贴保留 30 天
hermes debug share --local # 将报告打印到终端(不上传)hermes backup
hermes backup [options]创建您的 Hermes 配置、技能、会话和数据的 zip 归档。备份排除 hermes-agent 代码库本身。
| 选项 | 描述 |
|---|---|
-o, --output <path> | zip 文件的输出路径(默认:~/hermes-backup-<timestamp>.zip)。 |
-q, --quick | 快速快照:仅关键状态文件(config.yaml、state.db、.env、auth、cron jobs)。比完整备份快得多。 |
-l, --label <name> | 快照标签(仅与 --quick 一起使用)。 |
备份使用 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
hermes backup -o /tmp/hermes.zip # 完整备份到特定路径
hermes backup --quick # 快速仅状态快照
hermes backup --quick --label "pre-upgrade" # 带标签的快速快照hermes checkpoints
hermes checkpoints [COMMAND]检查和管理位于 ~/.hermes/checkpoints/ 的影子 git 存储——会话内 /rollback 命令背后的存储层。可随时安全运行;不需要智能体正在运行。
| 子命令 | 描述 |
|---|---|
status(默认) | 显示总大小、项目计数和每个项目的细分。裸 hermes checkpoints 等效。 |
list | status 的别名。 |
prune | 强制清理——删除孤立和过期的项目,GC 存储,强制执行大小上限。忽略 24 小时幂等标记。 |
clear | 删除整个检查点基础。不可逆;除非有 -f,否则要求确认。 |
clear-legacy | 仅删除由 v1→v2 迁移产生的 legacy-<timestamp>/ 归档。 |
选项
| 选项 | 子命令 | 描述 |
|---|---|---|
--limit N | status、list | 最大列出项目数(默认 20)。 |
--retention-days N | prune | 丢弃 last_touch 早于 N 天的项目(默认 7)。 |
--max-size-mb N | prune | 在孤立/过期处理后,丢弃每个项目最旧的提交,直到总存储大小 ≤ N MB(默认 500)。 |
--keep-orphans | prune | 跳过删除工作目录不再存在的项目。 |
-f, --force | clear、clear-legacy | 跳过确认提示。 |
示例
hermes checkpoints # 状态概览
hermes checkpoints prune --retention-days 3 # 激进清理
hermes checkpoints prune --max-size-mb 200 # 一次性收紧大小上限
hermes checkpoints clear-legacy -f # 删除 v1 归档目录
hermes checkpoints clear -f # 擦除所有内容有关完整架构和会话内命令,请参阅检查点与 /rollback(Checkpoints and /rollback)。
hermes import
hermes import <zipfile> [options]将之前创建的 Hermes 备份恢复到您的 Hermes 主目录中。归档中的所有文件会覆盖您的 Hermes 主目录中的现有文件;--force 仅跳过当目标已有 Hermes 安装时触发的确认提示。
| 选项 | 描述 |
|---|---|
-f, --force | 跳过现有安装确认提示。 |
:::warning 在导入前停止网关,以避免与正在运行的进程冲突。 :::
示例
hermes import ~/hermes-backup-20260423.zip # 覆盖现有配置前提示
hermes import ~/hermes-backup-20260423.zip --force # 覆盖而不提示hermes logs
hermes logs [log_name] [options]查看、跟踪和过滤 Hermes 日志文件。所有日志存储在 ~/.hermes/logs/ 中(对于非默认配置文件为 <profile>/logs/)。
日志文件
| 名称 | 文件 | 捕获内容 |
|---|---|---|
agent(默认) | agent.log | 所有智能体活动——API 调用、工具分发、会话生命周期(INFO 及以上) |
errors | errors.log | 仅警告和错误——agent.log 的过滤子集 |
gateway | gateway.log | 消息网关活动——平台连接、消息分发、webhook 事件 |
选项
| 选项 | 描述 |
|---|---|
log_name | 要查看的日志:agent(默认)、errors、gateway 或 list 以显示可用文件及大小。 |
-n, --lines <N> | 显示的行数(默认:50)。 |
-f, --follow | 实时跟踪日志,如 tail -f。按 Ctrl+C 停止。 |
--level <LEVEL> | 要显示的最低日志级别:DEBUG、INFO、WARNING、ERROR、CRITICAL。 |
--session <ID> | 过滤包含会话 ID 子字符串的行。 |
--since <TIME> | 显示从相对时间之前开始的行:30m、1h、2d 等。支持 s(秒)、m(分钟)、h(小时)、d(天)。 |
--component <NAME> | 按组件过滤:gateway、agent、tools、cli、cron。 |
示例
# 查看 agent.log 的最后 50 行(默认)
hermes logs
# 实时跟踪 agent.log
hermes logs -f
# 查看 gateway.log 的最后 100 行
hermes logs gateway -n 100
# 仅显示过去 1 小时的警告和错误
hermes logs --level WARNING --since 1h
# 按特定会话过滤
hermes logs --session abc123
# 跟踪 errors.log,从 30 分钟前开始
hermes logs errors --since 30m -f
# 列出所有日志文件及其大小
hermes logs list过滤
过滤器可以组合。当多个过滤器激活时,日志行必须全部通过才显示:
# 包含会话 "tg-12345" 的过去 2 小时 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 <subcommand>子命令:
| 子命令 | 描述 |
|---|---|
show | 显示当前配置值。 |
edit | 在编辑器中打开 config.yaml。 |
set <key> <value> | 设置配置值。 |
path | 打印配置文件路径。 |
env-path | 打印 .env 文件路径。 |
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 <subcommand>子命令:
| 子命令 | 描述 |
|---|---|
browse | 技能注册表的分页浏览器。 |
search | 搜索技能注册表。 |
install | 安装技能。 |
inspect | 预览技能而不安装。 |
list | 列出已安装的技能。 |
check | 检查已安装的中心技能是否有上游更新。 |
update | 在可用时使用上游更改重新安装中心技能。 |
audit | 重新扫描已安装的中心技能。 |
uninstall | 移除中心安装的技能。 |
reset | 通过清除清单条目来解除被标记为 user_modified 的捆绑技能。使用 --restore 时,还会将用户副本替换为捆绑版本。 |
publish | 将技能发布到注册表。 |
snapshot | 导出/导入技能配置。 |
tap | 管理自定义技能源。 |
config | 按平台的交互式启用/禁用技能配置。 |
常见示例:
hermes skills browse
hermes skills browse --source official
hermes skills search react --source skills-sh
hermes skills search https://mintlify.com/docs --source well-known
hermes skills inspect official/security/1password
hermes skills inspect skills-sh/vercel-labs/json-render/json-render-react
hermes skills install official/migration/openclaw-migration
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills install https://sharethis.chat/SKILL.md # 直接 URL(单文件 SKILL.md)
hermes skills install https://example.com/SKILL.md --name my-skill # 当前置元数据没有名称时覆盖名称
hermes skills check
hermes skills update
hermes skills config
hermes skills reset google-workspace
hermes skills reset google-workspace --restore --yes注意:
--force可以覆盖第三方/社区技能的非危险策略阻止。--force不能覆盖dangerous扫描判定。--source skills-sh搜索公共skills.sh目录。--source well-known让您将 Hermes 指向暴露/.well-known/skills/index.json的站点。--source browse-sh搜索 browse.sh 收录的 200+ 站点特定浏览器自动化技能。标识符看起来像browse-sh/airbnb.com/search-listings-ddgioa。- 传递
http(s)://…/*.mdURL 会直接安装单文件 SKILL.md。当前置元数据没有name:且 URL slug 不是有效标识符时,交互式终端会提示输入名称;非交互式界面(TUI 内部的/skills install、网关平台)需要--name <x>代替。
hermes bundles
hermes bundles <subcommand>技能包将多个技能分组到单个 /<bundle-name> 斜杠命令下。调用该包会将每个引用的技能加载到单个组合用户消息中。存储:~/.hermes/skill-bundles/<slug>.yaml。YAML 模式和行为请参阅技能包(Skill Bundles)。
子命令:
| 子命令 | 描述 |
|---|---|
list | 列出已安装的包(无子命令时的默认值) |
show <name> | 显示一个包的名称、描述、技能和文件路径 |
create <name> | 创建新包。传递 --skill <id>(可重复)或省略以进行交互式输入。可用 --description、--instruction、--force。 |
delete <name> | 删除包文件 |
reload | 重新扫描 ~/.hermes/skill-bundles/ 并报告添加/移除的包 |
示例:
hermes bundles create backend-dev \
--skill github-code-review \
--skill test-driven-development \
--skill github-pr-workflow \
-d "后端功能开发"
hermes bundles list
hermes bundles show backend-dev
hermes bundles delete backend-dev在聊天会话中,/bundles 列出已安装的包,/<bundle-name> 加载一个。
hermes curator
hermes curator <subcommand>策展人是一个辅助模型后台任务,定期审查智能体创建的技能、修剪过时的、合并重叠的并归档过时的技能。捆绑和中心安装的技能永远不会被触及。归档可恢复;永远不会发生自动删除。
| 子命令 | 描述 |
|---|---|
status | 显示策展人状态和技能统计 |
run | 立即触发策展人审查(阻塞直到 LLM 轮次完成) |
run --background | 在后端线程中开始 LLM 轮次并立即返回 |
run --dry-run | 仅预览——生成审查报告但不进行任何更改 |
backup | 手动拍摄 ~/.hermes/skills/ 的 tar.gz 快照(策展人每次实际运行前也会自动快照) |
rollback | 从快照恢复 ~/.hermes/skills/(默认为最新) |
rollback --list | 列出可用快照 |
rollback --id <ts> | 按 ID 恢复特定快照 |
rollback -y | 跳过确认提示 |
pause | 暂停策展人直到恢复 |
resume | 恢复暂停的策展人 |
pin <skill> | 固定技能,使策展人永远不会自动转换它 |
unpin <skill> | 取消固定技能 |
restore <skill> | 恢复已归档的技能 |
archive <skill> | 手动归档技能 |
prune | 手动修剪策展人通常会清理的技能 |
list-archived | 列出已归档的技能(可通过 restore 恢复) |
在新安装上,第一次计划运行会延迟一个完整的 interval_hours(默认为 7 天)——网关不会在 hermes update 后的第一个 tick 上立即策展。在此之前使用 hermes curator run --dry-run 预览。
有关行为和配置,请参阅策展人(Curator)。
hermes fallback
hermes fallback <subcommand>管理回退提供商链。当主模型因速率限制、过载或连接错误失败时,按顺序尝试回退提供商。
| 子命令 | 描述 |
|---|---|
list(别名:ls) | 显示当前回退链(无子命令时的默认值) |
add | 选择提供商 + 模型(与 hermes model 相同的选择器)并附加到链中 |
remove(别名:rm) | 选择要从链中删除的条目 |
clear | 移除所有回退条目 |
hermes hooks
hermes hooks <subcommand>检查在 ~/.hermes/config.yaml 中声明的 shell 钩子,针对合成有效负载测试它们,并管理 ~/.hermes/shell-hooks-allowlist.json 中的首次使用同意白名单。
| 子命令 | 描述 |
|---|---|
list(别名:ls) | 列出已配置的钩子及其匹配器、超时和同意状态 |
test <event> | 触发每个匹配 <event> 的钩子,针对合成有效负载 |
revoke(别名:remove、rm) | 移除命令的白名单条目(下次重启后生效) |
doctor | 检查每个配置的钩子:执行位、白名单、mtime 漂移、JSON 有效性和合成运行计时 |
有关事件签名和有效负载形状,请参阅钩子(Hooks)。
hermes memory
hermes memory <subcommand>设置和管理外部记忆提供商插件。可用提供商:honcho、openviking、mem0、hindsight、holographic、retaindb、byterover、supermemory。一次只能有一个外部提供商处于活动状态。内置记忆(MEMORY.md/USER.md)始终活跃。
子命令:
| 子命令 | 描述 |
|---|---|
setup | 交互式提供商选择和配置。 |
status | 显示当前记忆提供商配置。 |
off | 禁用外部提供商(仅内置)。 |
:::info 提供商特定子命令
当外部记忆提供商活动时,它可能注册自己的顶级 hermes <provider> 命令,用于提供商特定的管理(例如 Honcho 活动时使用 hermes honcho)。非活动提供商不会暴露其子命令。运行 hermes --help 查看当前已连接的。
:::
hermes acp
hermes acp将 Hermes 作为 ACP(Agent Client Protocol)stdio 服务器启动,用于编辑器集成。
相关入口点:
hermes-acp
python -m acp_adapter先安装支持:
pip install -e '.[acp]'请参阅 ACP 编辑器集成(ACP Editor Integration) 和 ACP 内部(ACP Internals)。
hermes mcp
hermes mcp <subcommand>管理 MCP(Model Context Protocol)服务器配置,并将 Hermes 作为 MCP 服务器运行。
| 子命令 | 描述 |
|---|---|
serve [-v|--verbose] | 将 Hermes 作为 MCP 服务器运行——向其他智能体暴露对话。 |
add <name> [--url URL] [--command CMD] [--args ...] [--auth oauth|header] | 添加 MCP 服务器并自动发现工具。 |
remove <name>(别名:rm) | 从配置中移除 MCP 服务器。 |
list(别名:ls) | 列出已配置的 MCP 服务器。 |
test <name> | 测试与 MCP 服务器的连接。 |
configure <name>(别名:config) | 切换服务器的工具选择。 |
login <name> | 强制对基于 OAuth 的 MCP 服务器重新认证。 |
请参阅 MCP 配置参考(MCP Config Reference)、在 Hermes 中使用 MCP(Use MCP with Hermes) 和 MCP 服务器模式(MCP Server Mode)。
hermes plugins
hermes plugins [subcommand]统一的插件管理——通用插件、记忆提供商和上下文引擎集中在一个地方。无子命令运行 hermes plugins 会打开一个复合交互式屏幕,分为两个部分:
- 通用插件(General Plugins) — 多选复选框以启用/禁用已安装的插件
- 提供商插件(Provider Plugins) — 记忆提供商和上下文引擎的单选配置。按 Enter 进入一个类别以打开单选选择器。
| 子命令 | 描述 |
|---|---|
| (none) | 复合交互式 UI——通用插件开关 + 提供商插件配置。 |
install <identifier> [--force] | 从 Git URL 或 owner/repo 安装插件。 |
update <name> | 拉取已安装插件的最新更改。 |
remove <name>(别名:rm、uninstall) | 移除已安装的插件。 |
enable <name> | 启用一个被禁用的插件。 |
disable <name> | 禁用一个插件而不移除。 |
list(别名:ls) | 列出已安装的插件及其启用/禁用状态。 |
提供商插件选择保存到 config.yaml:
memory.provider— 活动记忆提供商(空 = 仅内置)context.engine— 活动上下文引擎("compressor"= 内置默认)
通用插件禁用列表存储在 config.yaml 的 plugins.disabled 下。
请参阅插件(Plugins)和构建 Hermes 插件(Build a Hermes Plugin)。
hermes tools
hermes tools [--summary]| 选项 | 描述 |
|---|---|
--summary | 打印当前已启用工具的摘要并退出。 |
无 --summary 时,启动交互式按平台工具配置 UI。
hermes computer-use
hermes computer-use <subcommand>子命令:
| 子命令 | 描述 |
|---|---|
install | 运行上游 cua-driver 安装程序(仅 macOS)。 |
install --upgrade | 即使 cua-driver 已在 PATH 上也重新运行安装程序。上游脚本始终拉取最新版本,因此这会执行就地升级。 |
status | 打印 cua-driver 是否在 $PATH 上以及安装的版本。 |
hermes computer-use install 是安装 computer_use 工具集使用的 cua-driver 二进制文件的稳定入口点。它运行与 hermes tools 在首次启用 Computer Use 时调用的相同上游安装程序,因此如果工具集切换未触发它(例如在回访用户设置上),可以安全地使用它重新运行安装。
hermes update 在更新结束时自动重新运行上游安装程序(如果 cua-driver 在 PATH 上),因此大多数用户不需要手动调用 --upgrade。在上游发布了您想立即应用的修复时使用它,无需等待下一个 Hermes 更新。
hermes sessions
hermes sessions <subcommand>子命令:
| 子命令 | 描述 |
|---|---|
list | 列出最近的会话。 |
browse | 交互式会话选择器,支持搜索和恢复。 |
export <output> [--session-id ID] | 将会话导出为 JSONL。 |
delete <session-id> | 删除一个会话。 |
prune | 删除旧会话。 |
stats | 显示会话存储统计。 |
rename <session-id> <title> | 设置或更改会话标题。 |
hermes insights
hermes insights [--days N] [--source platform]| 选项 | 描述 |
|---|---|
--days <n> | 分析最近 n 天(默认:30)。 |
--source <platform> | 按来源过滤,如 cli、telegram 或 discord。 |
hermes claw
hermes claw migrate [options]将您的 OpenClaw 设置迁移到 Hermes。从 ~/.openclaw(或自定义路径)读取并写入 ~/.hermes。自动检测旧版目录名称(~/.clawdbot、~/.moltbot)和配置文件名(clawdbot.json、moltbot.json)。
| 选项 | 描述 |
|---|---|
--dry-run | 预览将迁移的内容而不写任何东西。 |
--preset <name> | 迁移预设:full(所有兼容设置)或 user-data(排除基础架构配置)。两个预设都不导入秘密——显式传递 --migrate-secrets。 |
--overwrite | 在冲突时覆盖现有 Hermes 文件(默认:当计划有冲突时拒绝应用)。 |
--migrate-secrets | 在迁移中包括 API 密钥。即使在 --preset full 下也需要。 |
--no-backup | 跳过迁移前 ~/.hermes/ 的 zip 快照(默认在应用前将单个恢复点归档写入 ~/.hermes/backups/pre-migration-*.zip;可使用 hermes import 恢复)。 |
--source <path> | 自定义 OpenClaw 目录(默认:~/.openclaw)。 |
--workspace-target <path> | 工作区指令(AGENTS.md)的目标目录。 |
--skill-conflict <mode> | 处理技能名称冲突:skip(默认)、overwrite 或 rename。 |
--yes | 跳过确认提示。 |
迁移内容
迁移涵盖人物设定、记忆、技能、模型提供商、消息平台、智能体行为、会话策略、MCP 服务器、TTS 等 30+ 个类别。项目要么直接导入到 Hermes 等效项中,要么归档以供人工审查。
直接导入: SOUL.md、MEMORY.md、USER.md、AGENTS.md、技能(4 个源目录)、默认模型、自定义提供商、MCP 服务器、消息平台令牌和白名单(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、智能体默认值(推理努力、压缩、人类延迟、时区、沙箱)、会话重置策略、批准规则、TTS 配置、浏览器设置、工具设置、执行超时、命令白名单、网关配置以及来自 3 个来源的 API 密钥。
归档以供人工审查: Cron 作业、插件、钩子/webhook、记忆后端(QMD)、技能注册表配置、UI/身份、日志记录、多智能体设置、频道绑定、IDENTITY.md、TOOLS.md、HEARTBEAT.md、BOOTSTRAP.md。
API 密钥解析按优先级顺序检查三个来源:配置值 → ~/.openclaw/.env → auth-profiles.json。所有令牌字段处理纯字符串、环境模板(${VAR})和 SecretRef 对象。
完整的配置键映射、SecretRef 处理详情和迁移后检查清单,请参阅**完整迁移指南(full migration guide)**。
示例
# 预览将迁移的内容
hermes claw migrate --dry-run
# 完整迁移(所有兼容设置,无秘密)
hermes claw migrate --preset full
# 包括 API 密钥的完整迁移
hermes claw migrate --preset full --migrate-secrets
# 仅迁移用户数据(无秘密),覆盖冲突
hermes claw migrate --preset user-data --overwrite
# 从自定义 OpenClaw 路径迁移
hermes claw migrate --source /home/user/old-openclawhermes dashboard
hermes dashboard [options]启动 Web 仪表板——一个基于浏览器的 UI,用于管理配置、API 密钥和监控会话。需要 pip install hermes-agent[web](FastAPI + Uvicorn)。嵌入式浏览器聊天标签需要 --tui 加上 pty 附加功能。完整文档请参阅 Web 仪表板(Web Dashboard)。
| 选项 | 默认 | 描述 |
|---|---|---|
--port | 9119 | Web 服务器运行的端口 |
--host | 127.0.0.1 | 绑定地址 |
--no-open | — | 不自动打开浏览器 |
--tui | off | 通过将 hermes --tui 运行在 PTY/WebSocket 桥接后面,启用浏览器内聊天标签。需要 pip install 'hermes-agent[web,pty]' 和 POSIX PTY 环境,如 Linux、macOS 或 WSL2。 |
--insecure | off | 允许绑定到非 localhost 主机。在网络上暴露仪表板凭据;仅在受信任的网络控制后使用。 |
--stop | — | 停止正在运行的 hermes dashboard 进程并退出。 |
--status | — | 列出正在运行的 hermes dashboard 进程并退出。 |
# 默认——打开浏览器到 http://127.0.0.1:9119
hermes dashboard
# 自定义端口,不打开浏览器
hermes dashboard --port 8080 --no-open
# 启用浏览器聊天标签
hermes dashboard --tuihermes profile
hermes profile <subcommand>管理配置文件——多个隔离的 Hermes 实例,每个有自己的配置、会话、技能和主目录。
| 子命令 | 描述 |
|---|---|
list | 列出所有配置文件。 |
use <name> | 设置粘性默认配置文件。 |
create <name> [--clone] [--clone-all] [--clone-from <source>] [--no-alias] | 创建新配置文件。--clone 从活动配置文件复制配置、.env 和 SOUL.md。--clone-all 复制所有状态。--clone-from 指定源配置文件。 |
delete <name> [-y] | 删除配置文件。 |
show <name> | 显示配置文件详情(主目录、配置等)。 |
alias <name> [--remove] [--name NAME] | 管理包装脚本以便快速访问配置文件。 |
rename <old> <new> | 重命名配置文件。 |
export <name> [-o FILE] | 将配置文件导出为 .tar.gz 归档(本地备份)。 |
import <archive> [--name NAME] | 从 .tar.gz 归档导入配置文件(本地恢复)。 |
install <source> [--name N] [--alias] [--force] [-y] | 从 Git URL 或本地目录安装配置文件分发。 |
update <name> [--force-config] [-y] | 重新拉取分发;保留用户数据(记忆、会话、认证)。 |
info <name> | 显示配置文件的分发清单(版本、要求、来源)。 |
示例:
hermes profile list
hermes profile create work --clone
hermes profile use work
hermes profile alias work --name h-work
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes profile install github.com/user/my-distro --alias
hermes profile update work
hermes -p work chat -q "来自工作配置文件的问候"hermes completion
hermes completion [bash|zsh|fish]将 shell 补全脚本打印到 stdout。在您的 shell 配置中加载输出,以获得 Hermes 命令、子命令和配置文件名称的 tab 补全。
示例:
# Bash
hermes completion bash >> ~/.bashrc
# Zsh
hermes completion zsh >> ~/.zshrc
# Fish
hermes completion fish > ~/.config/fish/completions/hermes.fishhermes update
hermes update [--check] [--backup] [--restart-gateway]拉取最新的 hermes-agent 代码并在您的 venv 中重新安装依赖,然后重新运行安装后钩子(MCP 服务器、技能同步、补全安装)。在已安装的实例上运行是安全的。
pip 安装: hermes update 自动检测基于 pip 的安装——它查询 PyPI 以获取最新版本并运行 pip install --upgrade hermes-agent 而不是 git pull。PyPI 版本跟踪标记版本(主要/次要版本),而不是 main 上的每次提交。使用 --check 查看是否有更新的 PyPI 版本可用而不安装。
| 选项 | 描述 |
|---|---|
--check | 并排打印当前提交和最新的 origin/main 提交,如果同步则退出 0,如果落后则退出 1。不拉取、安装或重启任何东西。 |
--backup | 在拉取前创建 HERMES_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.servicesystemd 单元(而不是当前的hermes-gateway.service),它会打印一次性迁移提示,以便您可以避免翻页循环问题。 - 退出代码。
0表示成功,1表示拉取/安装/安装后错误,2表示阻止git pull的意外工作树更改。
维护命令(Maintenance commands)
| 命令 | 描述 |
|---|---|
hermes version | 打印版本信息。 |
hermes update | 拉取最新更改并重新安装依赖。 |
hermes uninstall [--full] [--yes] | 移除 Hermes,可选择删除所有配置/数据。 |