Releases: E50MAX/codex-provider-switcher
Release list
Secure Codex Provider Switcher v2.3.11
修复内容
- 兼容 Codex 26.5820.60940 新版 webview:thread/resume 参数先经 completeRequest 生成局部变量,并与并行 hydration 放在同一个 let 声明中。
- 修复“thread/resume 调用边界不完整”误报,同时继续验证参数变量来源、基础对象、threadId、modelProvider、调用边界及调用前重新赋值。
- 保留 2.3.10 的 OpenAI API Key 登录支持、Remote/WSL 隔离、配置竞态保护及 TOML 安全解析改进。
验证
- 93/93 自动化测试通过
- npm audit:0 vulnerabilities
- 源码安全审计通过
- 使用官方 Windows Codex 26.5820.60940 VSIX 的三处真实 webview 资源完成结构、补丁和幂等验证
VSIX SHA-256:8573894C2E8F2A4A0956EBC70D2809CF66988F94467AFD965FC4F33577DB22C9
Secure Codex Provider Switcher v2.3.10
修复内容
- 兼容 Codex 26.5820.60940 新版 webview 的 completed thread/resume 参数变量与同一 let 声明中的并行 hydration,修复“thread/resume 调用边界不完整”误报。
- OpenAI Provider 旧会话同时支持 ChatGPT 订阅登录和 OpenAI API Key 登录,并继续对退出登录或未知认证类型 fail-closed。
- 切换或更新当前自定义 API 时要求确认重载,串行化并发命令,并拒绝覆盖外部修改过的 config.toml。
- VS Code Remote 与 Codex WSL 模式下停止 Windows 本机文件和 DPAPI 操作,避免修改错误的运行环境。
- 改进 TOML 顶层值、行内注释及未托管 Provider 的识别;删除当前 API Key 后立即重载并显示明确状态。
验证
- 93/93 自动化测试通过
- npm audit:0 vulnerabilities
- 源码安全审计通过
- 使用官方 Windows Codex 26.5820.60940 VSIX 的三处真实 webview 资源完成结构、补丁和幂等验证
VSIX SHA-256:B429677A66F91086827A0F5C09C8CF1A4A105573AEFE7A4A1ADE73C097DD177D
Secure Codex Provider Switcher v2.3.9
修复内容
- 区分真正的 App Server writer conflict 与 Provider Switcher 自身的安全校验失败。
- 配置、模型目录、登录态和运行时选择错误不再误报为“在另一个应用中打开”。
- 保持输入框 fail-closed,并通过通知展示可操作的具体错误原因。
- 自动把已验证的 v5 Provider 接管补丁升级到 v6,三处 webview 修改采用事务写入和失败回滚。
验证
- 75/75 自动化测试通过
npm audit:0 vulnerabilities- 源码安全审计通过
VSIX SHA-256:04B744E06910E1B9761EF39CD5846232650BBCE3516F623AE63225E6FEA9C39A
Secure Codex Provider Switcher v2.3.8
- Preserve the most recently used supported reasoning effort when switching between ChatGPT accounts and custom APIs.
- Fall back to the target connection's saved effort, then the selected model default, when the recent effort is unavailable.
- Add regression coverage for stale target-specific high values and account entitlement messaging.
VSIX SHA-256: 316641D4457CF1650194C649C4B316B5955C2A00F333D023E4EFBEDA7B63B9DB
Secure Codex Provider Switcher v2.3.7
- Fix custom API reconfiguration on Windows when an encrypted API key already exists.\n- Use a valid temporary backup path for atomic DPAPI secret replacement and clean it up afterward.\n- Add regression coverage for rotating and decrypting an existing API key without leftover temporary files.\n\nVSIX SHA-256: 57046C7BD9A5435B0EC0ACA27F397C830C36F9FF148669986387EAC278682E15
Secure Codex Provider Switcher v2.3.6
Changes
- Restore the Provider saved in the active Codex configuration instead of implying an API default.
- Preserve the last compatible reasoning effort; otherwise use the model default instead of forcing Max.
- Includes v2.3.5 compatibility fixes for split Codex history bundles and the newer thread-resume bundle syntax.
Verification
- 69 automated tests passed.
- Dependency audit found 0 vulnerabilities.
- Source security audit passed.
VSIX SHA-256: e1e752f8ac5a989c9dce4205e2ac93ee708de0f8d6994e4fe1b3e3967d5c3f98
v2.3.4 — 旧会话安全接管与完整状态校验
Marketplace 从 2.2.2 直接升级到 2.3.4;本版本包含 2.3.0–2.3.4 的全部旧会话接管、写锁交接与完整运行时校验修复。
重点修复
- 账户与自定义 API 共用本机历史时,旧会话保留原
thread ID、标题和内容,不再复制为空白对话。 - 恢复前通过
config/read、model/list和thread/resume核对 Provider、模型、推理等级及服务档;账户模式额外通过不刷新 token 的account/read确认当前已登录 ChatGPT。 - 仍受支持的会话专属模型与推理选择会保留;换账户或 API 后不兼容的选择会回退到当前兼容配置或模型默认值。
- 窗口重载造成的真实 writer-lock 交接会有限重试;
thread/unsubscribe的约 30 分钟宽限期不再被误认为立即卸载。活动会话或任何运行时不匹配都会安全阻止发送。
历史、图片与上下文压缩
- 历史共享仅限当前 Windows 用户的同一
CODEX_HOME,不会同步 ChatGPT 云端;本地历史不按 ChatGPT 账号隔离。 - 插件不改写消息、内嵌图片、
localImage、imageView或contextCompaction项。本地路径图片仍要求原文件存在。 - 隔离 App Server 测试验证:包含 3 次上下文压缩的真实 rollout 可在切换模型与推理等级后恢复;合成的内嵌图片与本地图片引用也能随原 thread 恢复。
- 压缩后的下一轮使用 Codex 保留的摘要与活动上下文,并非重新发送压缩前的每个 token 和每张旧图片。
安全与验证
- 自动升级经过结构校验的 2.3.0–2.3.3 接管补丁;未知上游结构、登录态缺失、模型目录不完整或运行时选择不一致时均 fail closed。
- 66 项自动测试全部通过;源码安全审计覆盖 48 个发布文件。
npm audit:0 个已知漏洞;依赖无待更新项。mainCI 与v2.3.4标签 CI 均已通过:- VS Code Marketplace 已接受 2.3.4:https://marketplace.visualstudio.com/items?itemName=e50max.codex-provider-switcher
VSIX SHA-256:963c705bf3d3b6733cf8e30435b729c8c269e8336408f9526570bc8ad6cf7e06
v2.2.2 — Provider 路由与安全修复
请使用 v2.2.2。 v2.2.1 在云端 CI 完成前被创建;仓库启用了 Immutable Releases,之后不能移动标签或替换资产。v2.2.2 从通过分支与标签两轮 CI 的最终提交构建,并取代 v2.2.1。
重点修复
- 修复“已选 API,但继续旧账户会话仍受 ChatGPT 额度影响”的路由歧义。
- 切换并重载后自动打开一个使用新默认 Provider 的空白 Codex 对话。
- 状态栏改为
Codex 新对话: API/账户;共享历史仅合并本地列表,不迁移旧会话的modelProvider。 - 保存自定义 API 后可立即真正切换。
安全与隐私
- 阻止旧扩展 ID 抢占同名命令后继续写配置。
- 加固 TOML 托管区块、活动 Provider 校验、DPAPI 密钥绑定/原子替换与 reparse-point 检查。
- 拒绝明文敏感认证头、重复头和原型污染型属性名。
- 把写入、结构校验和回滚抽为同一生产模块;测试覆盖单文件回滚、批量回滚及外部改动冲突保护。
- 文档中的本机对话标题截图已替换为脱敏版本。
- GitHub Actions 使用 Node 24-native v7 系列,并固定不可变 commit SHA、只读 contents 权限。
验证
- 30 项自动测试全部通过。
npm audit:0 个已知漏洞;依赖无待更新项。- Secretlint、Git 历史凭据扫描、源码审计和 VSIX 白名单检查均无发现。
- 新建的临时 App Server thread 实测 Provider 为
lab_relay,未启动 turn。 main与v2.2.2标签两轮 GitHub Windows CI 均通过。
VSIX SHA-256:a06ee134a710ece9aa3c0f855913849acd0f4d58c573b9bac4fcf1a6b43778ba
v2.2.1 — 安全的新对话路由修复
重点修复
- 修复“已选 API,但继续旧账户会话仍受 ChatGPT 额度影响”的路由歧义。
- 切换并重载后自动打开一个使用新默认 Provider 的空白 Codex 对话。
- 状态栏改为
Codex 新对话: API/账户;共享历史仅合并本地列表,不再暗示旧会话 Provider 已迁移。 - 保存自定义 API 后可立即真正切换。
安全与隐私
- 阻止旧扩展 ID 抢占同名命令后继续写配置。
- 加固 TOML 托管区块、DPAPI 密钥绑定/原子替换、活动 Provider 校验和官方资源回滚。
- 拒绝明文敏感认证头、重复头和原型污染型属性名。
- 文档中的本机对话标题截图已替换为脱敏版本。
验证
- 29 项自动测试全部通过。
npm audit:0 个已知漏洞;依赖无待更新项。- Secretlint、Git 历史凭据扫描、源码审计和 VSIX 白名单检查均无发现。
- 新建的临时 App Server thread 实测 Provider 为
lab_relay,未启动 turn。
VSIX SHA-256:6d0ee9d09dd30f176f8613915687b6d1b390a3b49bf5444d3c6799f89543eef3
v2.2.0 - Shared account/API local history
Adds one shared local Codex history list for ChatGPT-account and custom-API conversations.
Highlights:
- Requests all model providers from validated
thread/listcall sites in both the extension host and webview. - Requires explicit consent and does not read, copy, migrate, or rewrite conversation records.
- Revalidates the official Codex extension after upstream updates and refuses unknown structures.
- Uses verified multi-file writes with rollback and no non-atomic overwrite fallback.
- Adds a manual repair command, settings, privacy/security documentation, and activation/rollback integration tests.
Important: when a conversation is resumed under a different provider, Codex may send its existing context to the currently selected provider. Check the status bar before continuing sensitive conversations.
Validation: 22 tests passed, source audit passed, 0 npm vulnerabilities, 282 dependency signatures verified.
SHA-256: B64A876430B0F31A1EDF22B5B17DC66F753FD26E8C27D80D35E917081B8B9BF4