CLI 界面
Hermes Agent 的 CLI 是一个完整的终端用户界面(TUI,Terminal User Interface)—— 而非 Web 界面。它支持多行编辑、斜杠命令自动补全、对话历史、中断重定向以及流式工具输出。专为在终端中工作的人而构建。
运行 CLI
# 启动交互式会话(默认)
hermes
# 单次查询模式(非交互式)
hermes chat -q "Hello"
# 指定模型
hermes chat --model "anthropic/claude-sonnet-4"
# 指定提供商
hermes chat --provider nous # 使用 Nous Portal
hermes chat --provider openrouter # 强制使用 OpenRouter
# 指定工具集
hermes chat --toolsets "web,terminal,skills"
# 启动时预加载一个或多个技能
hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -q "open a draft PR"
# 恢复之前的会话
hermes --continue # 恢复最近的 CLI 会话 (-c)
hermes --resume <session_id> # 通过 ID 恢复指定会话 (-r)
# 详细模式(调试输出)
hermes chat --verbose
# 隔离的 git worktree(用于并行运行多个 agent)
hermes -w # 在 worktree 中以交互模式运行
hermes -w -q "Fix issue #123" # 在 worktree 中以单次查询模式运行
界面布局
Hermes CLI 的欢迎横幅、对话流和固定输入提示以稳定的文档图示呈现,而非脆弱的字符画。
欢迎横幅一览展示你的模型、终端后端、工作目录、可用工具和已安装的技能。
状态栏
输入区域上方有一个持久的状态栏,实时更新:
⚕ claude-sonnet-4-20250514 │ 12.4K/200K │ [██████░░░░] 6% │ $0.06 │ 15m
| 元素 | 描述 |
|---|---|
| 模型名称 | 当前使用的模型(超过 26 个字符时截断) |
| Token 计数 | 已使用的上下文 token 数 / 最大上下文窗口 |
| 上下文条 | 带有颜色编码阈值的可视化填充指示器 |
| 费用 | 预估的会话费用(未知或零价格模型显示 n/a) |
| 时长 | 会话已用时间 |
状态栏会根据终端宽度自适应 —— 宽度 ≥ 76 列时显示完整布局,52–75 列时显示紧凑布局,低于 52 列时仅显示模型和时长。
上下文颜色编码:
| 颜色 | 阈值 | 含义 |
|---|---|---|
| 绿色 | < 50% | 空间充足 |
| 黄色 | 50–80% | 逐渐填满 |
| 橙色 | 80–95% | 接近上限 |
| 红色 | ≥ 95% | 即将溢出 —— 建议使用 /compress |
使用 /usage 查看详细分类,包括各类别的费用(输入 token 与输出 token)。
会话恢复显示
恢复之前的会话时(hermes -c 或 hermes --resume <id>),横幅和输入提示之间会出现一个"先前对话"面板,显示对话历史的紧凑摘要。详见 会话 — 恢复时的对话回顾。
快捷键
| 按键 | 操作 |
|---|---|
Enter | 发送消息 |
Alt+Enter 或 Ctrl+J | 换行(多行输入) |
Alt+V | 在终端支持时从剪贴板粘贴图片 |
Ctrl+V | 粘贴文本,并在可能时附 加剪贴板中的图片 |
Ctrl+B | 在启用语音模式时开始/停止录音(voice.record_key,默认值:ctrl+b) |
Ctrl+C | 中断 agent(2 秒内按两次强制退出) |
Ctrl+D | 退出 |
Ctrl+Z | 将 Hermes 挂起到后台(仅限 Unix)。在 shell 中运行 fg 恢复。 |
Tab | 接受自动建议(幽灵文本)或自动补全斜杠命令 |
斜杠命令
输入 / 可查看自动补全下拉列表。Hermes 支持大量内置 CLI 斜杠命令、动态技能命令和用户自定义快速命令。
常用示例:
| 命令 | 描述 |
|---|---|
/help | 显示命令帮助 |
/model | 显示或更改当前模型 |
/tools | 列出当前可用工具 |
/skills browse | 浏览技能中心和官方可选技能 |
/background <prompt> | 在独立的后台会话中运行提示 |
/skin | 显示或切换当前 CLI 皮肤 |
/voice on | 启用 CLI 语音模式(按 Ctrl+B 录音) |
/voice tts | 切换 Hermes 回复的语音播放 |
/reasoning high | 提高推理强度 |
/title My Session | 命名当前会话 |
完整的内置 CLI 和消息命令列表,参见 斜杠命令参考。
关于设置、提供商、静音调优以及消息/Discord 语音使用,参见 语音模式。
tip
命令不区分大小写 —— /HELP 和 /help 效果相同。已安装的技能也会自动成为斜杠命令。
快速命令
你可以定义自定义命令,直接运行 shell 命令而无需调用 LLM。这些命令在 CLI 和消息平台(Telegram、Discord 等)中均可使用。
# ~/.hermes/config.yaml
quick_commands:
status:
type: exec
command: systemctl status hermes-agent
gpu:
type: exec
command: nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader
然后在任意聊天中输入 /status 或 /gpu。更多示例参见配置指南。
启动时预加载技能
如果你已经知道会话中需要激活哪些技能,可以在启动时传入:
hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -s github-auth
Hermes 会在第一轮对话前将每个指定技能加载到会话提示中。该标志在交互模式和单次查询模式下均可使用。
技能斜杠命令
~/.hermes/skills/ 中的每个已安装技能都会自动注册为斜杠命令。技能名称即为命令名:
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
# 仅输入技能名称会加载它,让 agent 询问你需要什么:
/excalidraw
人格
设置预定义人格(Personality)以改变 agent 的语气:
/personality pirate
/personality kawaii
/personality concise
内置人格包括:helpful、concise、technical、creative、teacher、kawaii、catgirl、pirate、shakespeare、surfer、noir、uwu、philosopher、hype。
你也可以在 ~/.hermes/config.yaml 中定义自定义人格:
personalities:
helpful: "You are a helpful, friendly AI assistant."
kawaii: "You are a kawaii assistant! Use cute expressions..."
pirate: "Arrr! Ye be talkin' to Captain Hermes..."
# 添加你自己的!
多行输入
有两种方式输入多行消息:
Alt+Enter或Ctrl+J—— 插入新行- 反斜杠续行 —— 在行末加
\继续输入:
❯ Write a function that:\
1. Takes a list of numbers\
2. Returns the sum
info
支持粘贴多行文本 —— 使用 Alt+Enter 或 Ctrl+J 插入换行,或直接粘贴内容即可。
中断 Agent
你可以在任何时候中断 agent:
- 在 agent 工作时输入新消息 + Enter —— 中断当前操作并处理你的新指令
Ctrl+C—— 中断当前操作(2 秒内按两次强制退出)- 正在执行的终端命令会立即被终止(先发送 SIGTERM,1 秒后发送 SIGKILL)
- 中断期间输入的多条消息会合并为一个提示
忙碌输入模式
display.busy_input_mode 配置项控制在 agent 工作时按 Enter 的行为:
| 模式 | 行为 |
|---|---|
"interrupt"(默认) | 你的消息会中断当前操作并立即处理 |
"queue" | 你的消息会被静默排队,在 agent 完成后作为下一轮发送 |
# ~/.hermes/config.yaml
display:
busy_input_mode: "queue" # 或 "interrupt"(默认)
当你想准备后续消息但不想意外取消正在执行的工作时,排队模式非常有用。未知值会回退到 "interrupt"。
挂起到后台
在 Unix 系统上,按 Ctrl+Z 可将 Hermes 挂起到后台 —— 就像任何终端进程一样。Shell 会打印确认信息:
Hermes Agent has been suspended. Run `fg` to bring Hermes Agent back.
在你的 shell 中输入 fg 即可恢复会话,回到你离开时的确切位置。Windows 不支持此功能。
工具进度显示
CLI 会在 agent 工作时 显示动画反馈:
思考动画(API 调用期间):
◜ (。•́︿•̀。) pondering... (1.2s)
◠ (⊙_⊙) contemplating... (2.4s)
✧٩(ˊᗜˋ*)و✧ got it! (3.1s)
工具执行信息流:
┊ 💻 terminal `ls -la` (0.3s)
┊ 🔍 web_search (1.2s)
┊ 📄 web_extract (2.1s)
使用 /verbose 循环切换显示模式:off → new → all → verbose。此命令也可以在消息平台中启用 —— 参见配置。