Hermes 会话同步与跨设备续接

最后更新 2026-09-17 · MIT 许可 · 个人自托管免费

Hermes 是 Agent Context Sync 的原生宿主:会话同步最初就是为它做的,因此 Hermes 适配器支持得最完整,包括命名 profile 与项目池。

会话存在哪里

项 值
默认存档 %LOCALAPPDATA%\hermes(Windows)/ ~/.hermes(macOS、Linux)
主库 该目录下的 state.db(SQLite)
命名 profile profiles/<名称>/state.db,每个 profile 一套独立会话
项目 每个 profile 一份 projects.db,随会话一起进共享项目池

适配器会扫描上述存档下的所有库,所以你在 Hermes 里建了几个 profile,同步就有几路会话。

接入同步

  1. 在接入帮助页选择 Hermes → 下载客户端包(服务端地址已自动预填)。
  2. 解压后首次运行 install-deps.bat(Windows)或 ./install-deps.sh(macOS / Linux),它会建好带 mcp 的虚拟环境。
  3. 用页面给出的注册命令接入 —— 命令里的工作区 API Key 已自动填入,客户端以 HERMES_SYNC_AGENT=hermes 启动。
  4. 重启 Hermes。

首次启动会自动增量拉取;远端为空时自动推送本地数据完成配对;之后每 5 分钟同步一次。

同步行为与注意点

  • 只走 SQLite 事务:写入以事务提交,不会留下半截会话。同步不会重写你已有的本地历史。
  • profile 隔离:会话归属记在 profile_name 列,Agent 归属记在 agent_type 列 —— 多 profile 之间不会串味。
  • 子 Agent 会话会折叠:委派出去的子会话折回父会话(带角标),主线程保持干净,分支仍可追溯。
  • 无需迁移:接入前产生的历史在首次配对时整体推送,不需要手工导出导入。

跨设备与跨 Agent

在两台机器上都装 Hermes 客户端并接入同一个工作区,在公司聊到一半的会话,回家打开 Hermes 就在列表里,直接接着问。想把线程交给别的 Agent(例如 OpenCode)也可以 —— 所有 Agent 读写的是同一个会话池。

相关