Hermes Desktop 是 Hermes Agent CLI 的 Electron 图形伴侣,调的是跟终端里完全相同的 agent/ 核心,外面套了个聊天窗口 + 侧边栏 + 文件预览 + provider 配置。如果你已经装好了 Hermes CLI(见姊妹文),Desktop 只差一条命令。本文讲它实际加了什么、CLI 和 GUI 之间的边界在哪、以及两边状态不一致时怎么排查。

同一套核心,不同外壳

Desktop 不是单独的 agent。它就是 NousResearch/hermes-agent monorepo 里的 apps/desktop/,跟 CLI 共享 agent/cli.py、config、memory、skills、gateway。Electron 外壳主要加了:

  • 真·聊天面板,带 Markdown 渲染和带语法高亮的代码块(终端用的是 rich,够用但朴素)
  • 侧栏分 session、定时任务、insights 摘要
  • Provider / key 配置界面,Anthropic、OpenAI、Ollama 切换不用手改 config.yaml
  • 文件 diff 预览,比终端内置 diff pager 好读
  • 装了 ffmpeg 的话(Hermes 安装脚本会装)能用语音输入输出

状态共享:在终端里开的会话出现在 Desktop 的 session 列表里,反过来也是。memory、skills、定时任务在两边读的是同一份磁盘文件。

装与启动

Desktop 已经跟 Hermes CLI 一起装了——curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash 会把 hermes(CLI)和 hermes desktop(GUI 启动器)都放进 PATH

Bash
hermes desktop

底层做的事:拉起 Electron 进程,从同一份源码树加载 apps/desktop/,复用装好的 Python venv(不会重复装一套)。首次启动 3-5 秒,Electron 在热身。

Ubuntu 22.04 上 Electron 渲染需要 libnss3libgbm1 等。Hermes 安装脚本会软依赖拉这些;如果是 minimal 系统装完 GUI 启动不了,多半是它:

Bash
sudo apt install -y libnss3 libgbm1 libatk-bridge2.0-0 libxkbcommon0 libxss1 libasound2

Desktop 哪里强

终端快在键盘驱动工作——调用工具、for-loop 处理文件、管道接输出。Desktop 快在。聊天面板把长 tool trace 渲染成可折叠 section,外加一个 “rendered artifact” 标签页能预览 HTML/SVG(终端做不到)。审批编辑时大多时间花在 diff 预览上,200 行带色高亮的 diff 永远比终端回滚好读。

定时任务方面,Desktop 的 Jobs 标签页是聚合的查询面:点任意一次运行看 trace、看结果、看 agent 提取的 insights。CLI 给你 hermes cron listhermes insights 两个独立命令,Desktop 拼到了一起。

CLI 仍然赢的地方

所有需要管道、脚本、无人值守的任务。Cron、hooks、子 agent 委派,以及你想跑一遍再 dry-run 进版本库的工作——这些只有 CLI。Desktop 是贴在现有 CLI 工作流上面的 UI,不是替换。

几个小坑

Desktop 启动时读一次 config.yaml;如果你在终端里改它时 Desktop 已经开着,需要重启 Desktop 才生效(无热重载)。memory 和 skill 文件会被监视、有热重载;只有 config 是静态的。

语音转录默认用本地 Whisper,首次用会下载 ~150MB。偏好云端转录就在 config.yamlvoice.provider = openai 并给 OPENAI_API_KEY

Electron 的开发者工具 Ctrl+Shift+I 能开——想看你给 provider 发的网络请求时有用,调 token 成本异常时省事。

什么时候用哪个

通常两个都用。终端开着处理日常活,碰上要细看长 edit 或翻 agent 昨晚干过什么的时候切到 Desktop。两边状态共享得够好,切换不需要做任何额外事。

最后修改: 2026年7月15日

作者

评论

发表评论

您的邮箱地址不会被公开。