Skip to content
This repository was archived by the owner on Sep 6, 2026. It is now read-only.

Codex++ 1.2.64

Choose a tag to compare

@github-actions github-actions released this 05 Aug 10:46
· 66 commits to main since this release

Codex++ 1.2.64

本版本撤销不可靠的运行时动态重载,改为由 Codex++ 启动器在创建 Codex 进程前完整应用并验证供应商、认证、模型目录和默认模型,同时把所有自动压缩设置统一为直接 Token 阈值喵~

重点修复

  • 删除供应商保存、切换和恢复官方配置时对 Electron Host RPC、batch-write-config-value、CDP Runtime.evaluate、app-server 热重载及 React Query 模型缓存刷新的调用,彻底消除当前 Electron 主进程缺少 handler 时出现的“供应商文件已保存,但动态注入失败”异常喵~
  • 管理器现在只负责原子保存设置、供应商文件和回滚备份,并明确提示更改会在下次通过 Codex++ 启动器启动时应用,不再宣称已经修改当前运行中的 Codex 喵~
  • 启动器成为供应商配置应用的唯一权威入口,在 Provider Sync 完成后重新读取最新 settings.json,并在创建 Codex 进程前完整写入活动供应商对应的 config.tomlauth.json、模型目录和首选模型喵~
  • 普通供应商和自定义多模型供应商都经过同一套启动前归一化与校验,不再只有自定义模型供应商能进入完整启动同步链路喵~
  • 无效 Base URL、缺失 API Key、无效上下文窗口、空 Token 阈值或超过上下文窗口的阈值会直接阻止保存、导入或切换,并把具体错误返回到管理器界面,不再留下无法启动的半套配置喵~

启动注入与失败保护

  • renderer 暴露 window.__codexPlusStartupModelInjection 启动握手,启动时从 helper 读取后端设置与模型目录,安装 dispatcher、app-server、Response JSON、消息以及 Statsig/React 模型适配层,并返回实际 debug/helper 端口、模型集合、默认模型和解锁适配状态喵~
  • Rust 启动器等待并解析该握手,严格核对实际端口、活动供应商的完整模型集合、默认模型和模型解锁适配层,不能再仅凭脚本执行未抛异常就显示成功喵~
  • 注入桥未建立、Promise 超时、脚本异常、模型目录缺项、默认模型不一致或解锁适配未安装时,启动器会写入 failed、关闭 helper 并终止本次刚启动的 Codex,不再进入 running_degraded 或显示虚假的解锁成功喵~
  • 再次点击启动器激活一个已运行的 Codex 时也执行同一握手验证,验证失败会明确返回错误并写入 failed,但不会终止用户原本正在运行的实例喵~
  • 本版本的设计边界是“下次由 Codex++ 启动器启动时应用”,不会热修改当前已打开的 Codex 页面,也不再依赖新版 Electron 是否实现私有配置 handler 喵~

自动压缩 Token 阈值

  • 普通供应商与自定义供应商的每个模型都直接填写正整数 Token 阈值,不再填写百分比,也不会在运行时把用户输入再次换算喵~
  • 例如上下文窗口为 1000000、压缩阈值为 990000 时,config.toml 和模型目录都会原样写入 990000,模型在该 Token 位置触发自动压缩喵~
  • 开启自动压缩时要求上下文窗口有效、阈值大于零且不超过上下文窗口,自定义多模型供应商逐模型执行同样校验喵~
  • 关闭自动压缩会清空设置值,并主动删除 config.toml 中旧的 model_auto_compact_token_limit,避免关闭后残留配置继续生效喵~
  • autoCompactPercent 仅用于一次升级迁移且不再序列化,只有尚无 Token 阈值时才会按旧百分比计算,例如 200000 + 80% 迁移为 160000,已有 Token 值始终优先喵~

主要代码变化

  • 删除 crates/codex-plus-core/src/codex_config_reload.rs 及其导出,移除管理器、bridge 和 renderer 中的动态配置重载事务、原生模型二次刷新、旧 runtime 链式调用和缓存刷新实现喵~
  • 重构 apps/codex-plus-launcher/src/main.rscrates/codex-plus-core/src/launcher.rs,加入 Provider Sync 后二次读取、启动前全供应商应用、启动握手等待、严格验证和失败关闭流程喵~
  • 更新 apps/codex-plus-manager/src-tauri/src/commands.rsApp.tsx 与英文文案,传播归一化错误并统一采用下次启动生效的交互语义喵~
  • 更新 crates/codex-plus-core/src/settings.rsrelay_config.rsmodel_catalog.rsassets/inject/renderer-inject.js,实现 Token 阈值权威字段、旧百分比迁移、启动目录注入和可验证启动 Promise 喵~
  • 工作区、管理器、锁文件和 Tauri 配置版本统一升级为 1.2.64,并在 CHANGELOG.md 中记录完整升级行为喵~

验证结果

  • 前端 Node 测试 20/20、TypeScript 检查、Vite 生产构建、品牌检查和 renderer JavaScript 语法检查全部通过喵~
  • i18n 精确校验通过,plain 734/734、template 66/66 喵~
  • cargo fmt --checkgit diff --check 通过喵~
  • 完整 cargo test --workspace -- --test-threads=1 零失败,其中 core 229、CDP 83、relay 109、launcher 79、manager 33,其余集成测试与 doc-test 也全部通过喵~
  • 主分支构建 30995855874 与发布前记录提交构建 30997078082 均完成 Windows、macOS x64 和 macOS arm64 三平台构建喵~
  • 正式发行工作流 30998037803 完成版本校验、Windows x64、macOS x64、macOS arm64、六项资产验证及 GitHub Release 发布喵~
  • 按用户要求,本轮没有连接、替换、重启或操作当前 Codex 实例、当前任务、当前 helper 或 CDP 做验收,所有验证来自独立自动化测试和 GitHub Actions 喵~

下载与 SHA-256

  • CodexPlusPlus-1.2.64-windows-x64-setup.exe,16,305,190 bytes,15.55 MiB,SHA-256 9cf9f82691f09253269a79ab0d06667ab74dcd50a885c0835ae10bce487822c1 喵~
  • CodexPlusPlus-1.2.64-windows-x64.zip,20,463,681 bytes,19.52 MiB,SHA-256 f43b3a196e7a451b5e8fb45d805be1eaf26a8a5ca613cf24c9583a7efd96ac19 喵~
  • CodexPlusPlus-1.2.64-macos-x64.dmg,23,960,049 bytes,22.85 MiB,SHA-256 04e3903bc6c5d2c6c5be0925d69bec306d4d0fc8c12f184ea7b662f92046ee0c 喵~
  • CodexPlusPlus-1.2.64-macos-x64.zip,20,512,892 bytes,19.56 MiB,SHA-256 d1718cf0a138f06a230eadfdc31dcb8a150d7d4c65a403ad25d6dc1ac29009d1 喵~
  • CodexPlusPlus-1.2.64-macos-arm64.dmg,22,967,223 bytes,21.90 MiB,SHA-256 185082b026e23b7545cdf8cbfe2a3db387754f18939602a012ed72337a4cc7d6 喵~
  • CodexPlusPlus-1.2.64-macos-arm64.zip,20,023,480 bytes,19.10 MiB,SHA-256 94d5205da098023ea879e07221cca051aca530b9fee749d01a5b72e70341bc37 喵~

完整差异v1.2.63...v1.2.64 喵~