ARTICLE / ai

更新后项目列表空了,元数据还在

Windows 版 Codex 桌面应用,版本 OpenAI.Codex 26.1103.3517.0。用户从企业账号切回个人账号之后,Projects 列表里的本地项目全部消失。单个聊天还在,但不再归属到任何项目下。磁盘上的项目文件夹都在。重启应用无效。

报告者自己划了边界

issue #59895 写得很克制:报告者的原话是:这是观察到的顺序,不是受控复现。时间线是——

11 月 5 日,在两个账号之间切换过,项目没丢。11 月 6 日,从个人切到企业,项目仍在,还在其中做了些小改动。随后在企业账号下更新了桌面应用。再退出企业、登录个人,项目列表空了。

更新发生在「切换成功」和「切换失败」之间。报告者明确写了:这条观察不能确定是更新还是账号切换导致的问题。

这种表述值得学。同一件事,写成「更新导致项目丢失」会立刻得到传播,但会把一个未验证的因果钉进读者脑子里;写成「更新发生在两次切换之间,因果关系未知」,才留得下排查空间。

openai/codex issue #59895 页面截图 openai/codex issue #59895 页面截图 来源:GitHub openai/codex issue #59895 页面,github.com,截取日期 2026-11-13

数据库里还剩什么

报告者做了只读检查,发现本地 Codex 状态库里有 30 条项目记录。保存的非活跃账号状态里,有 30 条本地项目条目和 466 条 thread 到 project 的分配。但检查时数据库里没有任何 thread 带非空 project ID,应用的 project 列表返回空。

翻译一下:项目记录还在,分配记录也在,但把它们连起来的那根线断了。报告者也说明,这不证明原因,也不能证明每条分配都还是当前的。

「记录还在、视图不认」这个形态,比「数据被删了」好处理得多。要恢复的是绑定关系,不是内容本身——但前提是没人去清库。

产品层面的两个问题

第一,本地项目的归属键是什么。如果两个账号共享同一份状态,账号切换就是一次状态迁移,任何一处迁移失败都会让整个列表消失。如果按账号做命名空间隔离,切回原账号至少能看到原来的列表。这个 issue 暴露的是前一种形态的代价。

第二,失败之后没有恢复路径。报告者的期望写得很具体:至少回到原账号时,应恢复原有项目列表与关联;或者提供一个清晰、安全的恢复方式,保留现有 project ID、文件夹根路径与聊天分配。现实是重启无效,也没有导出或重建入口。

这也是桌面 Agent 产品普遍欠的账:会话、项目、凭据都存在本地状态库里,但面向用户的只有「重装试试」。

现在能做的

先把状态库整份复制出来再排查。报告者就是这么做的:做了恢复副本,没有修改项目记录与关联。

不要急着重装或清缓存。元数据还在,清掉就真没了。

如果必须在多账号之间切换,先导出一份项目和聊天的对应清单,别把唯一的绑定关系留在应用状态库里。

等官方结论。这条 issue 在 2026-11-12 仍有更新,采集到的正文里没有维护者回复,本文不替它下判断。

本文的资料依据与局限

事实来自 openai/codex issue #59895 的正文(2026-11-13 原生采集),包括版本号、操作顺序与只读检查结果。issue 状态 open,采集快照未覆盖评论区,因此不知道维护者是否已给出解释;文中「归属键」「命名空间」是依据现象的推测,不是官方设计说明。

参考来源

  • openai/codex issue #59895《Windows: local projects disappear after app update and switching back to personal account》(采集日期 2026-11-13)