Hermes 会话同步与跨设备续接
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,同步就有几路会话。
接入同步
- 在接入帮助页选择 Hermes → 下载客户端包(服务端地址已自动预填)。
- 解压后首次运行
install-deps.bat(Windows)或./install-deps.sh(macOS / Linux),它会建好带mcp的虚拟环境。 - 用页面给出的注册命令接入 —— 命令里的工作区 API Key 已自动填入,客户端以
HERMES_SYNC_AGENT=hermes启动。 - 重启 Hermes。
首次启动会自动增量拉取;远端为空时自动推送本地数据完成配对;之后每 5 分钟同步一次。
同步行为与注意点
- 只走 SQLite 事务:写入以事务提交,不会留下半截会话。同步不会重写你已有的本地历史。
- profile 隔离:会话归属记在
profile_name列,Agent 归属记在agent_type列 —— 多 profile 之间不会串味。 - 子 Agent 会话会折叠:委派出去的子会话折回父会话(带角标),主线程保持干净,分支仍可追溯。
- 无需迁移:接入前产生的历史在首次配对时整体推送,不需要手工导出导入。
跨设备与跨 Agent
在两台机器上都装 Hermes 客户端并接入同一个工作区,在公司聊到一半的会话,回家打开 Hermes 就在列表里,直接接着问。想把线程交给别的 Agent(例如 OpenCode)也可以 —— 所有 Agent 读写的是同一个会话池。
相关
- 支持的 Agent
- 接入帮助(登录后可用,含 API Key 与一键下载)
- 技术细节:SUPPORTED_AGENTS.md