如何在浏览器中同步 Codex 会话?Codex Provider Sync 本地 Web UI 完全指南
【免费下载链接】codex-provider-syncSynchronize Codex session provider metadata across rollout files and SQLite state.项目地址: https://gitcode.com/gh_mirrors/co/codex-provider-sync
Codex Provider Sync是一款开源的本地元数据同步工具,它的 Web UI 让你直接在浏览器中同步 Codex 会话文件与 SQLite 聊天索引中的 Provider 信息。切换 Provider 后旧会话无法使用?通过本地 Web UI 一键预览、确认并同步,旧会话即可重新可用。全程只在本机运行,数据不上传任何远程服务。
为什么需要 Codex 会话同步?
用过 Codex 的都知道:切换 Provider(比如从 OpenAI 切到自定义供应商)之后,旧会话里的 Provider 元数据还停留在旧值,导致历史会话无法按当前配置继续对话。
Codex Provider Sync 的 Web UI 正是为了解决这个"元数据不一致"问题——它把会话文件(rollout)和 SQLite 聊天索引中的 Provider 信息对齐到当前配置:
需要注意:它只同步 Provider 信息,不修改聊天正文,也不是登录工具或解密工具。跨供应商的encrypted_content推理内容可能无法解密,遇到这种情况请切回原 Provider 或新建会话。
快速安装:3 步启动本地 Web UI
📦 只需 Node.js16.20.2+,无需安装桌面应用:
npm install -g @dailin521/codex-provider-sync codex-provider web启动后终端会输出默认地址http://127.0.0.1:8791,并自动打开系统浏览器。首次进入使用一次性配对链接完成授权,服务端只保存设备凭证哈希(配对逻辑见 apps/web/src/pairing.ts)。
常用启动参数:
codex-provider web --port 8792 # 更换端口 codex-provider web --no-open # 不自动打开浏览器 codex-provider web --reset-access # 撤销当前浏览器授权 codex-provider web --codex-home /path/to/.codex --sqlite-home /path/to/sqlite💡 本地 Web 服务与 CLI、Electron 桌面版共用同一套 Node 同步核心,安全边界和锁机制完全一致,服务端入口为 src/web-server.js。
在浏览器中同步当前 Provider 的完整步骤
- 确认状态:打开"概览"页,检查当前 Provider、同步状态和存储路径。
- 执行同步:点击"预览同步"查看影响范围后确认;赶时间可以直接点"直接同步"(点击即授权,内部仍走 Prepare/Apply、锁与备份校验)。
- 查看结果:部分完成时,先查看跳过项和失败阶段,结束占用相关文件的 Codex 会话后重试。
如果你希望由本工具直接改配置,在概览底部使用"单独切换 Provider"——它会更新 config 中的目标 Provider 后再同步历史会话,可选择使用目标模型、保留根模型或手动指定模型。
日常同步只对齐 Provider,不调整历史模型,也不触发高级修复,轻量且安全。
Web UI 六大页面功能一览
| 页面 | 用途 |
|---|---|
| 概览 | 当前 Provider、同步状态、备份数量、存储来源;同步与切换都在这里完成 |
| 备份与恢复 | 统一设置保留数量(默认 2 份),查看/恢复/清理备份 |
| 聊天记录 | 按项目组织会话,支持元数据与正文搜索,右键复制会话 ID 和继续命令 |
| 存储配置 | 管理受信任的 Codex 数据位置和聊天索引位置 |
| 高级功能 | 主动发起只读诊断,按需专项修复;日常同步用不到 |
| 设置 | 中英文切换、主题(跟随系统/浅色/深色)、自动同步管理、撤销浏览器连接 |
界面完全支持键盘操作,支持 200% 缩放,窄窗口下聊天记录页会自动切换为列表/详情模式。
进阶用法:SSH 端口转发 + 远程浏览器
服务只监听127.0.0.1,不能直接暴露到局域网或公网。但在无桌面的远程机器上,只转发回环端口即可:
ssh -L 8791:127.0.0.1:8791 user@server在远程 shell 中启动:
codex-provider web --no-open命令会输出可点击的一次性配对链接,本地浏览器打开即可完成授权操作——这是 SSH 环境下使用 Codex 会话同步工具的最安全方式。
本地安全边界:你的数据只留在本地
🔒 Web UI 的安全设计值得了解:
- 仅回环监听:服务只绑定
127.0.0.1,拒绝远程直连; - 一次性配对:首次启动生成短时配对链接,服务端仅存凭证哈希;
- 严格 CSP:生产环境 HTML 使用每响应随机 nonce,禁止远程脚本与跨源 Core 请求;
- 先预览后写入:预览同步、切换、修复、恢复都先显示预计改动再确认;恢复只能选择本应用创建的受管备份。
常见问题与注意事项
⚠️同步中正在使用的会话可能被跳过,结果显示"部分完成"。这是正常现象——结束相关 Codex 会话后再次同步即可,不必担心数据丢失(写入前已自动备份,默认保留 2 份)。
⚠️不要用删除锁文件的方式解决"状态待刷新"——状态待刷新不等于工具正在写入,锁文件由 src/state-db-lock.js 管理,请让服务自行完成状态收敛。
⚠️聊天记录数量与 SQLite 索引短暂不同步属于正常时序现象,以页面显示的 Provider 分布和同步状态为准。
总结
Codex Provider Sync 的本地 Web UI 让你在浏览器中就能完成 Codex 会话的 Provider 元数据同步:3 步启动、先预览后确认、修改前自动备份,还支持 SSH 端口转发接入远程机器。完整文档见 docs/README_WEB_UI_ZH.md,界面源码位于 apps/web/src/,想深入了解同步落盘机制可阅读 docs/WORKING_PRINCIPLE_ZH.md。
【免费下载链接】codex-provider-syncSynchronize Codex session provider metadata across rollout files and SQLite state.项目地址: https://gitcode.com/gh_mirrors/co/codex-provider-sync
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考