Codex Provider Sync 是什么?切换 Provider 后 Codex 旧会话失灵的完整解决指南
Codex Provider Sync 是什么切换 Provider 后 Codex 旧会话失灵的完整解决指南【免费下载链接】codex-provider-syncSynchronize Codex session provider metadata across rollout files and SQLite state.项目地址: https://gitcode.com/gh_mirrors/co/codex-provider-syncCodex Provider Sync 是一款面向 Codex 用户的本地元数据同步工具当你切换 Provider模型服务商后它能把会话文件和 SQLite 聊天索引中残留的旧 Provider 信息对齐到当前配置让因信息不一致而失灵的旧会话重新可用。整个过程只同步 Provider 元数据不触碰聊天正文、登录凭证或加密内容。一、为什么切换 Provider 后旧会话会失灵Codex 的每个会话都留有两份身份档案会话文件rollout记录该会话由哪个 Provider 创建SQLite 聊天索引线程表中的model_provider字段同样记录着 Provider 信息。当你用 CCSwitch 等工具把config.toml切到 Provider B 后这两份档案里仍写着 Provider A。此时旧会话可能无法正常继续、压缩或显示即使历史列表看起来一切正常。这类问题的本质是元数据不一致而不是会话损坏——这正是 Codex Provider Sync 要解决的。它的完整工作原理见 docs/WORKING_PRINCIPLE_ZH.md。二、Codex Provider Sync 如何修复不一致工具的思路非常直接保持你的当前配置不变把会话文件与 SQLite 索引中的 Provider 统一对齐到当前配置。下图展示了从同步前不一致到同步后会话可继续的完整流程四个核心能力能力说明 同步与切换预览或直接同步也可在工具内直接切换 Provider 并同步 备份与恢复修改前自动备份默认保留 2 份支持一键恢复 聊天与日志按项目浏览会话查看每次操作的耗时与结果 存储与修复自定义数据位置按需诊断和专项修复⚠️ 注意它解决的是元数据不一致不保证跨 Provider / 账号的旧会话一定能继续或压缩也不处理登录、认证或加密内容。信息已经一致时无需重复同步。三、Codex Provider Sync 快速上手三种入口任选工具采用一个核心三个入口的设计——Windows 桌面版、本地 Web、CLI 共用同一套同步、切换、备份与恢复逻辑选哪个入口只影响操作方式不影响同步结果。1️⃣ Windows 桌面版推荐新手无需安装 Node.js下载后解压运行即可未签名便携版须完整解压。日常三步走打开概览确认当前 Provider、存储路径和同步状态已用其他工具切换过 Provider点击**预览同步**查看影响或直接点直接同步查看结果——部分完成时结束占用会话后重试需要撤销就到备份 / 恢复选择备份恢复。下图是桌面版概览页的实际界面左侧显示状态与 Provider 分布右侧是执行同步的操作区完整操作步骤见 docs/README_DESKTOP_ZH.md。2️⃣ 本地 Web UI适合 macOS / Linux 或多环境场景。安装 Node.js 16.20.2 及以上版本后npm install -g dailin521/codex-provider-sync codex-provider web默认只监听本机127.0.0.1:8791浏览器打开完成配对即可跨设备与 SSH 用法见 docs/README_WEB_UI_ZH.md。3️⃣ CLI脚本与 WSL 用户两条命令先检查再同步codex-provider status # 只读检查当前状态 codex-provider sync # 对齐 Provider 元数据同步错了用codex-provider restore backup-dir从备份恢复。完整命令、路径参数与 JSON 退出码见 docs/README_CLI_ZH.md。四、同步到底改了什么为什么很快Codex Provider Sync 的同步只解析每个会话的首行元数据并只改两处会话文件首行的 Provider 和 SQLite 中的model_provider字段。聊天正文保持逐字节不变。写入方式会自动二选一无需任何设置原地字节更新当新旧 Provider ID 的 JSON 字面量字节等长如openai → prov_a且满足安全条件时直接定点改写 Provider 字节不重建整份文件有界流式替换长度不同时写入新首行后流式复制正文再原子替换原文件正文仍逐字节不变。这就是为什么同步速度主要取决于需要更新的会话数量而不是文件大小。相关实现可参考 src/session-files.js 与核心同步逻辑 packages/core/src/application/provider-sync.js。另外两个让人放心的设计写前自动备份没有实际改动时不创建备份异常安全问题会话非法 UTF-8、超大首行等会被跳过并保留关联索引正常会话继续处理结果标记部分完成并在日志中给出原因。五、常见问题FAQQ已经用 CCSwitch 切换了还需要做什么打开工具确认当前 Provider 正确然后点同步即可。如果会话文件和索引中的 Provider 已一致无需重复同步。Q同步会修改聊天内容或登录信息吗不会。只对齐 Provider 元数据不修改聊天正文、历史模型或会话排序时间也不读取或修改auth.json。Q同步后旧会话仍无法继续Provider 一致只是继续会话的必要条件之一。请查看 Codex 的具体报错若涉及加密内容或模型兼容问题可回到原 Provider / 账号或新建会话。Q显示部分完成怎么办先查操作日志中的跳过原因格式或大小问题需处理数据后重新预览文件被占用则等会话停止写入后再同步。已完成的修改不会自动全量回滚需要撤销时用备份恢复。六、延伸阅读与源码路径项目总览与更新日志README.md、CHANGELOG.md工作原理与落盘机制详解docs/WORKING_PRINCIPLE_ZH.md三个入口的使用指南桌面版 · Web UI · CLI核心同步实现packages/core/src/application/provider-sync.js · src/sqlite-state.js架构与决策记录docs/architecture/NODE_CORE_ARCHITECTURE_ZH.md、docs/adr/切换 Provider 不再是旧会话的终点。用 Codex Provider Sync 花一分钟对齐元数据就能让绝大多数旧会话在新 Provider 下重新可用——先预览、后同步、随时可恢复整个流程足够简单也足够安全。【免费下载链接】codex-provider-syncSynchronize Codex session provider metadata across rollout files and SQLite state.项目地址: https://gitcode.com/gh_mirrors/co/codex-provider-sync创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考