Important
项目已于 2026 年 9 月 21 日停止维护并归档。 本项目最后一次成功验证基于
Codex CLI 0.151.0-alpha.7.2。后续 Codex 版本可能重写 config.toml,从而删除
本项目依赖的受管配置并导致快捷方式无法启动。仓库保留用于学习和历史参考,
不建议在当前 Codex 版本上直接安装或用于重要任务。
在 Codex 桌面应用中,让 GPT 和 DeepSeek 接着同一个任务继续聊。
这是一个目前只支持 Windows 的本地任务交接工具。第一次使用命令行也没关系, 下面会从“怎么下载项目”开始,一步一步说明。
DeepSeek 官方已经提供了接入 Codex 的方式,但切换配置后,经常会出现这样的情况:
- GPT 模式里原来能看到的任务,在 DeepSeek 模式里看不到;
- DeepSeek 新回复的内容,切回 GPT 后不能接着使用;
- DeepSeek 产生的推理记录或联网搜索记录,可能让 GPT 报格式错误。
本项目在 GPT 和 DeepSeek 之间增加了一层本地“任务交接”。直观过程如下:
在 GPT 中工作
↓
完全关闭 Codex
↓
点击桌面的“DeepSeek交接”
↓
工具先交接任务,再打开 DeepSeek 模式的 Codex
↓
在 DeepSeek 中继续原任务
↓
完全关闭 Codex
↓
点击桌面的“任务交接GPT”
↓
工具先清理并交接任务,再打开 GPT 模式的 Codex
两边看到的是同一个工作过程的接力版本。DeepSeek 的回复可以交回 GPT,GPT 的 新回复也可以继续交给 DeepSeek。
- 本项目不是 Codex,也不提供 DeepSeek API key。 你需要先安装 Codex, 并拥有自己的 DeepSeek 官方 API key。
- 切换前必须完全关闭 Codex。 不要让 GPT 模式和 DeepSeek 模式同时运行。
- 交接过程中只点击一次快捷方式。 聊天记录较多时可能需要等待;工具完成 交接后才会显示 Codex 窗口。
目前支持:
- Windows 10
- Windows 11
macOS 和 Linux 目前没有经过本项目验证。
先用你平时的方式打开 Codex,确认能够登录 ChatGPT/OpenAI,并能进入一个现有 任务。确认后完全关闭 Codex。
如果你还没有安装 Codex,请先从 OpenAI 官方入口 完成安装和登录,再回来继续。
PowerShell 是下面用来复制和运行安装命令的窗口。Windows 自带的旧版叫 “Windows PowerShell”,本项目推荐使用 PowerShell 7。
打开 Windows 开始菜单,搜索并打开 PowerShell 7。在窗口中复制下面这条命令,
然后按回车:
$PSVersionTable.PSVersion只要第一行显示的主版本号是 7,这一项就通过了。
如果找不到 PowerShell 7,可以按照微软官方说明安装:
Windows 11 用户也可以在终端中执行:
winget install --id Microsoft.PowerShell --source winget安装完成后关闭旧窗口,重新打开 PowerShell 7。
在 PowerShell 7 中执行:
node --version本项目要求 Node.js 22.13.0 或更高版本,推荐安装当前的 Node.js 24 LTS。
例如,显示 v22.13.0、更高的 v22... 或 v24... 都可以使用;
v20... 及更早版本不受支持。
如果版本过低或提示无法识别 node,请到 Node.js 官方网站下载当前的
LTS(长期支持版):
安装时保持默认选项即可。安装完成后重新打开 PowerShell 7,再执行一次
node --version。
你需要拥有自己的 DeepSeek 官方 API key。不要把 API key 发给别人,也不要写进 本项目的文件或提交到 GitHub。DeepSeek 官方说明见:
如果你已经能通过 DeepSeek 官方方式打开 Codex,可以直接进入下一节。
- 打开本项目的 GitHub 页面。
- 点击页面上方绿色的
Code按钮。 - 点击
Download ZIP。 - 下载完成后,在资源管理器中找到这个 ZIP 文件。
- 右键 ZIP 文件,选择“全部解压”。
- 进入解压后的文件夹。
请继续进入文件夹,直到你能同时看到下面这些内容:
README.md
package.json
work 文件夹
scripts 文件夹
看到这些文件,才说明你位于正确的“项目根目录”。
- 保持上面的项目根目录窗口打开。
- 点击资源管理器顶部的地址栏。
- 删除地址栏中原来的文字。
- 输入
pwsh。 - 按回车。
系统会打开一个 PowerShell 7 窗口,而且它已经位于正确的项目文件夹中。
执行下面这条命令检查:
Test-Path ".\work\thread-localizer\launcher\install.ps1"如果输出:
True
说明位置正确。如果输出 False,请关闭 PowerShell,回到资源管理器继续进入真正
包含 README.md、package.json 和 work 的那一层文件夹,再重新输入 pwsh。
本项目不会重新分发 DeepSeek 官方模型目录,因此必须先运行 DeepSeek 官方 Codex 配置脚本。
在刚才打开的 PowerShell 7 中,复制下面整段命令,然后按回车:
$officialSetup = Join-Path $env:TEMP 'codex-deepseek-setup-en.ps1'
Invoke-WebRequest `
-Uri 'https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1' `
-OutFile $officialSetup
notepad $officialSetup记事本会打开刚下载的官方脚本。检查下载地址确实是
cdn.deepseek.com,看完后关闭记事本,再回到 PowerShell 7 执行:
pwsh -NoProfile -ExecutionPolicy Bypass -File $officialSetup按照官方脚本的提示配置 DeepSeek API key。
完成后:
- 完全关闭 PowerShell 和 Codex。
- 用 DeepSeek 官方脚本创建的方式打开一次 Codex。
- 确认 DeepSeek 能正常回复一条测试消息。
- 再次完全关闭 Codex。
如果 DeepSeek 本身还不能正常回复,请先不要安装本项目。只有官方基础接入已经 成功,本项目的任务交接层才能正常工作。
重新回到项目根目录,按照前面的方式在地址栏输入 pwsh,打开 PowerShell 7。
复制下面整段命令并按回车:
pwsh -NoProfile -ExecutionPolicy Bypass `
-File ".\work\thread-localizer\launcher\install.ps1" `
-SourceRoot "$PWD" `
-WhatIf这里的 -WhatIf 意思是“只预览,不真正修改”。窗口中会出现多行
What if:,最后还会看到:
"whatIf": true
这一步不会迁移任务、不会启动 Codex,也不会发送任何模型请求。
如果这里直接出现红色错误,请先查看本文后面的“常见问题”,不要反复执行正式 安装命令。
预览没有报错后,在同一个 PowerShell 7 窗口执行下面这段命令。它和上一步的
区别是没有 -WhatIf:
pwsh -NoProfile -ExecutionPolicy Bypass `
-File ".\work\thread-localizer\launcher\install.ps1" `
-SourceRoot "$PWD"安装器会:
- 备份 Codex 的相关配置;
- 检查新配置能否被当前 Codex 读取;
- 安装任务交接工具;
- 在桌面创建两个快捷方式。
安装器不会直接修改 Codex 的任务数据库,不会删除原任务,也不会自动发送消息。
安装成功后,桌面上应该出现:
DeepSeek交接
任务交接GPT
它们的作用分别是:
| 快捷方式 | 什么时候点击 | 会做什么 |
|---|---|---|
DeepSeek交接 |
当前使用 GPT,下一次想用 DeepSeek | 先把 GPT 任务交给 DeepSeek,再打开 Codex |
任务交接GPT |
当前使用 DeepSeek,下一次想回到 GPT | 先清理并交接 DeepSeek 任务,再打开 Codex |
建议第一次使用一个不重要的测试任务完成验收。
-
先用正常的 GPT 登录方式打开 Codex。
-
新建一个测试任务,发送一句容易辨认的话,例如:
这是 GPT 和 DeepSeek 交接测试。 -
等 GPT 回复完成。
-
完全关闭 Codex。
-
等待几秒,确认 Codex 窗口已经全部消失。
-
双击桌面的
DeepSeek交接。 -
只点击一次,然后等待。
-
交接完成后,Codex 会自动以 DeepSeek 配置打开。
-
在“最近”或对应项目中找到刚才的测试任务。
-
确认能看到 GPT 的测试消息和回复。
-
在同一个任务中让 DeepSeek 再回复一句。
- 等 DeepSeek 回复完全结束。
- 完全关闭 Codex。
- 等待几秒。
- 双击桌面的
任务交接GPT。 - 只点击一次,然后等待。
- 工具会先处理 DeepSeek 与 GPT 不兼容的推理和联网搜索记录。
- 完成后,Codex 会自动回到 GPT 登录配置。
- 打开刚才的测试任务。
- 确认能看到 DeepSeek 刚刚发送的内容。
- 再给 GPT 发送一条消息,确认 GPT 能正常回复。
以上全部通过,就说明双向任务交接已经跑通。
以后只需要记住下面两条:
- **GPT → DeepSeek:**关闭 Codex,点击
DeepSeek交接。 - **DeepSeek → GPT:**关闭 Codex,点击
任务交接GPT。
不要在刚用完 DeepSeek 后直接点击任务栏里的官方 Codex 图标。那样会绕过交接 步骤,刚产生的 DeepSeek 内容可能暂时没有出现在 GPT 任务中。
这是正常设计,不代表快捷方式坏了。
工具必须先完成:
- 查找需要交接的任务;
- 检查是否已经交接过,防止重复任务;
- 创建新的目标任务;
- 转换不兼容的记录;
- 完整验证交接结果;
- 验收成功后删除上一棒旧任务;
- 最后才打开 Codex。
任务越多,等待时间可能越长。交接期间再次点击快捷方式不会让它更快,也可能让 你误以为程序没有反应,所以请耐心等待第一次点击的结果。
说明 DeepSeek 官方基础配置还没有成功完成,或者官方模型目录不在预期位置。
处理方法:
- 重新运行本文“先完成 DeepSeek 官方接入”中的官方脚本。
- 确认 DeepSeek 能独立打开 Codex 并正常回复。
- 完全关闭 Codex。
- 再运行本项目安装器。
不要自己创建一个空的 models-deepseek.json,空文件不能代替官方模型目录。
先不要连续点击。等待任务交接完成。如果出现错误弹窗,请记录:
- 弹窗里的完整文字;
- 弹窗提供的报告路径;
- 当前是从 GPT 切换到 DeepSeek,还是从 DeepSeek 切回 GPT。
详细排查方法见 故障排查文档。
只要任务能够打开、消息完整并且可以继续回复,就说明交接成功。是否置顶属于 Codex 界面状态,不影响任务上下文。需要时可以手动置顶。
早期测试或失败交接可能留下旧任务。不要只根据名字判断;先打开并确认哪一个是 最新、可以继续回复的任务。不要直接修改 Codex 数据库或 rollout 文件。
这通常说明旧的 DeepSeek 推理记录没有完成兼容处理。当前版本会在
DeepSeek → GPT 交接时清理新目标中的不兼容 content。请保留错误报告,
不要手动修改任务数据库或 rollout。详见 故障排查文档。
DeepSeek 与 GPT 的联网搜索记录 ID 格式可能不同。本项目会在交回 GPT 时同步 调整检索调用和结果之间的关联 ID;发现冲突时会停止并报告,而不是删除记录。
任务交接工具只负责保存和转换任务上下文,不会给模型增加视觉能力。能否看图取决于 你选择的 DeepSeek 模型及其接口能力。
卸载前先完全关闭 Codex。
打开 PowerShell 7,先执行预览命令:
pwsh -NoProfile -ExecutionPolicy Bypass `
-File "$env:USERPROFILE\.codex\model-switcher\uninstall.ps1" `
-WhatIf确认预览没有异常后,正式卸载:
pwsh -NoProfile -ExecutionPolicy Bypass `
-File "$env:USERPROFILE\.codex\model-switcher\uninstall.ps1"默认卸载只移除本项目安装的受管配置、两个快捷方式和程序文件。以下内容会保留:
- DeepSeek 官方模型目录;
- 已加密保存的 API key;
- 任务交接 manifest;
- 交接报告和 manifest。
- DeepSeek 默认思考强度:
max - DeepSeek 默认联网搜索:
live - OpenAI/GPT:尽量保留任务原来使用的 GPT 模型
如果以后更换 DeepSeek 模型,新模型必须先由官方目录声明,并且支持 Codex 所需的
Responses API。普通用户不需要手动修改 config.toml。
本项目在你的电脑本地调用 Codex 自带的 app-server:
- 不运营聊天中转服务器;
- 不把聊天记录上传到本项目作者的服务器;
- 不把 API key 写入 Git;
- 不直接修改
state_5.sqlite、session_index.jsonl或源 rollout; - 写入前生成 dry-run 报告,旧任务会保留到新任务完成验收;
- 交接不再生成累计任务备份,成功后通过官方协议删除上一棒旧任务;
- 发现当前 Codex 协议不兼容时停止,而不是猜测字段继续操作;
- 使用交接 manifest 防止同一个任务被重复复制;
- 使用每用户锁防止重复点击造成多个交接程序同时运行。
详细说明见 安全边界文档。
如果你只想安装和使用,到这里就可以停止阅读。下面内容面向准备检查代码、调试协议 或参与开发的人。
在项目根目录执行:
npm test
pwsh -NoProfile -File ".\scripts\check-powershell.ps1"npm run schema-check
npm run dry-run:deepseek
npm run dry-run:openaischema-check 只检查或缓存 Codex app-server 协议,不启动模型回合。dry-run 只
生成报告;第一次修改迁移逻辑时,应先用单个任务验收,再扩大范围。
提供商默认设置位于:
work/thread-localizer/data/handoff-settings.json
- OpenAI 使用
preserve-existing,尽量回到任务此前使用的 GPT 模型。 - DeepSeek 默认使用
deepseek-v4-pro + max。进入 DeepSeek 模式后,可在 Codex 原生模型菜单中为当前任务切换 V4 Pro/V4 Flash 与 Low/High/Max。 - 部分 Codex Desktop 会过滤第三方模型名。启动器会生成两个本机兼容菜单项,
并且只在 DeepSeek 模式启动一个绑定
127.0.0.1的模型名称适配器。它只把 兼容名称换回官方 DeepSeek slug;GPT 请求不会经过它,消息正文、工具调用、 搜索记录和返回流也不会被它改写。 - 交接器会记住每个任务最后使用的 DeepSeek 模型和思考强度;下次从 GPT 交接 回来时优先恢复。只有从未使用过 DeepSeek 的任务才采用默认值。
- DeepSeek 模型 slug 必须存在于本机官方
models-deepseek.json中。
本项目采用 MIT License。
DeepSeek 官方模型目录和品牌图标不会随本仓库重新分发;安装器复用用户本机已经 完成的官方配置。请不要把个人图标、API key、Codex 数据库、任务报告或聊天记录 提交到公开仓库。