又来和大家分享实战经验了!
这经验非常宝贵,一般基准测不出来。
在使用或者犹豫选 Codex 还是 Claude 系列的,可以看一下!两个人(AI)的思维方式是完全不一样的。
具体看细节!
1、遇到什么问题!
我先简单介绍一下背景信息。我最近正在更新我的"盗版"Claude,添加了一堆功能,比如流式输出、实时语音输入、输出文件解析等等。

刚开始用得好好的!但是有一次测试的时候突然发现我的聊天记录不见了。主要表现为,我安装了新版本之后,对话列表还在,但是对话内容全部清空了。丢数据是个大问题,所以必须彻查一下。
因为最近真的在写代码,所以 Opus 的配额很紧张,分析问题、修改问题、测试,不管多小的需求,一轮跑下来就没多少配额了。但是为了保证项目质量,必须这么干。
所以,我准备让 GPT 5.6 分担一下,Sol 好歹也是顶级模型!我就让它抄抄 Claude 的代码,维护另外一个版本,然后分析分析问题,修改修改 Bug 这个样子。

我首先遇到这个问题其实是在 JClaude 上面,我以为是偶发没有在意,但是又在另外一个版本里面也发生了同样的问题,所以我就要重视了。
2、GPT 5.6 的解决方案
然后我把问题和截图丢给了 Codex 中的 GPT 5.6。因为我刚开始完全不知道本质原因是什么,所以我只能描述为:"我安装新版本之后导致对话内容加载不出来。"然后根据这个描述让它去分析。
它花了 5 分钟,告诉我的结论是:
原因找到了:不是安装器把数据目录清空了,而是升级重启后触发了旧的会话保存问题。
然后具体的解析如下:
- 左侧会话标题保存在另一处,所以列表仍能显示。
- 中间正文依赖
session-logs下的文件。 - 这 4 个正文文件都是安装
0.5.0后才创建的,并且全部为0字节。 - 打开或切换会话时,会把当前空白页面保存回正文文件,导致它们保持空白。
0.5.0新增的附件功能没有修改这部分代码;安装新版本需要重启应用,恰好暴露了原本就存在的问题。
好消息是原始对话没有消失。4 个会话对应的 Claude 原始记录仍在,文件大小从 16 KB 到 1.9 MB,内容可以恢复。
另外,JClaude 已经有两层保护,但 XXX 尚未同步:
- 页面内容没有变化时不写回文件,避免空白覆盖。
- 保存和读取按顺序执行,避免前一次保存尚未完成就开始读取。
建议暂时不要继续操作这些会话。我可以下一步直接:
- 修复空白覆盖问题。
- 从现存的 Claude 原始记录恢复这 4 个会话。
- 重新发布
0.5.1修复包。
这里的 JClaude 是 Opus 在维护的。而 XXX 是抄过来的项目。Opus 好像在修改的时候做了保护,这个项目还没有做。
然后从它的描述来看,好像是说把空白页面写回正文导致的。
然后我让它做了一个溯源:
markdown
引入提交:`77bce43` --- `feat(desktop): 会话记录改存文件,不再占 localStorage 配额 + 头像压缩`
首个受影响版本:**v0.4.0**
仍受影响版本:`v0.4.1`、`v0.4.2`、`v0.4.3`、`v0.5.0`
从结果来看,这个 Bug 已经早就引入了。这属于修改功能而引入的 Bug,当初改这个功能也是分析了好几种方案。
因为最终的对话内容是存在 localStorage 里的,但是这个空间非常小,只有几 MB,所以随着使用量的积累,必然成为瓶颈。所以当时果断就修改了。没想到改的时候引入了一个极其隐蔽的问题。
这就是最好的写照:现实问题会疯狂打脸 Demo 项目!
因为我现在是一行代码都不看的,所以我也不清楚它说的对不对。我的大致判断是,它说的问题肯定存在,但是这个问题好像太轻了,不像是我遇到的这个问题的关键。
3、Opus 5 的解决方案
对于不清楚的问题一定要搞清楚,这是一个程序员的基本素养。所以即便浪费 tokens,我也需要再问一遍 Opus 5。
Opus 5 先读了一轮项目结构和会话存储相关代码,然后又看了一轮我机器上产生的对话记录。
然后告诉我:
查清楚了,是真实的 bug,而且会永久删数据。
现象根因:
JClaude 把一个会话拆成两套完全独立的存储:
| 内容 | 存放位置 |
|---|---|
| 左侧列表(标题、目录、时间) | WebView 的 localStorage(app.code.sessions.v1) |
| 对话正文(HTML 转录) | ~/.jclaude/session-logs/<id>.html |
每次启动时会把对话列表里不匹配的文件内容删除!

Claude 已经通过代码和数据还原了这个问题发生的前因后果!
Claude 现在最大的问题是,分析问题已经不说人话了,全是关键代码、关键路径、关键技术点。对小白用户极其不友好。但是它说得对,说得准,说得专业。
仔细看它的输入内容,它已经把这个问题分析得非常透彻了。精确到几点几分做了什么。
它说的非常清晰,这和重启没关系,而是开发版和安装包的冲突问题,因为两个版本交叉使用,导致了这个问题。
因为两个版本共享一个配置目录,而它们的对话列表和具体的对话内容之间的关联是不一样的。安装版打开之后会删掉 dev 中无法匹配的内容。dev 打开之后会删掉安装包创建的无法匹配的内容。也就是它们两个都拿着自己的对话列表去找对话内容,找的时候把对方的内容作为"孤儿文件"清理掉了。
其实看到这里,我大概已经知道问题的核心了,因为以我对这个系统机制的了解,Opus 说的我一看就 get 到了。
4、交叉验证
虽然我心中大概有数了,但是我没看代码,所以我还是稳健一点,让它们交叉验证一下。
我把 GPT 5.6 的结果给了 Opus 5,然后把 Opus 5 的结果给了 GPT 5.6。因为我怀疑两个人发现的问题都存在,所以我加了一句,这次事故的核心诱因是什么。
结果非常一致:Opus 5 说得对,说得准。
GPT 5.6:
markdown
这次你反馈的"重装或重启后,左侧记录还在、点开正文空白",关键原因是 **Claude 发现的 dev 和安装版交替使用导致互删正文文件**。证据链非常完整:.....
我发现的快速切换和空白覆盖问题也真实存在,但它属于另一个隐患,不能很好解释你机器上"两边正文文件全部被删除"的完整时间线。
GPT 5.6 先承认问题,然后还是找补了一句,也没毛病。 它唯一的毛病是,没有第一时间找出核心的毛病。
Claude:
erlang
是 dev 和安装版交互使用造成的,不是 GPT 说的那个原因。
决定性证据:两种 bug 留下的痕迹不一样
....
推断链
目录创建时间 08-11 09:31:55 → 那时起就在正常写文
.....
顺带纠正一个说法
重新安装软件本身不是原因
.....
那 GPT 说的那些"缺保护"呢
对 JClaude 来说是还没炸的雷,不是这次的原因
.....
Claude 是毫不留情,摆出了推断链,纠正了我的错误认知,然后评价 GPT 说的根本不是这次的原因。其实 GPT 说的问题,它也清晰地发现了。而且说得比 GPT 更加精准。这些内容为空,不是因为写入问题,而是因为两个版本把对方的文件当成了"孤儿文件"删除了。
5、修改方案
现在问题应该比较清晰了,两人已经达成了共识。当前首先要明确这个 Bug 是 Opus 产生的。我要给它解释一下:"它只是犯了每个 AI 都会犯的错而已。 " 🤣!
其实它的代码本身没有任何问题,问题在于,它做梦都不会想到,我会同时交叉使用开发版和发布版。正常情况下,AI 不可能会想这么多,所以我说每个 AI 都会犯这个错误。但是,这就是一个很现实的问题,确实是它考虑不周。它应该料敌于先,对两个版本的存储空间做好区分!
然后面对这个问题,我们来说说它们两个的修改方案。
GPT 5.6 因为没有找到问题的关键,所以它刚开始只是修修补补。
Opus 5 因为一下就找到了"根因",所以非常果断,精准指出dev的问题,然后也提出了优化重构的建议。
这就是同样一个问题,不同工具和模型的表现了。一个修修补补非关键问题,好像很全面,但是没有找到关键。一个一锤定音,找到关键,并建议重构一下永绝后患。
另外我在让它们修复这个问题的时候,也出现了一个小插曲,我用同样的要求让它们在自己的项目里修改。GPT 5.6 居然直接去改 JClaude 这个项目,因为上一轮我让它看了 Opus 5 的分析。它就错误地认为当前应该修改 JClaude 这个项目了。这个项目根本就不在它的项目路径下。卧槽,我不看的话,又是瞎搞一阵子。
同样的需求给了 Opus 5,它非常清晰它当前的项目是什么,我要让它改的项目就是当前的项目。
有人可能觉得和抽卡有关,确实会有一定的关系,但是上下文越多,就越可以忽略随机因素。它们之间的差别在这个问题上反映得很具体了。另外一篇让 GPT 5.6 接手 Opus 5 的项目,也是改出来好多新的 Bug,Opus 5 升级那么多功能都没有这么离谱过。
对比结束!
要思考一些现实问题了。
其实解决现在的问题只要区分 dev 就行了,但是我不确定以后还有没有坑。所以改不改,如何改?我还要看一下 A、B、C 的方案分析,看优缺点,做取舍。
这么一来,又得消耗不少 tokens 了。啥都没干,分析总结,五小时配额的 50% 用掉了!
做个 Demo 真的是很简单,但是当你这个软件真的要投入使用,就发现巨多的问题。

刚开始以为已经做了 90%,其实还有 99% 的工作量等着你。其实是还有 99.999999% 的工作等着你去做。
最后警告:没事不要做项目,玩玩就好了。一天玩一个,吹吹牛逼不香么?
另外提醒一句:JClaude 已经更新了一波,并且已经发布到网盘,公众号发消息"jclaude"即可获取!
预开源地址:github.com/JarvisPMS/J...
我本来是准备学 Anthropic 闭源的,后来想想消耗了那么多 tokens,放在硬盘里自己用用好像也挺浪费的,所以我准备把最新版的 Claude Desktop 的 UI 同步一波之后开源,有需要的可以自己去定制自己的智能体,有 Claude Code 给你打底,你可以自由发挥创意。