hermes-agent/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/tui.md
Teknium 76135b329d
docs(i18n): translate all docs into Simplified Chinese (zh-Hans) (#31942)
Translates the full English docs corpus (335 files) into Simplified
Chinese under website/i18n/zh-Hans/. Combined with PR #31895 (cross-
locale link fix), the 简体中文 locale toggle now serves a complete
Chinese site with working cross-page navigation.

Pipeline:
- Claude Sonnet 4.6 via OpenRouter, 8-way concurrent
- Preserves frontmatter keys, code blocks, MDX/JSX, link URLs, brand
  names, and technical jargon (prompt/token/hook/MCP/ACP/etc.)
- Translates only frontmatter title/description and prose
- Two largest files (configuration.md 93KB, research-paper-writing.md
  107KB) retried with 64K max_tokens after initial fence-drift
- 3 manual post-fixes for MDX edge cases the model didn't escape:
  < in optional-skills-catalog table, double-quotes in an alt= tag,
  and a bare URL adjacent to a full-width period

Cost: ~$30 total (Sonnet 4.6 input $3/M + output $15/M).

Verified `npm run build` succeeds for both en and zh-Hans locales,
no double-prefixed /docs/zh-Hans/docs/ URLs in rendered output,
all in-page navigation resolves correctly.

Translations are machine-generated and may need human review on
specific pages — but they're an enormous improvement over the
previous state (3 zh-Hans pages out of 335).
2026-05-25 01:47:38 -07:00

15 KiB
Raw Blame History

sidebar_position title description
2 TUI 启动 Hermes 的现代终端 UI——支持鼠标操作、丰富的浮层面板和非阻塞输入。

TUI

TUI 是 Hermes 的现代前端——一个终端 UI用户界面Classic CLI 共享同一 Python 运行时。相同的 agent、相同的会话、相同的斜杠命令交互界面更简洁、响应更流畅。

这是以交互方式运行 Hermes 的推荐方式。

启动

# 启动 TUI
hermes --tui

# 恢复最近的 TUI 会话(若无则回退到最近的 classic 会话)
hermes --tui -c
hermes --tui --continue

# 通过 ID 或标题恢复指定会话
hermes --tui -r 20260409_000000_aa11bb
hermes --tui --resume "my t0p session"

# 直接运行源码——跳过预构建步骤(供 TUI 贡献者使用)
hermes --tui --dev

也可以通过环境变量启用:

export HERMES_TUI=1
hermes          # 现在使用 TUI
hermes chat     # 同上

Classic CLI 仍作为默认方式保留。CLI 界面中记录的所有内容——斜杠命令、快捷命令、skill 预加载、personality、多行输入、中断——在 TUI 中均完全一致。

为什么选择 TUI

  • 即时首帧 — banner 在应用加载完成前就已渲染,因此 Hermes 启动时终端不会出现卡顿感。
  • 非阻塞输入 — 会话就绪前即可输入并排队消息。agent 上线后立即发送第一条 prompt提示词
  • 丰富的浮层面板 — 模型选择器、会话选择器、审批和澄清提示均以模态面板形式渲染,而非内联流程。
  • 实时会话面板 — 工具和 skill 在初始化过程中逐步填充。
  • 鼠标友好的选择 — 拖拽高亮时使用统一背景色,而非 SGR 反色。使用终端的常规复制手势即可复制。
  • 备用屏幕渲染 — 差量更新意味着流式传输时无闪烁,退出后无滚动历史残留。
  • 编辑器增强 — 长片段的内联折叠粘贴、Cmd+V / Ctrl+V 文本粘贴(带剪贴板图片回退)、括号粘贴安全保护,以及图片/文件路径附件规范化。

同样的 skinspersonalities 均适用。会话中途使用 /skin ares/personality pirate 切换UI 实时重绘。完整的可定制键列表及其对 classic 与 TUI 的适用范围,请参阅 Skins & Themes——TUI 支持 banner 调色板、UI 颜色、prompt 字形/颜色、会话显示、补全菜单、选区背景色、tool_prefixhelp_header

可折叠的 banner 区块

TUI 启动 banner 将运行时信息分为四个可折叠区块,每个区块标题旁渲染 / 折叠箭头:

区块 默认状态
Tools 展开
Skills 折叠
System Prompt 折叠
MCP Servers 折叠

点击区块标题(或其折叠箭头)的任意位置即可切换展开/折叠状态。Tools 列表默认展开因为它是会话开始时最常查看的区块Skills、System Prompt 和 MCP Servers 默认折叠,即使安装了大量 skill 或接入了多个 MCP serverbanner 也能保持紧凑。状态仅对当前 banner 实例有效,下次启动将重置为默认值。

环境要求

  • Node.js ≥ 20 — TUI 作为从 Python CLI 启动的子进程运行。hermes doctor 会验证此项。
  • TTY — 与 classic CLI 一样,通过管道传入 stdin 或在非交互式环境中运行时,将回退到单次查询模式。

首次启动时Hermes 会将 TUI 的 Node 依赖安装到 ui-tui/node_modules(一次性操作,耗时数秒)。后续启动速度很快。拉取新版 Hermes 后,若源文件比 dist 更新TUI bundle 将自动重新构建。

外部预构建

发行版若附带预构建 bundle如 Nix、系统包可将 Hermes 指向该 bundle

export HERMES_TUI_DIR=/path/to/prebuilt/ui-tui
hermes --tui

该目录必须包含 dist/entry.js

快捷键

快捷键与 Classic CLI 完全一致。仅有以下行为差异:

  • 鼠标拖拽 — 以统一选区背景色高亮文本。
  • Cmd+V / Ctrl+V — 优先尝试普通文本粘贴,然后回退到 OSC52/原生剪贴板读取,最后在剪贴板或粘贴内容解析为图片时进行图片附件操作。
  • /terminal-setup — 安装本地 VS Code / Cursor / Windsurf 终端绑定,以在 macOS 上获得更好的 Cmd+Enter 和撤销/重做一致性。
  • 斜杠自动补全 — 以带描述的浮动面板形式展开,而非内联下拉菜单。
  • Ctrl+X — 当排队消息被高亮(在 agent 仍在运行时发送的消息)时,从队列中删除该消息。Esc 取消编辑并取消高亮,但不删除。
  • Ctrl+G / Ctrl+X Ctrl+E — 在 $EDITOR 中打开当前输入缓冲区,用于多行/长 prompt 编写;保存并退出后,内容将作为 prompt 发送回来。

斜杠命令

所有斜杠命令均可正常使用。部分命令由 TUI 独有——它们会产生更丰富的输出或以浮层而非内联面板形式渲染:

命令 TUI 行为
/help 带分类命令的浮层,可用方向键导航
/sessions 模态会话选择器——预览、标题、token 总量、内联恢复
/model 按提供商分组的模态模型选择器,带费用提示
/skin 实时预览——浏览时主题变更即时生效
/details 切换详细工具调用详情(全局或按区块)
/usage 丰富的 token / 费用 / 上下文面板
/agents(别名 /tasks 可观测性浮层——带终止/暂停控制的实时子 agent 树、按分支的费用/token/文件汇总、逐轮历史记录
/reload ~/.hermes/.env 重新读入运行中的 TUI 进程,使新添加的 API 密钥无需重启即可生效
/mouse [on|off|toggle|wheel|buttons|all] 在运行时选择鼠标跟踪预设(同时持久化到 config.yamldisplay.mouse_tracking)。wheel1000+1006保留滚轮滚动而不产生悬停事件避免在 tmux 中向 prompt 行发送"No image in clipboard"垃圾信息;buttons 添加 1002 以支持终端侧拖拽选择;all 是带悬停 UI 的默认值。

其他所有斜杠命令(包括已安装的 skill、快捷命令和 personality 切换)与 classic CLI 完全一致。请参阅斜杠命令参考

LaTeX 数学渲染

TUI 的 Markdown 渲染管线支持内联 LaTeX 数学:$E = mc^2$$$\frac{a}{b}$$ 渲染为 Unicode 格式的数学表达式,而非原始 TeX 源码。支持内联和块级数学;不支持的语法将回退为显示包裹在代码 span 中的原始 TeX以保持可复制性。

此功能始终开启无需配置。Classic CLI 保留原始 TeX。

浅色终端检测

TUI 自动检测浅色终端并相应切换到浅色主题。检测分三层进行:

  1. HERMES_TUI_THEME 环境变量——最高优先级。可选值:lightdark,或原始 6 位背景十六进制色值(如 ffffff1a1a2e)。
  2. COLORFGBG 环境变量——xterm 衍生终端使用的经典"背景色查询"提示。
  3. 通过 OSC 11 探测终端背景——适用于不设置 COLORFGBG 的现代终端Ghostty、Warp、iTerm2、WezTerm、Kitty

若要无论终端如何都永久使用浅色主题:

export HERMES_TUI_THEME=light

忙碌指示器样式

状态栏忙碌指示器可插拔——默认在 agent 工作期间每 2.5 秒轮换一次 Hermes 的 kawaii 表情调色板。通过配置或 /indicator 斜杠命令选择不同样式:

display:
  tui_status_indicator: kaomoji   # kaomoji | emoji | unicode | ascii

或在会话中:/indicator emoji(等)。各样式附带匹配的字形宽度,轮换时状态栏其余部分不会抖动。

自动恢复

默认情况下,hermes --tui 每次启动都会开启新会话。若要自动重新连接到最近的 TUI 会话(在终端或 SSH 连接意外断开时很有用),可选择启用:

export HERMES_TUI_RESUME=1          # 最近的 TUI 会话
# 或:
export HERMES_TUI_RESUME=<session-id>   # 指定会话

取消设置该变量,或在每次启动时显式传入 --resume <id> 以覆盖。

状态栏

TUI 的状态栏实时跟踪 agent 状态:

状态 含义
starting agent… 会话 ID 已激活;工具和 skill 仍在上线中。可以输入——消息将排队,就绪后发送。
ready Agent 空闲,等待输入。
thinking… / running… Agent 正在推理或运行工具。
interrupted 当前轮次已取消;按 Enter 重新发送。
forging session… / resuming… 初始连接或 --resume 握手中。

各 skin 的状态栏颜色和阈值与 classic CLI 共享——请参阅 Skins 了解自定义方式。

状态栏还显示:

  • 工作目录及 git 分支~/projects/hermes-agent (docs/two-week-gap-sweep)。在旁边的终端执行 git checkout分支后缀会更新mtime 缓存TUI 反映的是实际活跃分支,而非启动时的分支。
  • 每条 prompt 的耗时 — 轮次运行时显示 ⏱ 12s/3m 45s(实时),轮次完成后冻结为 ⏲ 32s / 3m 45s。第一个数字是自上次用户消息以来的时间;第二个是会话总时长。每次新 prompt 时重置。
  • 🗜️ N — 当前会话被自动压缩的次数。首次压缩触发后显示。
  • ▶ N — 当前会话中正在运行的 /background 任务数量。至少有一个任务在执行时显示。
  • ⚠ YOLO — 每当 YOLO 模式开启时(hermes --yolo/yoloHERMES_YOLO_MODE=1)显示的可见警告。同一徽章也出现在启动 banner 中,确保你不会在未注意到的情况下启动自动审批会话。

配置

TUI 遵循所有标准 Hermes 配置:~/.hermes/config.yaml、profile、personality、skin、快捷命令、凭证池、内存提供商、工具/skill 启用状态。不存在 TUI 专属配置文件。

少数键专门用于调整 TUI 界面:

display:
  skin: default              # 任意内置或自定义 skin
  personality: helpful
  details_mode: collapsed    # hidden | collapsed | expanded — 全局折叠面板默认值
  sections:                  # 可选:按区块覆盖(任意子集)
    thinking: expanded       # 始终展开
    tools: expanded          # 始终展开
    activity: collapsed      # 重新启用 activity 面板(默认隐藏)
  mouse_tracking: all        # off | wheel | buttons | all或 true/false 以向后兼容)
                             #   wheel   — 1000+1006滚轮+点击;无拖拽,无悬停——
                             #             在 tmux 内推荐使用,可消除悬停事件导致的
                             #             prompt 行"No image in clipboard"垃圾信息)
                             #   buttons — 添加 1002 以支持终端侧拖拽选择
                             #   all     — 添加 1003 以支持悬停(滚动条悬停翻页、
                             #             链接 mouseenter 等)

运行时切换:

  • /details [hidden|collapsed|expanded|cycle] — 设置全局模式
  • /details <section> [hidden|collapsed|expanded|reset] — 覆盖单个区块 (区块:thinkingtoolssubagentsactivity

默认可见性

TUI 附带有主见的按区块默认值,将轮次以实时转录形式流式展示,而非一堆折叠箭头:

  • thinking展开。推理过程随模型输出内联流式显示。
  • tools展开。工具调用及其结果以展开状态渲染。
  • subagents — 沿用全局 details_mode(默认折叠在箭头下——在实际发生委托之前保持安静)。
  • activity隐藏。环境元信息gateway 提示、终端一致性提醒、后台通知)对日常使用来说是噪音。工具失败仍会在失败的工具行内联渲染;当所有面板均隐藏时,环境错误/警告通过浮动警告兜底显示。

按区块覆盖优先于区块默认值和全局 details_mode。调整布局的方式:

  • display.sections.thinking: collapsed — 将 thinking 折叠到箭头下
  • display.sections.tools: collapsed — 将工具调用折叠到箭头下
  • display.sections.activity: collapsed — 重新启用 activity 面板
  • 运行时使用 /details <section> <mode>

display.sections 中显式设置的内容优先于默认值,因此现有配置保持不变。

会话

会话在 TUI 和 classic CLI 之间共享——两者均写入同一个 ~/.hermes/state.db。可以在一个界面开始会话,在另一个界面恢复。会话选择器显示来自两个来源的会话,并带有来源标签。

会话生命周期、搜索、压缩和导出,请参阅会话

连接到运行中的 gateway

默认情况下TUI 会在进程内启动自己的 gateway因此每个 TUI 实例是自包含的。如果你已有一个长期运行的 gateway例如在 tmux 中运行 hermes gateway run,或 systemd / launchd 服务),可以将 TUI 指向该 gateway——TUI 将成为一个瘦客户端,与连接到同一 gateway 的所有其他界面消息平台、Web 仪表板、其他 TUI 会话)共享状态。

启动前通过环境变量设置 websocket URL

export HERMES_TUI_GATEWAY_URL="ws://localhost:8765/api/ws?token=<auth-token>"
hermes --tui

token 来自 gateway 的 API 认证配置(参见 API Server。设置该环境变量后TUI 将:

  • 完全跳过启动本地 gateway——无重复平台适配器无端口冲突。
  • 通过 websocket 将所有操作(斜杠命令、图片附件、浏览器进度、语音事件等)路由到共享 gateway。
  • 在请求之间 gateway URL 轮换(新 token时自动重连。

这与 Web 仪表板内嵌 TUI 使用的是同一通道(参见 Web Dashboard)——一个 gateway多个客户端。

回退到 Classic CLI

不带 --tui 启动 hermes 将继续使用 classic CLI。若要让某台机器默认使用 TUI在 shell profile 中设置 HERMES_TUI=1。若要回退,取消设置即可。

如果 TUI 启动失败(无 Node、缺少 bundle、TTY 问题Hermes 会打印诊断信息并回退——而不是让你陷入困境。

另请参阅

  • CLI 界面 — 完整的斜杠命令和快捷键参考(共享)
  • 会话 — 恢复、分支和历史记录
  • Skins & Themes — 自定义 banner、状态栏和浮层主题
  • 语音模式 — 在两种界面中均可使用
  • 配置 — 所有配置键