两个 WorkBuddy 客户端总被“合并”解决方法

摘要:同一台 Windows 上同时装 WorkBuddy 国内版和国际版,自动更新反复把两个客户端装进同一个目录------两个快捷方式点开变成同一个应用。本文记录从日志定位"共用更新缓存"这个隐藏原因的全过程,并附一句可直接复制给 AI 的修复提示词。

Tags:WorkBuddy / Windows / Electron / 踩坑记录 / AI Agent / 提示词


先说结论

如果你只想要那句话:

帮我把本机的 WorkBuddy 国内版(WorkBuddy.exe)和 WorkBuddy AI 国际版彻底分开:先关掉两个客户端,清掉它们共用的更新缓存(%TEMP%\workbuddy-update-x64*、%LOCALAPPDATA%@genieworkbuddy-desktop-updater),再把两个客户端都卸载干净,分别静默重装到两个固定目录(国内版 E:\App\WB\CN、国际版 E:\App\WB\AI),修好桌面/开始菜单快捷方式和深链,各启动一次确认国内版只查 www.workbuddy.cn、国际版只查 www.workbuddy.ai,且两个安装目录不再互相塞入对方的文件;全程不要动 %LOCALAPPDATA%\CodeBuddyExtension 里的登录数据(账号和登录态不能丢),最后用 /api/accounts 和「环境诊断」验证并告诉我结果。

把这段丢给有本机终端权限的 AI(Claude Code / Codex / DSH 里都行),它就能按清单执行并自检。下面解释为什么这句话里每一步都不能省。

症状:两个快捷方式,点开是同一个应用

我的机器上同时装了 WorkBuddy 的两个产品:

  • WorkBuddy :国内版,WorkBuddy.exe,5.8.3
  • WorkBuddy AI :国际版,WorkBuddyAI.exe,5.8.4

它们是两个独立的 Electron 应用,但共享同一个登录数据目录(%LOCALAPPDATA%\CodeBuddyExtension),所以账号、积分、登录态是通的------这也是我一开始觉得"装两个客户端共存应该没问题"的原因。

一开始它们确实装在不同目录。但最近几次更新之后,怪事出现了:

  • 两个桌面快捷方式,点开都是"WorkBuddy AI" ;
  • 从"国内版"快捷方式启动的窗口,登录的却是国际版账号;
  • 其中一个客户端行为诡异:动不动重新登录、版本号对不上。

看起来就像是"两个客户端被合并成了一个"。更气人的是:我把它们分开重装了一次,下一次启动又合并了。那一刻我感觉"这是不是故意的"。

第一层原因:Electron 应用,一个目录只能有一套 resources

对 Electron 应用来说,WorkBuddy.exe 只是一个壳,真正的程序在 resources/app.asar。 国内版和国际版是两套独立的应用,但目录结构一模一样:

代码块

复制代码
WorkBuddy\
  WorkBuddy.exe        ← 壳
  WorkBuddyAI.exe      ← 另一个壳(如果装到一起)
  resources\app.asar   ← 真正的程序,只有一个

如果两个产品的安装器进了同一个目录,后装的那套会把 resources/ 覆盖掉。于是先装的那个 exe 虽然还在,启动时加载的却是另一个产品的代码------这就是"两个快捷方式打开都一样"的由来。

而它们的自动更新并不是原地打补丁,而是下载完整安装包 → 静默卸载 → 重装。客户端安装日志里能直接看到:

代码块

yaml 复制代码
install target dir: E:\App\WB\CN
install mode: silent-update
final install directory: E:\App\WB\CN

"目标目录"这个记忆,并不保证跟你上次手动安装的目录一致。两个产品的默认目录名又都叫 WorkBuddy,于是很容易落到同一处。

第二层原因(真凶):两个产品共用更新缓存

如果只是"装到同一目录",分开重装一次就完事了。但我遇到了"修一次、下次启动又合并"。

翻客户端更新日志才看到关键两行:

代码块

ini 复制代码
Restored downloaded update from cache: version=5.8.4.41366630
installerPath=C:\Users...\Temp\workbuddy-update-x64\WorkBuddy-Setup-5.8.4.41366630.exe

翻译一下:国内版客户端在启动时,从缓存里"恢复"出了一个国际版的 5.8.4 安装包,并把它当成了自己的更新。

原因是两个产品共用更新缓存目录:

  • %TEMP%\workbuddy-update-x64
  • %TEMP%\workbuddy-update-x64-workbuddy-ai
  • %LOCALAPPDATA%@genieworkbuddy-desktop-updater

旧版本更新器下载的安装包没有"产品身份"校验,客户端恢复缓存时只比版本号。于是缓存里残留的"对方的安装包",会被这边当成自己的更新,静默安装进当前目录------然后再次覆盖。

所以:不先清掉共用更新缓存,重装多少次都会再合并。 这不是谁故意的,是两个产品根本没为"同一台机器共存"做设计。

AI 实际执行了什么

把开头那句话给 AI 之后,它做的事按顺序是:

  1. 关掉两个客户端(否则安装/卸载会失败或文件占用);

  2. 备份登录数据 :把 %LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth 复制到备份目录(这一步是保命线,账号和登录态都在里面);

  3. 清共用更新缓存:

    bat

    bash 复制代码
    rmdir /s /q "%TEMP%\workbuddy-update-x64"
    rmdir /s /q "%TEMP%\workbuddy-update-x64-workbuddy-ai"
    rmdir /s /q "%LOCALAPPDATA%@genieworkbuddy-desktop-updater"
  4. 两个都卸载 (用各自的 Uninstall*.exe /S,顺带手动清掉卸载残留);

  5. 分别静默重装到两个固定目录:

    bat

    ini 复制代码
    WorkBuddy-win32-x64-user-<版本>.exe /S /D=E:\App\WB\CN
    WorkBuddy-Setup-<版本>.exe /S /D=E:\App\WB\AI

    /D= 必须是最后一个参数、路径不要加引号;安装器如果自动拉起了客户端,先关掉再检查。

  6. 修快捷方式和深链 ,让 WorkBuddy 指向国内版、WorkBuddy AI 指向国际版。

验收:怎么确认这次真的分开了

AI 说"修好了"不算数,我让它按下面四条验收,缺一条都不算:

验收点 期望
安装目录 E:\App\WB\CN 里只有 WorkBuddy.exe,E:\App\WB\AI 里只有 WorkBuddyAI.exe,没有对方的 exe
快捷方式 WorkBuddy.lnk → CN 的 exe;WorkBuddy AI.lnk → AI 的 exe
更新日志 国内版查 www.workbuddy.cn、version=5.8.3;国际版查 www.workbuddy.ai、version=5.8.4,都回 No update available
登录数据 auth 目录文件数、账号列表、桥/密钥全部不变

实测结果(客户端自己的更新日志):

代码块

yaml 复制代码
CN : Checking for updates: https://www.workbuddy.cn/v2/update?...version=5.8.3
CN : No update available (HTTP 204)

AI : Checking for updates: https://www.workbuddy.ai/v2/update?...version=5.8.4
AI : No update available (HTTP 204)

两个客户端各查各的域名、版本号都对,目录里也没再出现对方的文件。这次才算真的分开了。

三点建议

  1. 只要一个客户端的话,别装两个。 两个账号的登录文件都在共享数据目录里,用桥/控制台切换账号就行,不需要两个客户端都装------这是最省事的方案。
  2. 两个都要,就记住"清缓存 → 分开装"这个顺序。 每次大版本更新后瞄一眼安装目录和更新日志域名;也可以把 WORKBUDDY_APP_EXECUTABLE 写进 .env 钉住常用客户端的 exe。
  3. 让 AI 干这类活时,要求它"贴证据" :目录里有什么文件、快捷方式指向哪、更新日志最后几行是什么、登录数据有没有动过。不然它很容易把"命令跑完了"当成"修好了"。

一句话提示词(可收藏)

代码块

css 复制代码
帮我把本机的 WorkBuddy 国内版(WorkBuddy.exe)和 WorkBuddy AI 国际版彻底分开:先关掉两个客户端,清掉它们共用的更新缓存(%TEMP%\workbuddy-update-x64*、%LOCALAPPDATA%@genieworkbuddy-desktop-updater),再把两个客户端都卸载干净,分别静默重装到两个固定目录(国内版 E:\App\WB\CN、国际版 E:\App\WB\AI),修好桌面/开始菜单快捷方式和深链,各启动一次确认国内版只查 www.workbuddy.cn、国际版只查 www.workbuddy.ai,且两个安装目录不再互相塞入对方的文件;全程不要动 %LOCALAPPDATA%\CodeBuddyExtension 里的登录数据(账号和登录态不能丢),最后用 /api/accounts 和「环境诊断」验证并告诉我结果。
相关推荐
blackappleD1 小时前
Claude Code Hooks 入门:自动格式化、自动跑测试、拦截敏感文件
ai编程
桃西西呀2 小时前
语义缓存:命中率上去了,却把问「今天天气」的人答成了「明天天气」
人工智能·llm·ai编程
不得了zz3 小时前
04-Spring AI Alibaba ReactAgent 生产级实践:工具调用、结构化输出、HITL 与上下文管理
java·ai编程·springaialibaba
aichitang20243 小时前
QCU 2.0.0:补齐 Windows、Linux 与 GNOME Wayland
linux·运维·windows·ai·agent·ai编程
人丰5 小时前
AI 写的代码越漂亮,越不敢改|Spec Kit 实战:7 阶段 + 多模型分工,终结许愿式编程
ai编程
lugiax9 小时前
拿了奥数满分的 AI,为什么偏偏是个“生活小白”?
ai编程
用户842558130879 小时前
界面说「已保存」,接口说「每天只能发 5 篇」:一次发布失败的完整取证
ai编程
用户539418729079 小时前
别只在 prompt 里让 AI 别碰文件:我给仓库装了四道提交闸门,越界直接拒绝提交
ai编程·cursor
ZzT9 小时前
Claude Code 团队的代码评审:合并量翻倍,回滚率降了 40%
ai编程·claude