从终端使用 Hermes
Hermes 是终端原生工具。有经典 readline CLI,也有更丰富的 TUI,但它们共享同一套命令、会话和数据。本课是实操向的「敲什么命令会发生什么」:启动、打断、恢复、后台运行,以及把上下文控制住。
主要来源:官方 CLI 指南 https://hermes-agent.nousresearch.com/docs/user-guide/cli。本课是我们的总结;命令列表请以上游文档为准。
两种界面,一份会话
经典提示符(hermes)是简单的 REPL,在 SSH 和极简环境下也能跑。TUI(hermes --tui)加入了模态弹层、鼠标支持、常驻状态栏,以及重新进入会话时的紧凑回顾面板。
关键是:两者写入同一份 SQLite 存储 ~/.hermes/state.db —— 在一个界面里创建的会话可以从另一个界面看到并继续。可以自由切换。
状态栏与自适应布局
输入区上方的常驻状态栏会告诉你本来需要额外询问的信息:
- 当前模型与提供商。
- Token 使用量与上下文填充百分比 —— 长操作前先看一眼。
- 本次会话估算成本。
- 会话已运行时长。
布局会根据终端宽度自适应 —— 76 列以上显示完整状态栏,窗口变窄则逐步退化。如果你发现状态栏意外收缩,把窗口拉回原宽度通常就能恢复。
启动方式与一次性查询
值得记住的常用调用:
hermes # 交互式会话
hermes chat -q "我的磁盘占用多少?" # 一次性,非交互
hermes --tui # 现代 TUI
hermes --continue # 恢复最近一个会话
hermes --resume <session_id> # 跳到指定会话
hermes -s my-skill # 启动时预加载一个技能
hermes --model anthropic/claude-sonnet-4 --provider nous-q(一次性)模式在脚本调用中特别好用 —— Hermes 把模型回复打到 stdout 然后退出,不会弹出 REPL。
斜杠命令
会话内以 / 开头的输入是斜杠命令,不会被当作消息发给模型。按 / 会触发自动补全。你最常用的几条:
/help—— 带描述的权威命令列表。/model—— 会话中途切换模型(上下文保留)。/tools—— 查看当前启用的工具集。/skills browse—— 浏览官方技能库。/title—— 为会话命名,方便之后查找。/voice on与 Ctrl+B —— 开启语音输入并触发录音。/reasoning high—— 对付难题时调高推理力度。/compress—— 上下文吃紧时总结旧轮次。/usage—— 详细的 Token 与成本明细。/verbose—— 循环显示详细程度(off → new → all → verbose)。
多行输入与粘贴代码
新手最容易掉进的坑是不小心把只写了一半的提示发出去。Hermes 给了你三种工具:
- 按 Alt+Enter 或 Ctrl+J 换行而不是发送。
- 行尾加
\续接到下一行。 - 粘贴的代码块会被自动识别并缓冲为单条消息,不会被切成多条。
打断,而不是重开
智能体走偏时,本能反应应该是「打断并纠偏」,而不是「退出重开」:
- 在它工作时直接输入新消息 —— 会打断当前操作并采纳新指令。
- 按一次 Ctrl+C —— 打断当前这轮,会话保留。
- 2 秒内按两次 Ctrl+C —— 强制退出。
- Ctrl+Z —— 在 Unix 上挂起到后台(
fg恢复)。
因为打断被记录下来,下一条提示天然带着「你刚在做 X,我把你打断了,现在改做 Y」的上下文 —— 模型知道自己为什么被切断。
后台任务
/background 是最被低估的功能之一。它把一个完全独立的智能体会话作为守护线程启动,共享你的配置(模型、提供商、推理设置),但对话彼此隔离。每个后台任务有自己的 ID —— 想看结果时再回来看,前台对话不会被污染。
典型用法:「后台调查这个 bug,我继续做功能」。主会话保持聚焦,后台线程在你想要结果时随时可取。
上下文压缩与快速命令
两个很快就要用到的人体工程学功能:
- 上下文压缩会随着窗口填满自动触发 —— Hermes 保留最前与最末若干轮,把中间压成总结,这样长会话不会突然崩掉。
- 快速命令在
~/.hermes/config.yaml的quick_commands里定义,把简短名字映射到 shell 操作,不需要大模型参与 —— 省 token,也省时间。
下一步
你现在已经会在 CLI 里舒服地工作了。第 3 课讲让 Hermes 成为平台(而不只是聊天工具)的四个功能 —— 记忆、技能、工具集和语音。如果你更想从手机上用,直接跳到第 4 课消息平台。