V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
dongailin
V2EX  ›  分享创造

切换 provider 后 Codex 历史会话会“消失”?做了个同步工具

  •  
  •   dongailin · 3 月 19 日 · 826 次点击
    如果你在官方 OpenAI 登录、relay 、自定义 provider 之间切过 Codex ,大概率遇到过这个问题:

    历史会话其实没丢,但切完 provider 之后,旧会话在 `resume` 或 Codex App 里会像“消失”了一样,有时候两个入口看到的还不一致。

    这个问题的根源是,Codex 的 provider 元数据不是只存一处,rollout 文件和 SQLite 里各有一份。只改其中一层,结果通常还是不一致。

    我做这个工具,就是专门解决这个坑:把历史会话的 provider 元数据统一到你当前正在使用的 provider ,让切回官方或者切到中转之后,旧会话重新可见。

    比较适合这几种情况:
    - 官方 OpenAI 和中转 / 自定义 provider 混用
    - 切 provider 之后旧会话看不到
    - CLI 和 App 里的会话列表不一致

    它会先做备份,再处理这两层元数据,所以不是单纯改某几个 jsonl 文件。

    仓库:
    https://github.com/Dailin521/codex-provider-sync

    目前优先 Windows ,Node.js 24+。
    第 1 条附言  ·  3 月 24 日
    补个更新:

    现在已经补了 Windows GUI ,普通用户不用装 Node / npm ,直接打开 EXE 选目标 provider 就能处理。

    它解决的还是这个问题:切换 provider 或认证后,Codex 历史会话看起来“消失”; CLI 和 App 看到的列表不一致。本质上是 rollout 元数据和 SQLite 里的 provider 没同步。

    现在也支持备份恢复和旧备份自动清理,默认保留最近 5 份。

    项目:
    https://github.com/Dailin521/codex-provider-sync

    Release:
    https://github.com/Dailin521/codex-provider-sync/releases/tag/0.2.0
    3 条回复    2026-03-26 12:56:49 +08:00
    CalledKingsley
        1
    CalledKingsley  
       3 月 19 日
    vscode 里面装的插件的话,能实现吗? 比如 roo code 或者 kilo code 之类的
    dongailin
        2
    dongailin  
    OP
       3 月 19 日
    我这边实际试了一下,VSCode 里的插件场景目前没复现这个问题,至少我测的时候是正常的。

    这个工具主要是针对 Codex 自己这套本地会话存储做的,问题点在 `.codex/sessions`、`.codex/archived_sessions` 和 `state_5.sqlite` 这两层 provider 元数据不一致。

    像 roo code / kilo code 这类插件,要看它们内部是不是也复用了同一套存储和过滤逻辑;这个我还没专门验证,所以暂时不敢直接下结论。
    dd233
        3
    dd233  
       3 月 26 日
    帮大忙了!感恩!
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5723 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:37 · PVG 10:37 · LAX 19:37 · JFK 22:37
    ♥ Do have faith in what you're doing.