WorkBuddy 从全球版迁到中国版,改目录名走不通,但配置、Skills、定时任务和精选会话都能带走。 可行路径是目录只读、复制能复制的、账号相关重新生成、8 个定时任务直接导入、475 个会话里挑 30 个改写导入。
文中数字来自本机数据目录与本地数据库的只读统计。UID、密钥、账号与实际会话内容均已隐去,路径按客户端安装后的默认位置书写。
为什么切回来
切回来的原因只有一条:我主要用 DeepSeek 这一档模型,两边单价一样,随版本赠送的额度不同。全球版额度见底之后,继续用下去没有成本优势,于是我切回中国版。
定价和额度都会变,具体数字以官网为准,别拿这篇当价格依据。这篇只讲更花时间的那件事:怎么把东西搬过去,并且不丢。
两边不是同一套数据。目录名、账号归属、加密字段都不一样,所以「把文件夹改成另一个名字」这条最直觉的路,第一个就会断。
改目录名为什么不行
两个版本各用一套数据目录:全球版是 ~/.workbuddy-ai,中国版是 ~/.workbuddy。看着只差一个后缀,实际是五个问题叠在一起。
目录会撞。装过中国版的话,~/.workbuddy 已经存在,改名等于覆盖现有数据。
数据绑账号。会话记录按 user_id 过滤,两边的 UID 不一样,直接搬过去就是别人的数据。
部分字段加密。两边的 keyblob 不同,中国版能不能读全球版的加密字段,我没有验证,也不敢押在这上面。
旧路径散在文件里。我 552 个对话文件里,544 个写着 .workbuddy-ai。改名之后这些引用全部指向一个不存在的目录。
全球版会失去数据。改完就没有退路,出问题连对照的样本都没有。
第一条就足以否掉这个念头。后四条解释的是另一件事:为什么那些「看起来能跑」的迁移,最后总在某个地方断掉。
什么能迁,什么不能
先分清资产类型。能复制的复制,绑定账号的重新生成——这是整条路线唯一的判断标准,后面所有步骤都是它的展开。
| 数据 | 方式 | 说明 |
|---|---|---|
| Skills | 直接复制 | 同名 Skill 先比较差异,含 .env 的单独处理 |
| 人设文件 | 复制到新 UID 目录 | 位于 user-UID-personal/ 目录 |
| 全局记忆 | 追加到新 UID 文件 | 文件名是 UID_memory.md,别覆盖 |
| 工作文件夹 | 留在原处 | 会话里用的是绝对路径 |
| 模型配置 | 合并 models.json | 检查它依赖的本地服务 |
| MCP | 界面重新开启并授权 | 不要复制 .master.key |
| 定时任务 | 改写归属后导入 | 记录绑定账号,导入后还要查模型和路径 |
| 登录状态 | 重新登录 | 两个版本的认证文件分开 |
| 历史会话 | 精选后改写导入 | 风险最高,后面单独说 |
不要复制的清单很短:keyblob、device-id、security/、.master.key,以及任何认证文件。凭据搬过去既不一定能读,也不该跟着数据一起流动。
注意:凡是和账号绑定的东西——登录状态、MCP 授权、Skill 用到的密钥——一律在新版本里重新生成,不要从旧目录搬。
WorkDaddy 帮不上这个忙
搜「迁移工具」很容易碰到 WorkDaddy,一个关注度不低的开源项目。先把定位说清楚:它不是跨版本迁移工具。
它解决的是多账号切换、额度统计、签到、自动审批这些事。它说的「会话迁移」针对同一个客户端里的不同账号;跨版本它只明确支持导入模型配置。指望它把全球版整体搬过来,方向一开始就错了。
我对它做了一次定向源码审查,没有发现上传凭据的行为。这不是逐行审计,结论到这儿为止。最后我没有安装,四个理由:会提取本地密钥并解密 Token;会削弱审批和沙箱规则、自动点击允许;遥测默认开启,数据发往 Sentry,发送前做脱敏;账号保活、自动签到、额度轮换这类能力,可能踩到服务条款。
对一次性的迁移来说,它能省的工作量和它引入的风险不成比例。
完整迁移步骤
整个过程只有一条原则:全球版目录全程只读。任何时候都不要移动、改名或写入它,它是你唯一的退路。
1 退出全球版并备份
先 Cmd+Q 完全退出,只关窗口不算。然后用 ditto 把下面四份数据一起备份出去。
备份里有 Token,放在加密磁盘上,别丢在下载目录。
~/.workbuddy-ai
~/.workbuddy
~/Library/Application Support/CodeBuddyExtension
~/.workbuddy-key-fallback
我自己跳过了备份,因为当时中国版基本是空的、全球版全程只读。这是我的取舍,仍然建议你做。
2 装中国版并登录一次
从 workbuddy.cn 下载最新版,登录一次再退出,让它把目录结构建出来。新 UID 能在 memory/ 或 user-<uid>-personal/ 的目录名里看到。
如果应用退出时卡住,先确认没有窗口和未保存内容,再结束主进程。不要在有写操作进行到一半时动手。
3 复制文件
全程只读全球版目录:
- 全局 Skills 复制到
~/.workbuddy/skills,已存在的不覆盖,同名先比较差异。 - 人设文件复制到新 UID 的 personal 目录。
- 记忆追加到新 UID 的记忆文件,文件名是
<uid>_memory.md,别覆盖原有内容。 - 合并
models.json,权限保持600。 - 校验所有 JSON 能正常解析。
4 重启并手动配置
- 在界面里开启需要的 MCP,重新授权。
- 导入定时任务,方法见后面单独一节。
- 重新配置 Skill 用到的凭据。
- 每类 Skill 各试跑一次,遇到路径错误再修。
复制过去的文件里,近 200 个还提到 .workbuddy-ai。不要批量替换——有些只是历史记录的一部分,改了反而破坏内容。
历史会话:475 个里只迁 30 个
我有 475 个会话,先分类再动手。真实分布比想象中极端:绝大部分是自动化任务的运行记录,本身没有阅读价值。

475 个会话的去向:近八成是自动化运行记录,真正值得迁移的只有 30 个。
做法是模仿客户端自身的写入逻辑,而不是照搬数据文件。照搬等于用旧版本的假设去碰新版本的库。
- 退出中国版之后再写数据库,整个写入放在一个事务里。
user_id改成中国版 UID,project_id置空。- 按中国版的 schema 插入。两边的迁移版本号可能不同,我这里是 19 对 15。
- 对话文件复制成副本再改,源文件不动。
- 复制会话引用的图片,并改写图片路径前缀。
- 确保
cwd指向真实存在的文件夹。 - 先只迁一个会话,确认能打开再批量处理。
注意:这套做法依赖未公开的数据结构,客户端升级后可能失效。全球版目录留一段时间,随时能回去看。
定时任务:别手动重建
这是我走过最大的弯路。一开始我把任务整理成清单,准备在新版里手动重建。迁完才发现,定时任务恰恰是最不该手搓的部分——我的 8 个任务全部可以直接导入,最后 8 个都进了中国版,保持原来的 2 个启用、6 个暂停。
任务定义存在 workbuddy.db 的 automations 表里,做法和会话一样,跟随客户端自身的导入逻辑。
- 先完全退出中国版,确认没有残留进程占用数据库。
- 逐字复制任务定义:提示词、计划、工作区都不改。
owner_user_id改成中国版 UID,归属状态设为已确认。- 保持任务原有的启用或暂停状态。
next_run_at设在未来,避免导入瞬间触发,也避免补跑错过的时间点。- 不复制运行状态和历史运行记录。
- 任务记忆放到
<工作区>/.workbuddy/memory/automations/<任务 ID>/memory.md,这是中国版读取的位置。 - 先导入一个暂停的任务,界面里确认能看到,再导其余。
导入成功不等于能跑。四件事必须逐条查,前两件几乎必中:

8 个定时任务导入后需要返工的项目数:模型和路径各命中 6 个。
模型:任务保存的模型 ID 在新版里不一定存在,我有 6 个任务需要重新选模型。
路径:提示词里可能写死了 ~/.workbuddy-ai,我有 6 个任务提到这个目录。导入不管它们,它们运行时就会继续读写全球版数据。
权限:我的任务都是完全访问权限。导入之前要知道它们能碰到什么,别等到它删了文件才想起看。
时间:核对计划时间。我有一个任务写的和实际运行时间差了 1 小时。
注意:提示词里的密钥会原样过去。任务定义看起来只存在本地,但任务运行产生的会话可能走云同步。
最大的坑是云同步
最大的意外是云同步。中国版启动后几秒内,就自动处理了导入的会话——在云端创建了对话记录,也把会话标题发了出去。
这意味着三件事:本地删除不等于云端删除,应用内删除能不能清掉云端副本,我无法确认;上传范围不清楚,同步很快,看起来只传了元数据,但这不能证明正文没有上传;对话里的密钥要当真,我选中的 30 个会话里,19 个命中了疑似密钥的规则,其中一部分可能是误报。
注意:导入之前先扫一遍会话里的密钥。含真实密钥的会话,要么留在全球版,要么导入之后立刻更换密钥。
迁移后的检查清单
- 左侧能看到迁入的会话
- 打开有图片的会话,图片能显示
- 在不重要的会话里发一条消息,确认能继续对话
- 模型能实际调用
- 每类 Skill 都试跑过
- 需要的 MCP 已重新授权
- 定时任务数量和启用状态正确
- 启用的任务按时运行过一次,结果正常
- 暂停的任务恢复前,已改好模型和路径
- 涉及的真实密钥已更换
- 全球版数据目录仍然保留,确认无误前不删
我验证到了哪一步
数据层是确认过的:
| 指标 | 数值 | 说明 |
|---|---|---|
| 会话入库 | 30 个 | 全部进入中国版数据库 |
| 对话记录 | 16,112 行 | 全部可解析 |
| 图片引用 | 94 处 | 全部能找到文件 |
| 定时任务 | 8 个 | 2 启用 6 暂停,状态未变 |
但在写这篇文章时,旧会话能否在界面里正常打开并继续对话,我还没验证完。旧会话保存的是全球版模型 ID,这一步最可能出问题。
定时任务也一样:数据库里 8 个任务、2 启用 6 暂停是对的,界面里也看到了试导入的那个。长期能不能稳定跑,要看后续结果。
我后来卸载了全球版 App。数据目录还在,但没迁的会话就没有直接查看的入口了。如果你还想翻旧会话,先别卸载。
总结
要点:不要改目录名。配置和 Skills 用复制,账号相关的重新生成。定时任务直接导入,别手动重建。历史会话只迁重要的,先试一个。导入前想清楚云同步和密钥。全球版目录留到确认不再需要为止。
整场迁移我花掉的时间,九成用在「想清楚哪些东西不该搬」,而不是搬本身。工具换一个版本,真正要重建的从来不是文件。
也值得说一句:这种一次性的脏活,放在几年前要么忍着不做,要么写一堆没人维护的脚本。这次是 AI 陪我一条条拆完的——包括替我审了那个不该装的工具。
引用与来源
- WorkDaddy 开源项目 — 源码审查基于 2026-11 版本
- WorkBuddy 中国版官网 — 客户端下载入口






