WorkBuddy 会话同步与跨设备续接

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

WorkBuddy 是项目维度最强的一个:它在 workbuddy.db 里维护一份项目清单(workspaces 表),所以同步不只带走会话,还会把项目一起并进共享项目池。

会话存在哪里

项 值
数据目录 ~/.workbuddy-ai(旧版本为 ~/.workbuddy)
会话 projects/<项目 slug>/*.jsonl
数据库 workbuddy.db:sessions 表存会话,workspaces 表存项目清单(path + last_opened_at)

接入同步

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

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

同步行为与注意点

  • 只追加:会话以 JSONL 追加写入,同步不会重写你的历史条目。
  • 会合并分散的副本:同一个会话如果因为项目目录移动被拆到多个项目目录下,读取时会合并处理,不会只看到一半。
  • 运行中的会话会被跳过:被锁文件占住的会话本轮不同步,等它空闲后下一轮自动补上 —— 这避免了写冲突。
  • 写下来的会话需要重启 WorkBuddy 才出现在它的列表里:这是 WorkBuddy 自身的加载时机,不是同步没成功。想立刻确认,看 Web 控制台的会话列表即可。
  • 时间戳单位已处理:毫秒与秒的差异在适配器里转换,不会因为单位不同把会话排到 1970 年。

项目池

WorkBuddy 的 workspaces 表会作为项目进共享池(并带一份身份 sidecar 用于跨设备对齐),所以项目卡片在多台机器之间也是同一套。注意:盘符根目录或用户主目录不会进池 —— 那种路径会把下面所有会话都吞进一张卡片,且在每台机器上指向不同目录。

跨设备与跨 Agent

一台公司的机器、一台家里的机器,各自接入同一工作区,项目与会话都在池子里;换成 Hermes、OpenCode 继续同一个项目也可以。

相关