WorkBuddy更新后内部错误?3种高效解决方法
先说结论:这个看似吓人的报错,根源在于 CodeBuddy 内部缓存校验逻辑对本地快照的判断出现了偏差。解决方法并不复杂,关键就是知道删除哪些文件。
错误信息显示如下:
Internal error [CodeBuddyCodeBackend] Recent CLI output: CodeBuddy Code HTTP Server Endpoint http://127.0.0.1:54995 Web UI ]8;;http://127.0.0.1:54995/http://127.0.0.1:54995/]8;; Press Ctrl+C to stop the server
修复步骤
先彻底关闭程序,接着打开目录 C:\Users\23860\.workbuddy。为安全起见,先把以下文件剪切到桌面备份,然后再从原位置删除:
workbuddy.db或workbuddy.db-journalmodels.json(若其中包含自定义模型配置且后续不再需要,可直接删除)IDENTITY.md
清理完毕后重新启动程序,问题即应解决。
根因分析
从日志中可以清晰定位到问题根源:
03:08:37.347 [SidecarManager] rotateHostRuntime requested: generation=1, reason=hosted-cli-product-snapshot-change
03:08:39.748 Killing session __workbuddy_cli_host__-0-0ab87186 (pid=24784)
关键环节就是这个 rotateHostRuntime。它的运作机制是:每次拉取远端配置完成后,会比对本地缓存的配置快照。一旦发现本地快照与远端不一致,就会强制终止当前 CLI 会话,并重新启动一个新会话。
而 workbuddy.db 和 models.json 正是这个“配置快照”的核心组成部分:
workbuddy.db:存储用户会话、历史记录以及产品配置的缓存状态。简单说,如果数据库里记录的配置版本号与实际值对不上,或者存在任何状态不一致,程序就会判定“快照有变化”,进而反复触发
rotateHostRuntime。models.json:存放你自定义的模型配置。如果你在此文件中添加或修改过模型,且恰巧与远端拉取的模型列表产生冲突——例如某个模型 ID 同时出现在本地和远端但定义不同——同样会被检测为配置变更,从而触发运行时重建。
删除这两个文件,相当于把配置快照重置为初始状态。程序下次启动时会重新建库、重新从远端拉取模型列表,自然不会再次出现缓存不一致的问题。
问题的本质就在这里:错误消失并非因为修复了竞态条件本身,而是消除了触发竞态的根源——不断被触发的运行时重建。现在配置快照稳定了,会话可以一次性启动并持续运行,客户端自然也就不会再弹出那个 Internal error。
