一条命令,切换整套 Codex 对话归属。
在 cmdme 与内置 OpenAI provider 之间统一切换配置、历史会话和本地索引, 并在写入前完成占用检查与备份。
- 入口
- HTTPS · 443
- 平台
- macOS / Linux
- 迁移
- 可备份 · 可回滚
切换前必须退出所有 Codex 进程
桌面端、CLI 和 IDE 插件只要有一个仍在使用历史数据库,迁移器就会拒绝写入。status 是只读命令,可以在 Codex 运行时执行。
先看状态,再执行切换
第一次使用时先运行只读检查。它会汇总当前配置、历史会话、逐轮设置和 SQLite 索引中的 provider 数量。
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- status运行 status
确认当前 provider 分布,不修改任何文件。
退出 Codex
关闭桌面端、终端 CLI 与编辑器插件。
选择目标
运行 cmdme、openai 或 toggle,完成后重新打开。
选择你要去的 provider
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- cmdme --launchcurl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- openai --launchcurl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- toggle --launch这条命令每一段在做什么?
curl --proto '=https' --tlsv1.2 -fsSL只允许 HTTPS、要求 TLS 1.2 以上,并在下载失败时立即报错。
api.felixnode.com/.../run下载轻量启动器;启动器再获取固定版本的迁移程序并核对 SHA-256。
| bash -s -- cmdme --launch把脚本交给 Bash,选择 cmdme;迁移成功后启动 Codex CLI。
它会修改什么?
一次切换会让影响对话归属的四处数据保持一致。
用户配置
~/.codex/config.toml 顶层的 model_provider。
会话元数据
活动与归档 JSONL 会话中的 session_meta.model_provider。
逐轮设置
历史记录里的 thread_settings.model_provider_id,修复旧版可能留下的不一致。
本地索引
state_5.sqlite 中 threads.model_provider 的索引值。
对话正文、模型名称、标题、时间顺序和项目目录不会被修改。脚本只处理 provider 相关字段。
写入之前,先把退路铺好
固定版本与校验
启动器绑定具体发布版本,并用内嵌 SHA-256 拒绝不一致的下载内容。
进程占用检测
数据库或历史目录被 Codex 打开时立即停止,不与正在写入的进程竞争。
结构检查
遇到未知的历史格式或 provider 字段路径时拒绝猜测,修改尚未开始。
备份与回滚
配置、SQLite 与字段清单保存在 ~/.codex/provider-migration-backups/。
不想直接执行网络脚本?
先下载、查看,再手动运行。这与一行命令使用的是同一个带校验启动器。
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run -o /tmp/codex-provider-run
less /tmp/codex-provider-run
bash /tmp/codex-provider-run status命令与参数
| 参数 | 作用 | 是否写入 |
|---|---|---|
status | 显示 provider 分布 | 只读 |
cmdme | 统一迁移到 cmdme | 写入 |
openai | 统一迁移到内置 OpenAI | 写入 |
toggle | 根据当前配置切到另一方 | 写入 |
--launch | 迁移成功后启动 Codex CLI | — |
--version | 显示迁移器版本 | 只读 |
-- | 后续参数原样传给 Codex | — |
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- cmdme --launch -- -C /path/to/project如果使用 Codex 桌面端,建议省略 --launch,迁移成功后手动重新打开桌面应用。
常见问题
提示 “Codex history is in use”
仍有 Codex 桌面端、CLI 或 IDE 插件占用历史文件。完全退出这些进程后重新运行;只查看状态则使用 status。
提示找不到 config.toml
当前用户尚未初始化 Codex,或 CODEX_HOME 指向了错误目录。先正常启动一次 Codex,再重试。
提示 cmdme provider 未定义
~/.codex/config.toml 中缺少 [model_providers.cmdme] 配置。迁移器不会代填地址或凭据。
为什么 status 或迁移需要一些时间?
程序会逐个校验全部活动与归档会话。历史达到数 GB 时,完整扫描可能需要几十秒;过程中不要强制关闭终端。
旧的 sslip.io:8443 命令还能用吗?
暂时保留兼容,并会拉取同一新版程序。新设备和新文档统一使用 api.felixnode.com 的标准 HTTPS 入口。