Skip to content

Repository files navigation

Codex API 切换(Windows 版)

在 Windows 上一键切换 Codex 的 API 服务商(OpenAI ↔ DeepSeek V4 Flash),切换时自动保留全部历史对话,不再出现"切完对话记录消失"的问题。

非 OpenAI 官方工具。CLI 部分同时支持 macOS / Linux,本仓库面向 Windows 用户。

为什么需要

Codex 桌面端会按当前服务商(model_provider)过滤任务列表。直接切换供应商后,之前的对话列表会"消失"——数据没有丢,只是被过滤隐藏了。本工具在切换时自动把历史对话的服务商标签同步过去,重新打开 Codex 就全部恢复。

另外,用 DeepSeek 推进过的旧会话切回官方 Codex 后,续聊可能报:

Invalid 'input[7].content': array too long. Expected an array with maximum length 0, but got an array with length 1 instead.

这是会话里记录了明文推理内容(reasoning 项),官方 API 回放时不接受。repair 会备份后把这些内容清空,openai 切换命令也会在 Codex 未运行时自动执行修复,旧会话即可直接续聊。

模型版本

  • deepseek-v4-flash 当前对应官方 DeepSeek-V4-Flash-0731
  • deepseek-v4-pro 当前对应官方 DeepSeek-V4-Pro-0813(GA 正式版,2026-08-12 发布)
  • 调用名保持不变,切换工具无需改配置即可使用最新版;官方参数:上下文 1M、输出最大 384K、支持思考/非思考模式与 Responses API。

功能

  • 一键切换 OpenAI ↔ DeepSeek V4 Flash
  • 切换时自动同步历史对话标签(数据库 + 会话文件 + 索引三处一致),并把会话级模型同步为目标模型(如 gpt-5.5deepseek-v4-flash
  • 切回 OpenAI 时自动修复历史会话中的明文推理内容(防 array too long
  • 手动修复:repair <会话id>repair --all(自动备份,可回滚)
  • DeepSeek API Key 只填一次,之后来回切换不用再输
  • 操作前自动备份,出问题可回滚
  • Key 只存在本机(权限 600),不打印明文
  • Codex 运行时自动检测(tasklist),保护历史数据不被覆盖
  • 菜单界面 + 命令行两种用法

快速开始

1. 安装 Python

安装 Python 3.11 或更高版本,安装时勾选 Add to PATH

(Python 3.9 / 3.10 也可以,需要先执行 pip install tomli。)

2. 双击启动

把仓库文件解压到任意目录,双击 Codex API 切换.cmd,出现菜单:

   1. 查看状态
   2. 切到 DeepSeek(自动同步历史对话 + 会话模型,选 Flash/Pro)
   3. 切回 OpenAI(自动同步历史对话 + 修复历史 + 还原模型)
   4. 同步历史对话标签
   5. 修复历史会话(array too long 报错)
   6. 保存/更新 DeepSeek API Key
   7. 查看已保存 Key
   8. 清除已保存 Key
   9. 切换 DeepSeek 模型(Flash/Pro)
  10. 退出

按数字键操作即可。

选项 2 与选项 9 会询问选择 V4 Pro 0813(默认)或 V4 Flash 0731;已处于 DeepSeek 时选 9 可原地切换模型,无需先切回 OpenAI。

3. 使用步骤(切到 DeepSeek)

  1. 完全退出 Codex(关键:运行中切换不会同步历史)
  2. 双击 Codex API 切换.cmd,选 2
  3. 首次切换时输入 DeepSeek API Key(sk- 开头,只填一次)
  4. 重新打开 Codex,选择 DeepSeek V4 Flash 模型,历史对话全部还在

4. 切回 OpenAI

  1. 完全退出 Codex
  2. 双击 Codex API 切换.cmd,选 3(会自动修复历史 + 同步标签)
  3. 重新打开 Codex,旧会话可直接续聊,不再报 array too long

命令行用法

python codex-api-switch status
python codex-api-switch key set sk-xxxxxxxx
python codex-api-switch deepseek
python codex-api-switch deepseek --model pro   :: 使用 DeepSeek V4-Pro-0813(默认 Pro)
python codex-api-switch deepseek --model flash
python codex-api-switch openai
python codex-api-switch sync
python codex-api-switch repair --all --dry-run   :: 先查看哪些会话需要修复
python codex-api-switch repair --all             :: 备份并修复全部受影响会话

安全设计

  • DeepSeek API Key 保存在 ~/.codex/backups/codex-api-switch/deepseek-key,仅当前用户可读,status 只显示掩码。
  • 每次同步前自动备份数据库和会话文件第一行清单,可完整回滚。
  • 每次修复前自动备份会话文件原样副本 + SHA-256 清单(repair-<时间戳>/),可完整回滚。
  • 只修改用户主任务(未归档、thread_source 为 user/空),子任务和归档会话不动。
  • Codex 运行中拒绝修改历史,需完全退出后执行。

测试

python test_sync.py

测试覆盖:同步、幂等、双向切换自动同步、Key 持久化、Windows 进程检测分支、repair 单会话/全部/幂等/运行中拒绝/切换自动修复等。

常见问题

  • 切换后历史还是空的:确认切换前完全退出了 Codex,然后重新打开 Codex。
  • 续聊旧会话报 array too long:先退出 Codex,再运行 python codex-api-switch repair --all(或菜单选 5),然后重开 Codex。
  • 提示找不到 Python:重新安装 Python 并勾选 Add to PATH,或把 Python 安装路径加入系统 PATH。
  • 窗口中文乱码:请使用仓库内附带的 Codex API 切换.cmd 启动(已设置 UTF-8 代码页)。

About

Windows 版 Codex API 切换器(OpenAI/DeepSeek),切换时自动保留历史对话

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages