一条命令装好Hermes Desktop

0

Hermes Agent 发布了 Windows 桌面客户端。手动装了几次都在不同地方报错,不是 Electron 下载超时就是构建失败。折腾了几轮之后想起来:终端里本来就有 Hermes Agent,直接让它自己装自己。

对,hermes desktop --source 一条命令。装好了。

Hermes Desktop 官网截图


踩了什么坑

Electron 二进制的下载源是 GitHub Releases。国内网络环境你懂的,npm install 跑 postinstall 脚本去拉 github.com 上的 200MB+ 压缩包,十次有八次 ECONNRESET。

npm 默认 registry 偶尔也抽风。@icons-pack/react-simple-icons 这个依赖的 node 版本要求比本地高,npm 报 EBADENGINE 但能装——然而如果你先装了这个依赖再跑 build,tsc 编译时又会说找不到模块类型声明。

Vite 构建的 dist 目录在会话中断后会被清理,下次启动时 electron.exe 指着这个目录,路径存在但内容没了,应用就起不来。

都不是大问题,但每个单独遇到都要花时间排查——而且链式的:第一个没过去就卡在下一阶段了。


Agent 怎么处理的

底层逻辑不复杂。一条命令下去,Agent 自动走了几步:

  1. 检查 dist 目录,发现构建产出缺失 → 重新跑 npm run build
  2. 构建中 tsc 报错缺 @icons-pack/react-simple-icons 的类型 → 自动装这个依赖
  3. build 完成后 electron.exe 启动失败,发现是二进制没下载完整 → 设 ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ 重跑 postinstall 脚本
  4. 二进制到位了,启动应用 → 4 个 Electron 进程正常运行

不需要我在旁边盯着每一步:报什么错,Agent 读输出,想对应方案,试,不行换方案再来,直到通。我只需要看最终结果。

这是 Agent 的基础能力——读取终端输出、判断、执行、验证。但放在"安装自己"这个场景里,体验上确实跟传统安装方式不一样:你不需要事先知道所有可能踩的坑,也不需要把解决方法写成文档或者记住下次怎么处理。


关于"自己装自己"这件事

安装 Hermes Desktop 这个场景有点特殊:你要装的是 Hermes 的桌面端,而帮你装的 Hermes Agent 本身就是同一个软件的命令行版。所以不是 Agent 在装一个外部软件,是 Agent 在安装它自己的另一种形态。

如果 Agent 已经能跑,让它自己解决自己的安装部署问题,成本低于用户去读安装文档、手动排雷。从投入产出比的角度,这个方向是对的。


官网:https://hermes-agent.nousresearch.com/desktop