CODEX PROVIDER SWITCHER

一条命令,切换整套 Codex 对话归属。

cmdme 与内置 OpenAI provider 之间统一切换配置、历史会话和本地索引, 并在写入前完成占用检查与备份。

入口
HTTPS · 443
平台
macOS / Linux
迁移
可备份 · 可回滚

切换前必须退出所有 Codex 进程

桌面端、CLI 和 IDE 插件只要有一个仍在使用历史数据库,迁移器就会拒绝写入。status 是只读命令,可以在 Codex 运行时执行。

01 · QUICK START

先看状态,再执行切换

第一次使用时先运行只读检查。它会汇总当前配置、历史会话、逐轮设置和 SQLite 索引中的 provider 数量。

只读状态检查
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- status
1

运行 status

确认当前 provider 分布,不修改任何文件。

2

退出 Codex

关闭桌面端、终端 CLI 与编辑器插件。

3

选择目标

运行 cmdme、openai 或 toggle,完成后重新打开。

02 · COMMANDS

选择你要去的 provider

CMDME切换到 cmdme,并启动 Codex CLI
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- cmdme --launch
OPENAI切回内置 OpenAI,并启动 Codex CLI
curl --proto '=https' --tlsv1.2 -fsSL https://api.felixnode.com/tools/codex-provider/run | bash -s -- openai --launch
TOGGLE在两者之间自动切换
curl --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。

03 · SCOPE

它会修改什么?

一次切换会让影响对话归属的四处数据保持一致。

A

用户配置

~/.codex/config.toml 顶层的 model_provider

B

会话元数据

活动与归档 JSONL 会话中的 session_meta.model_provider

C

逐轮设置

历史记录里的 thread_settings.model_provider_id,修复旧版可能留下的不一致。

D

本地索引

state_5.sqlitethreads.model_provider 的索引值。

对话正文、模型名称、标题、时间顺序和项目目录不会被修改。脚本只处理 provider 相关字段。

04 · SAFETY

写入之前,先把退路铺好

01

固定版本与校验

启动器绑定具体发布版本,并用内嵌 SHA-256 拒绝不一致的下载内容。

02

进程占用检测

数据库或历史目录被 Codex 打开时立即停止,不与正在写入的进程竞争。

03

结构检查

遇到未知的历史格式或 provider 字段路径时拒绝猜测,修改尚未开始。

04

备份与回滚

配置、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
05 · OPTIONS

命令与参数

参数作用是否写入
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,迁移成功后手动重新打开桌面应用。

06 · TROUBLESHOOTING

常见问题

提示 “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 入口。