hermes agent v0.19.1 与 v0.18.0 存在根本性差异:v0.18.0 为单体二进制,统一安装、明文 .env 配置;v0.19.1 拆分为 cli/桌面端/网关三组件,强制密码管理器接入、配置隔离、数据库schema不兼容,且跨平台部署逻辑全面重构。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在 Windows、macOS 和 Linux 上都装上 Hermes Agent,但发现 v0.19.1 和 v0.18.0 两个版本的安装方式、依赖和行为差异很大,不搞清区别就直接照着旧教程跑,轻则命令不识别,重则整个配置目录被破坏、技能库丢失。
安装入口和执行主体完全不同
v0.18.0 的安装路径是统一的:克隆仓库 → cargo build → 生成 hermes 可执行文件 → 放入 PATH。所有平台最终运行的都是同一个二进制,启动时自动适配。
v0.19.1 则彻底拆分:CLI 端用 Rust 编译为 hermes-cli,桌面端是独立 Electron + Rust backend 的 hermes-desktop,网关服务是 hermes-gateway,三者配置隔离、更新独立。你必须明确自己要的是终端交互、图形界面还是后台服务,再选对应安装包。
这一步不能错——【用 v0.19.1 的 hermes-cli 去跑 v0.18.0 的 .env 配置,会因 secret_source 字段缺失直接 panic;反过来用 v0.18.0 的二进制加载 v0.19.1 的 state.db,会因 schema 版本不兼容报错 FTS5 corruption】。
v0.19.1 强制要求密码管理器接入
方法一:用 1Password CLI(op)
确保 op 已登录且 vault 名为 “hermes”,在 ~/.hermes/config.yaml 中写:
secret_source: "op://hermes/agent-config/credentials"
然后运行 hermes-cli setup --import-secrets 触发密钥拉取。
方法二:用 Bitwarden CLI(bw)
需提前执行 bw login 并解锁,配置中改写为:
secret_source: "bw://collection/hermes-creds"
注意:v0.19.1 启动时若检测不到可用 secret_source,会拒绝初始化并退出,不再回退到读取 .env。
v0.18.0 完全没有这个机制,所有 API Key、token 全部明文写在 .env 里,跨平台迁移只需复制该文件即可生效。
桌面端跨平台体验断层式升级
第一步:确认系统架构
macOS 用户必须下载 arm64 或 x86_64 对应的 dmg;Linux 用户只支持 Ubuntu/Debian 系的 .deb 包,Arch 用户得走 AUR(yay -S hermes-desktop-bin);Windows 用户只能装 MSIX,exe 安装包已被废弃。
第二步:首次启动强制迁移
v0.19.1 桌面端启动时会扫描 ~/.hermes/state.db,若发现是 v0.18.0 生成的旧数据库,自动触发迁移脚本:将原 FTS5 全文索引重建为 BM25+vector hybrid 检索引擎,并把 /journey 时间线转为径向图谱格式。迁移耗时取决于历史消息量,10 万条记录约需 90 秒,期间界面显示“Migrating memory…”,不可中断。
第三步:Profile 路由生效
v0.19.1 桌面端新增 platform-aware profile 加载逻辑:打开 GitHub 仓库时自动启用 coding-rail profile,进入 Git 日志面板时切换 review-pane profile。v0.18.0 桌面端无此能力,所有操作共用一个全局 profile。
网关服务跨平台部署逻辑重构
v0.18.0 的 gateway 是单进程模型,systemd service 文件里只有一行 ExecStart=/usr/local/bin/hermes gateway。v0.19.1 拆成三层:gateway-router(接收请求)、worker-pool(执行子代理)、delivery-ledger(持久化响应)。部署时必须分别配置三个 service 单元,并设置正确的启动顺序和依赖关系。
关键区别在于 drain 协调:v0.18.0 的 drain 仅关闭新连接,已建立的长连接会卡住直到超时;v0.19.1 的 gateway-router 支持 graceful-drain,收到 SIGTERM 后先广播 shutdown_watchdog 信号给所有 worker,等待 delivery-ledger 确认最后一条响应落盘后再退出。这对 Kubernetes rolling update 和 systemd restart 至关重要。
Linux 用户需额外安装 socat 用于健康检查端口转发;macOS 用户要手动开启辅助功能权限才能让 gateway 访问剪贴板;Windows 用户必须以管理员身份运行 installer 才能注册 WSL2 通信管道。











