Codex Provider Sync GUI
June 10, 2026 · View on GitHub
适用场景
这是 Windows 用户可用的图形界面版本。
如果你不想装 Node、不想打开 PowerShell,也不想记命令,直接下载发布页里的 CodexProviderSync.exe 双击运行即可。
macOS 桌面版说明见 README_MAC_GUI_ZH.md。
它能做什么
- 检测当前
.codex下的 root provider - 统计 rollout files 和 SQLite 里的 provider 分布
- 自动汇总当前可见的全部 provider
- 支持手动补充 provider,并持久化保存
- 选择目标 provider 后一键执行同步
- 可选同时改写
config.toml的 rootmodel_provider - 默认自动保留最近 5 份由本工具生成的备份,并支持自定义保留数
- 支持手动清理旧备份
- 支持从 backup 目录恢复
- 恢复时可分别选择 config、SQLite、rollout metadata
- 如果 EXE 双击无反应,查看
%AppData%\codex-provider-sync\startup-error.log,或在 PowerShell 中运行./CodexProviderSync.exe获取错误 - 含
encrypted_content的历史会话跨 provider/account 后可能只能恢复可见性,继续对话或 compact 仍可能报invalid_encrypted_content
能力边界
- GUI 只同步历史会话可见性相关 metadata,不会处理登录、认证或第三方 provider 切换
- GUI 不会修改消息历史、会话标题、对话内容、认证信息或
auth.json - GUI 不会修改会话
updated_at,也不会通过改变历史排序来修复 Desktop 显示问题 - 含
encrypted_content的旧会话不能由本工具重新加密到另一个 provider / account - 如果 CLI 能看到历史会话但 Desktop 项目侧仍不显示,请优先复制并反馈 Refresh 后的完整状态文本
Codex Desktop 最近 50 条限制
Codex Desktop 当前首屏只拉取最近 50 条会话。如果某个项目的旧会话排在全局最近 50 条之后,CLI /resume 可能能看到,但 Desktop 项目侧仍显示“暂无对话”。
GUI Refresh 会显示项目可见性诊断,例如 first page 0/50、ranks 64-77。这表示会话存在,但没有进入 Desktop 首屏最近 50 条。本工具不会修改 updated_at 或历史排序来绕过这个限制。
使用方式
- 打开
CodexProviderSync.exe - 确认顶部
Codex Home路径 - 点击
Refresh - 在中间列表里选择目标 Provider
- 如果你希望同时改写
config.toml根级 provider,勾选右侧复选框 - 根据需要调整“自动保留最近 N 份备份”
- 点击
Execute - 如需回滚,点击
Restore Backup - 如需立刻清理旧备份,点击
清理旧备份
持久化位置
- GUI 设置:
%AppData%\codex-provider-sync\settings.json - 备份目录:
%USERPROFILE%\.codex\backups_state\provider-sync\
注意事项
- 如果
state_5.sqlite被占用,请先关闭 Codex / Codex App / app-server 再重试 - 如果某个 rollout 文件仍被活跃会话占用,程序会跳过它并在日志区列出来
- 自动清理和手动清理都只会处理由本工具创建的备份目录
- 手动清理旧备份前会弹确认框
- GUI 不会处理登录、认证或第三方 provider 切换,只负责同步可见性相关元数据