Releases: Cmochance/codex-app-transfer
Release list
v2.4.4
Codex App Transfer v2.4.4
中文
接入 QoderWork CN 供应商 + QoderWork / WorkBuddy 模型选择器显示 Credit 折扣倍率
本版本接入阿里 QoderWork CN 供应商(账号登录 + 模型路由,无需另装 Qoder),并在 Codex 模型选择器里为 QoderWork 与 WorkBuddy 的模型显示各自的 Credit 消耗倍率(如 GLM-5.2 · 0.6×)。
- QoderWork CN 接入(#581):纯客户端 PKCE 账号登录 + 自动 refresh;模型请求走网关
gateway.qoder.com.cn的 Cosy 签名协议(内嵌官方qoder_auth_wasm);多账号池与 WorkBuddy 复用同一account_pool。 - QoderWork 细节优化(#582):per-account 设备隔离、模型显示名、context window、reasoning 档位、额度面板与官方图标;修复
auto等通用别名撞名导致 reasoning / context 误套的回归。 - QoderWork 模型倍率显示(#583):模型选择器显示
GLM-5.2 · 0.6×这类倍率,优先取官方文档docs.qoder.com/zh/cli/model.md;Auto无固定倍率不显示。 - WorkBuddy 模型倍率显示(#584):同口径显示
GLM-5.2 · 0.79×等,倍率取 WorkBuddy 客户端下发的 product 配置;与 QoderWork 共用同一渲染逻辑。 - 倍率漂移检测(#585):新增每周定时
provider-rate-driftworkflow,拉官方文档对比仓库倍率表,发现漂移或检测器失效即开 / 更新 issue。
验证:registry / codex_integration / src-tauri 相关单测全绿,cargo fmt --check 干净,rate-drift 脚本本地实测无漂移退 0、篡改倍率退 1。
English
QoderWork CN provider integration + Credit discount multipliers in the QoderWork / WorkBuddy model picker
This release integrates the Alibaba QoderWork CN provider (account login + model routing, no separate Qoder install), and shows each QoderWork / WorkBuddy model's Credit consumption multiplier in the Codex model picker (e.g. GLM-5.2 · 0.6×).
- QoderWork CN integration (#581): pure-client PKCE login + auto refresh; model requests use the
gateway.qoder.com.cnCosy-signature protocol (embedded officialqoder_auth_wasm); the multi-account pool reuses the sameaccount_poolas WorkBuddy. - QoderWork refinements (#582): per-account device isolation, model display names, context window, reasoning tiers, quota panel and official icon; fixes a regression where generic aliases like
autocollided with other providers and mis-applied reasoning / context. - QoderWork multipliers (#583): the model picker shows multipliers like
GLM-5.2 · 0.6×, sourced primarily from the officialdocs.qoder.com/zh/cli/model.md;Autohas no fixed multiplier and shows none. - WorkBuddy multipliers (#584): the same styling shows
GLM-5.2 · 0.79×and so on, with multipliers from WorkBuddy's client-delivered product config; QoderWork and WorkBuddy share one rendering path. - Rate-drift detection (#585): a new weekly
provider-rate-driftworkflow pulls the official docs and diffs them against the in-repo multiplier tables, opening / updating an issue on drift or detector failure.
Verification: registry / codex_integration / src-tauri unit tests pass, cargo fmt --check is clean, and the rate-drift script exits 0 on no drift and 1 on a tampered rate locally.
v2.4.3
Codex App Transfer v2.4.3
中文
第三方 prompt cache 命中塌方修复 + Codex 内逐轮命中率趋势折线
修复第三方上游(GLM / WorkBuddy 等 OpenAI Chat 兼容网关)长会话 prompt cache 命中率从约 95% 塌到约 33% 的问题:每轮把大量本可命中的内容按未缓存重算,既慢又多耗额度。同时给 Codex 顶栏用量面板加了逐轮命中率趋势可视化。
- 根因与修复:tool 输出折叠每轮给同一条历史工具输出重新生成随机
artifact_id,折叠进历史的消息跨轮字节不稳定,打断上游按 messages 前缀做的缓存。改为按内容确定性生成(call_id+ kind + 原文 SHA-256)+ 落盘 UPSERT 幂等:同一输出跨轮 / 跨进程恒得同一 id、同内容不再每轮插新行(顺带治tool_artifacts.db膨胀),折叠消息跨轮字节稳定,命中率恢复到接近原生。原生 ChatGPT 走 Responses 透传不受影响。 - 命中率趋势:用量面板底部
缓存命中 X%可点,正下方弹固定宽度浮层显示当前对话逐轮命中率折线(左轴刻度 + 折线);轮数变化只改折线疏密、宽度恒定,点外部 / Esc / 滚动即关。 - 稳健性:关面板 / 升级重装注入脚本时一并回收浮层监听与残留节点,不在 Codex 页面泄漏。
验证:adapters / usage_tracker / 注入器单测全绿,fmt / clippy 干净,3 个审查 agent 复核。
English
Third-party prompt cache hit-rate collapse fix + per-turn hit-rate trend line in Codex
Fixes a bug where the prompt cache hit rate on third-party upstreams (GLM / WorkBuddy and other OpenAI-Chat-compatible gateways) collapsed from ~95% to ~33% in long conversations, re-billing large amounts of cacheable content as uncached (slower and costlier). Also adds a per-turn hit-rate trend to the Codex usage panel.
- Root cause and fix: tool-output folding regenerated a random
artifact_idfor the same historical output every turn, making the folded history message byte-unstable and breaking the upstream prefix-based cache. It is now derived deterministically from content (call_id+ kind + SHA-256 of the raw output) with an idempotent UPSERT on persistence: the same output always maps to the same id across turns/processes and identical content no longer inserts a new row each turn (also curbingtool_artifacts.dbgrowth). Folded messages are byte-stable across turns and hit rates recover to near-native. Native ChatGPT (Responses passthrough) is unaffected. - Hit-rate trend: the
Cache hit X%entry at the bottom of the usage panel is now clickable and opens a fixed-width popover below it with the conversation's per-turn hit-rate line (left-axis ticks + polyline); more turns only make the line denser while width stays constant, closing on outside-click / Esc / scroll. - Robustness: turning the panel off or reinstalling the injection on upgrade now cleans up the popover's global listeners and leftover nodes so nothing leaks into the Codex page; cumulative total and trend series are read in a single disk pass, adding no per-tick cost.
Verification: adapters / usage_tracker / injector unit tests all green, fmt / clippy clean, reviewed by 3 audit agents.
v2.4.2
Codex App Transfer v2.4.2
中文
WorkBuddy 多账号池 + 配额守护自动切换 + 反应式失败转移
为 workbuddy-login provider 增加多账号池能力:单 provider 下登录多个账号,配额守护自动切换,每账号独立设备指纹隔离风控,对 Codex 透明。
- 多账号池:同一
workbuddy-loginprovider 下登录多个账号组成池,每账号独立X-Device-Id(避免网关风控关联多账号同设备);账号列表显示脱敏手机号(如183****5600)替代不可读 uid,可手动设为当前 / 移除。 - 配额守护:后台每 ≥60s 查各账号
get-user-resource剩余积分,某账号总剩余低于阈值(默认 20,设置项可调)即标记耗尽、自动 sticky 切到下一个有额度账号;独立于额度面板开关,面板关也跑;全耗尽兜底选最快解禁账号。 - 反应式失败转移:选中账号 refresh token 被网关拒或凭证丢失时,标记 5min 退避并重试池里下一个账号;配额守护遇 401/403 标记 1h 退避。两条路径闭环,单账号失效不再撞死整个池。
- 迁移:老单文件
workbuddy-oauth.json+ 全局workbuddy-device-id首次启动自动迁移为池首账号,无缝。
验证:cargo test gemini_oauth 147 + src-tauri 292 全绿;vue-tsc --noEmit 0 错;CI 全绿;3 轮 code review 意见全部 resolved。
English
WorkBuddy multi-account pool + quota-guard auto-switch + reactive failover
Adds multi-account pool support for workbuddy-login: multiple accounts under one provider, automatic quota-guard switching, per-account device-fingerprint isolation, transparent to Codex.
- Multi-account pool: log into multiple accounts under one
workbuddy-loginprovider, each with an independentX-Device-Id(avoids gateway risk-control correlating accounts on the same device); the account list shows masked phone numbers (e.g.183****5600) instead of unreadable uids, with manual set-active / remove. - Quota guard: a background task (≥60s throttle) queries each account's
get-user-resourceremaining credits; when an account's total remaining drops below the threshold (default 20, configurable) it is marked exhausted and the sticky selector auto-switches to the next account with quota; independent of the quota-panel toggle, runs even when the panel is off; when all are exhausted it falls back to the soonest-unblocking account. - Reactive failover: when the selected account's refresh token is rejected or its credential is lost, it is marked with a 5min backoff and the next pool account is tried; the quota guard marks 1h backoff on 401/403. Both paths close the loop so a single dead account no longer stalls the whole pool.
- Migration: the legacy single-file
workbuddy-oauth.json+ globalworkbuddy-device-idauto-migrate into the pool's first account on first launch, seamlessly.
Verification: cargo test gemini_oauth 147 + src-tauri 292 all green; vue-tsc --noEmit 0 errors; CI all green; 3 rounds of code review all resolved.
v2.4.1
Codex App Transfer v2.4.1
中文
Antigravity 接入 superpowers 强约束插件 + GLM 等 reasoning 档位在新版 Codex 恢复显示 + Codex 草稿暂存 + Trae 登录
本版接入 Antigravity superpowers 强约束插件,修复新版 Codex 砍掉 GLM 等思考档显示的回归,新增草稿暂存与 Trae 登录。
- Antigravity superpowers 强约束插件:把 obra/superpowers 完整接入 Antigravity(Gemini),约束其 coding 时超范围 / 假完成;隐藏开关
antigravitySuperpowersEnabled默认开,检测到自装则关。 - GLM 等 reasoning 档位恢复显示(MOC-285):Codex 26.623 新增
enabled-reasoning-efforts(默认不含 none / max),把 GLM 等的 none / max 砍成 Medium。app 启动 Codex 前把隐藏档并入持久 atom(只增不删),还原显示。 - Codex 草稿暂存:输入框旁 push / pop + Usage 面板下方暂存面板,临时存取未发送输入。
- Trae 账号登录:Trae provider OAuth 登录 + 额度查看,每账号设备指纹隔离。
- 修复:GLM 文本款(glm-5.2)漏判视觉致含图会话(view_image 截图)卡死,现按版本谓词剥图(#563);小米 MiMo 预设 apiFormat 改
responses;cas_校验消除间歇 401;依赖升级。
验证
cargo test --workspace/cargo fmt --all -- --check/cargo clippy全绿;CI 全绿- MOC-285 真机手测:重启 Codex 后 glm-5.2 选择器恢复 None / Max
- GLM 含图会话真机手测:#563 修复后卡死会话恢复可继续
English
Antigravity gains the superpowers constraint plugin + GLM reasoning tiers display again on new Codex + Codex draft stash + Trae login
This release adds the superpowers constraint plugin for Antigravity, fixes the new Codex regression hiding GLM-style thinking tiers, and adds a Codex draft stash and Trae login.
- Antigravity superpowers plugin: integrates obra/superpowers into the Antigravity (Gemini) provider to rein in scope-exceeding / fake-completion behavior; hidden toggle
antigravitySuperpowersEnabledon by default, off if a user install is detected. - GLM reasoning tiers display again (MOC-285): Codex 26.623 added
enabled-reasoning-efforts(default excludes none / max), collapsing the none / max tiers of GLM and others to Medium. Before each Codex launch the app unions those hidden tiers into the persisted atom (adds only), restoring the native display. - Codex draft stash: a push / pop stash next to the composer plus a stash panel below the Usage panel.
- Trae login: OAuth login and quota viewing for the Trae provider, with per-account device-fingerprint isolation.
- Fixes: GLM text models (glm-5.2) were misclassified as vision, hanging image-bearing conversations (view_image screenshots) — now stripped via a version predicate (#563); Xiaomi MiMo preset apiFormat switched to
responses; thecas_format is validated defensively, eliminating intermittent 401s; dependency bumps.
Verification
cargo test --workspace/cargo fmt --all -- --check/cargo clippyall green; CI green- MOC-285 manual: after restarting Codex the glm-5.2 picker shows None / Max again
- GLM image conversation manual test: the stuck conversation continues again after #563
v2.4.0
Codex App Transfer v2.4.0
中文
新增 OpenCode Go 供应商 + OpenCode / Kimi Code 网页套餐额度 + 额度框架重构
本版新增 OpenCode Go 预设供应商,为 OpenCode Go 与 Kimi Code 接入网页控制台套餐额度,把多 provider 额度统一成三槽模型与共用 web-session 框架,并打磨供应商编辑页。
- 新增 OpenCode Go 供应商:
opencode.ai/zen/go/v1(openai_chat),涵盖 GLM / Kimi / DeepSeek / MiMo 系编程模型;附官方图标。 - OpenCode Go 套餐额度:用量面板显 5 小时 / 每周 / 每月三档剩余%(编辑页「登录 OpenCode」抓控制台 session + workspace id,daemon 解析
/workspace/<id>/goSSR)。 - Kimi Code 套餐额度:
kimi-code(api.kimi.com/coding)显套餐用量,鉴权用控制台 localStorageaccess_token(「登录 Kimi」+ 注入 JS cookie 桥抓取),daemon 调 connect-RPCMembershipService/GetSubscriptionStat。 - 额度框架重构:统一成 5h/周/月三槽
RollingWindows;MiMo / OpenCode / Kimi 共用web_session_quota(网页登录抓 session → 查控制台用量),新增同类 provider 只需填规格 + 写 fetcher。 - 供应商编辑页:获取模型时过滤走
/messages(Anthropic)端点的模型(OpenCode Go 的 MiniMax / Qwen 系)+ 持久提示;API Key 框加显示 / 隐藏按钮。
验证
cargo test --workspace(249 通过)、cargo fmt --all -- --check- 多 agent code-review(xhigh):修复 cookie 误删 / daemon panic / 残缺 session / MiMo cookie 回归 4 项
- 真机手测:OpenCode Go 三档 + Kimi Code 套餐用量面板;两者内嵌登录抓取
English
New OpenCode Go provider + OpenCode / Kimi Code web-console quota + quota framework refactor
Adds the OpenCode Go preset provider, wires web-console plan quota for OpenCode Go and Kimi Code, and unifies multi-provider quota into a three-slot model with a shared web-session framework.
- New OpenCode Go provider:
opencode.ai/zen/go/v1(openai_chat), covering the GLM / Kimi / DeepSeek / MiMo coding models; ships its official icon. - OpenCode Go quota: the panel shows 5-hour / weekly / monthly remaining % ("Sign in to OpenCode" captures the console session + workspace id; the daemon parses the
/workspace/<id>/goSSR). - Kimi Code quota:
kimi-code(api.kimi.com/coding) shows plan usage, authed via the console's localStorageaccess_token("Sign in to Kimi" + an injected-JS cookie bridge), with the daemon calling connect-RPCMembershipService/GetSubscriptionStat. - Quota framework refactor: unified into a 5h/weekly/monthly three-slot
RollingWindows; MiMo / OpenCode / Kimi share aweb_session_quotaframework, so a new same-kind provider only needs a spec + a fetcher. - Provider edit page: fetching models filters out
/messages(Anthropic) endpoint models (OpenCode Go's MiniMax / Qwen) with a persistent notice; the API Key field gains a show / hide button.
Verification
cargo test --workspace(249 passing),cargo fmt --all -- --check- Multi-agent code-review (xhigh): fixed 4 issues — cookie-wipe, daemon panic, partial session, MiMo cookie regression
- Manual: OpenCode Go three-window + Kimi Code plan-usage panels; embedded sign-in for both
v2.3.4
Codex App Transfer v2.3.4
中文
多 Provider 额度与推理打磨 + 协议 adapter 收敛 + 联网统一
本版扩展多 Provider 额度 / 推理档,把 responses 透传纳入统一 adapter 框架,统一联网工具,并修复 archive 背景异常。
- Provider 额度与推理档 (MOC-211 / MOC-244 / MOC-241):用量面板新增多 Provider 额度(GLM / MiMo / DeepSeek / anyrouter);Kimi(Moonshot)PAYG 账户余额(对齐 DeepSeek);GLM 等思考模型在 reasoning 选择器显示原生两档
none/max。 - 协议 adapter 收敛 (MOC-234 / MOC-243 / MOC-11):
responses ↔ responses透传纳入统一 adapter 框架(1:1 直透,移除 direct);Gemini compact 摘要排除 thought + V2prev_id重建历史;compact 路径剥离历史 reasoning items 省 input budget。 - 联网统一 (MOC-208):移除所有第三方 Provider 原生
web_search,统一走自研联网工具。 - 工具 / 性能 / 兼容 (MOC-235 / MOC-232 / MOC-214 / MOC-96):新增通用工具输出回取
read_tool_artifact;上下文 breakdown 的 o200k 计算移出转发关键路径;rollout reader 支持.jsonl.zst压缩检测;app 内 HTTP client 补connect_timeout基线。 - UX 与修复 (MOC-106 / MOC-247):MCP server / 文档写配置前二次确认;修复 archive 页背景注入显示异常(选择器漂移致主面板半透明、hover 撕裂)。
验证
cargo test --workspacecargo fmt --all -- --check- 真机手测:额度面板 / archive 背景;chat、compact、联网、antigravity(gemini)
English
Multi-provider quota & reasoning polish + protocol adapter consolidation + unified web search
Extends multi-provider quota / reasoning, brings responses passthrough into the unified adapter framework, unifies web search, and fixes the archive-page background anomaly.
- Provider quota & reasoning tiers (MOC-211 / MOC-244 / MOC-241): the usage panel adds multi-provider quota (GLM / MiMo / DeepSeek / anyrouter); Kimi (Moonshot) PAYG account balance (aligned with DeepSeek); GLM and other thinking models show their native
none/maxtiers in the picker. - Protocol adapter consolidation (MOC-234 / MOC-243 / MOC-11):
responses ↔ responsespassthrough joins the unified adapter framework (1:1 direct, direct mode removed); Gemini compact excludes thought + rebuilds history via V2prev_id; the compact path strips historical reasoning items to save budget. - Unified web search (MOC-208): removes every third-party provider's native
web_searchin favor of the in-house web tool. - Tools / perf / compat (MOC-235 / MOC-232 / MOC-214 / MOC-96): adds a tool-output retrieval tool
read_tool_artifact; moves the context-breakdown o200k compute off the forwarding hot path; the rollout reader detects.jsonl.zstcompression; the in-app HTTP client gains a baselineconnect_timeout. - UX & fixes (MOC-106 / MOC-247): confirm before MCP server / doc config writes; fix the archive-page background injection anomaly (selector drift left the main panel translucent, tearing on hover).
Verification
cargo test --workspacecargo fmt --all -- --check- Manual: quota panel / archive background; chat, compact, web search, antigravity (gemini)
v2.3.3
Codex App Transfer v2.3.3
中文
新增 Codex 内置 Usage 用量面板 + 上游兼容打磨
本版新增 Codex Desktop 内置 Usage 用量面板与 Claude 风格上下文 by-source 明细下拉,并修正 gemini 工具重打包精度、回退冗余的 chat preamble 注入。
- Usage 面板 (MOC-204 / MOC-230):Codex
Toggle pinned summary弹窗底部注入可折叠Usage分区(5 小时 / 每周额度、上下文、Tokens 实时速率与累计、缓存命中率,设置默认关);累计 / 缓存 / 速率按 React fiber 当前conversationId取数,切对话不串号、解析不到显—。 - 上下文 by-source 明细下拉 (MOC-231):上下文行 caret 展开分类明细(工具调用与输出 / 推理 / 开发者指令 / 对话消息 / 工具定义 / 系统提示),proxy 用
o200k_base逐 item 计数、按对话 uuid 持久化重启即用,占比按权威used缩放对齐。 - gemini 工具重打包精度 (MOC-88):
custom_tool_call重打包从 name-only 改为按请求注册的type:custom判定,防撞名误 repack 并支持 apply_patch 外的 custom 工具(latent,无可见变化)。 - 回退 preamble + 杂项 (MOC-219 / MOC-229):Codex 26.609.41114 自行恢复工具轮间思考渲染,回退 PR #458 chat preamble 注入;移除失效的上下文圆环开关。
验证
cargo test --workspacecargo fmt --all -- --check- 真机手测:Usage 面板额度 / 明细下拉 / 切对话隔离;chat 与 antigravity(gemini)路径
English
New built-in Usage panel inside Codex + upstream compatibility polish
Adds a built-in Usage panel inside Codex Desktop's pinned-summary popup with a Claude-style per-source context breakdown dropdown, and fixes gemini tool-repack precision while reverting the now-redundant chat preamble injection.
- Usage panel (MOC-204 / MOC-230): injects a collapsible
Usagesection at the bottom of Codex'sToggle pinned summarypopup (5-hour / weekly quota, context, real-time + cumulative tokens, cache hit rate; off by default); cumulative / cache / rate key to the activeconversationIdfrom the React fiber, so switching conversations no longer cross-contaminates and shows—when unresolved. - Per-source context breakdown dropdown (MOC-231): a caret on the context row expands a breakdown (tool calls & output / reasoning / developer instructions / conversation messages / tool definitions / system prompt), counted by the proxy with
o200k_base, persisted per conversation uuid for instant reload, scaled to the authoritativeused. - gemini tool-repack precision (MOC-88):
custom_tool_callrepack moves from name-only to the request-registeredtype:customcheck, preventing mis-repack on name collisions and supporting custom tools beyond apply_patch (latent, no visible change). - Revert preamble + misc (MOC-219 / MOC-229): Codex 26.609.41114 restored inter-tool reasoning rendering, so PR #458's chat preamble injection is reverted; the dead context-ring toggle is removed.
Verification
cargo test --workspacecargo fmt --all -- --check- Manual: Usage panel quota / breakdown dropdown / conversation isolation; chat and antigravity (gemini) paths
v2.3.2
Codex App Transfer v2.3.2
中文
联网搜索与 antigravity 增强 + 新版 Codex 兼容修复
新增智谱 GLM Coding preset 与 antigravity 原生出图,联网搜索开箱可用并升级双引擎,修复新版 Codex 多项兼容问题。
- 智谱 GLM Coding 内置 preset:适配 GLM Coding Plan 订阅专属端点
/api/coding/paas/v4,注入 Claude Code UA;原开放平台 preset 并存。 - antigravity 增强 (MOC-210 / MOC-221 / MOC-217):Codex 内置
image_gen原生出图;gemini context window 兜底 258k 修正为真实 1M,auto-compact 不再过早触发;适配tool_searchbuiltin,恢复 MCP 工具暴露。 - 联网搜索增强 (MOC-215 / MOC-227):
web_fetch_backend默认 auto,内置联网工具开箱可用;web_search 改 DDG+Bing 并行合并去重,新增web_search_more翻页工具;移除 web_fetch 摘要兜底及 summaryModel 配置整链。 - 新版 Codex 兼容 (MOC-219 / MOC-218):修 26.609 工具轮间无文本全折叠,chat 路径节流注入 preamble(纯文本回答改为整段一次性出现);gemini
thoughtSignature改存本地缓存,reasoning item 出 wire 不带 content,修切真 GPT 两连 400。 - 主题对话区可读性 (MOC-225):
#root升 3 层复合 scrim,11 套主题按壁纸亮度逐套校准。 - 杂项:Usage 统计时区/精度/缓存打磨 (MOC-19);重复 system 指令块 wire 级去重 (MOC-193);release notes 文件发版门禁 (MOC-66)。
验证
cargo test --workspace- 真机手测:web_fetch 全文返回、antigravity
image_gen出图、GLM Coding preset 连通 - Codex 26.609 真机验证工具轮间文本渲染
English
Web search and antigravity upgrades + new Codex compatibility fixes
Adds the Zhipu GLM Coding preset and native antigravity image generation, makes built-in web search work out of the box, and fixes newer-Codex issues.
- Zhipu GLM Coding built-in preset: targets the GLM Coding Plan subscription endpoint
/api/coding/paas/v4with a Claude Code UA; the open-platform preset coexists. - antigravity upgrades (MOC-210 / MOC-221 / MOC-217): built-in
image_gennow generates images natively; gemini context window fallback corrected from 258k to 1M;tool_searchbuiltin adapted, restoring MCP tool visibility. - Web search upgrades (MOC-215 / MOC-227):
web_fetch_backenddefaults to auto; web_search merges DDG and Bing in parallel with dedup, plusweb_search_morepagination; the web_fetch summary fallback and summaryModel chain are removed. - New Codex compatibility (MOC-219 / MOC-218): fixes 26.609 collapsing tool-only turns via throttled preamble injection; gemini
thoughtSignaturemoves to a local cache and reasoning items drop wire content, fixing 400s when switching to a real GPT account. - Theme readability (MOC-225): 3-layer composite
#rootscrim, all 11 themes calibrated per wallpaper brightness. - Misc: usage stats timezone/precision/caching polish (MOC-19); wire-level dedup of repeated system instruction blocks (MOC-193); release-notes file gate (MOC-66).
Verification
cargo test --workspace- Manual: web_fetch full text, antigravity
image_gen, GLM Coding preset connectivity - Tool-turn text rendering verified on Codex 26.609
v2.3.1
Codex App Transfer v2.3.1
中文
新版 Codex Desktop 思考显示修复 + 多项稳定性增强
修复新版 Codex Desktop(v26.608+)升级后第三方模型思考过程整段不显示,并补齐 v2.3.0 之后合入的多项功能。
- 思考过程不显示 (MOC-203):新版渲染读 reasoning 的 content 通道(
reasoning_text)而非旧 summary 通道。gemini_native/ chat 改为双发两通道兼容新旧版、剥**Thinking**头;开工具前先闭合 reasoning 修事件交错丢思考,交错思考重开新 item,gemini 修同轮工具折叠空白行。 - remote compaction v2 (MOC-198):新版 autocompact 改发普通
/responses+compaction_trigger标记,此前代理不识别导致expected exactly one compaction output item挂死;新增双轨检测、按协议包装 compaction SSE 流,四大 mapper 适配。 - apply_patch 中间层 (MOC-194):第三方模型畸形 V4A patch 按白名单恢复成合法格式再发 Codex,非破坏性、未知原样透过。
- 强杀自愈 (MOC-197):
kill -9后残留sandbox_mode致 GPT 账号无法对话,重启自动还原 stale 快照、拍快照过滤残留防污染基线。 - antigravity 指纹 (MOC-67) + 残留面板新增显示重复字段的只读入口 + macOS 15+ Gatekeeper 文档修正。
- 依赖升级:
windows0.62、tokio-tungstenite0.29、dom_query0.28、dom_smoothie0.18。
验证
cargo test -p codex-app-transfer-adapterscargo test -p codex-app-transfer --bin codex-app-transfer- 运行中 Codex v26.608 真机验证 reasoning 双通道显示
English
Reasoning display fix for new Codex Desktop + stability improvements
Fixes third-party reasoning blocks disappearing after upgrading to Codex Desktop v26.608+, plus features merged after v2.3.0.
- Reasoning not shown (MOC-203): new Codex reads the reasoning content channel (
reasoning_text), not the old summary channel.gemini_native/ chat now dual-emit both channels and strip the**Thinking**header; reasoning is closed before tool calls to fix interleaving, a new item reopens for interleaved thinking, and gemini fixes tool-folding blank lines. - remote compaction v2 (MOC-198): new autocompact sends a normal
/responseswith acompaction_triggermarker; the proxy previously hung withexpected exactly one compaction output item. Added dual-track detection wrapping the compaction SSE per Codex v2. - apply_patch middle layer (MOC-194): malformed V4A patches from third-party models are recovered to valid format before reaching Codex, non-destructive, unknown forms passed through.
- kill-9 self-heal (MOC-197): leftover
sandbox_modeafter a hard kill broke GPT accounts; restore now heals stale snapshots and filters residue when snapshotting. - antigravity fingerprint (MOC-67) + residual-scan read-only show-duplicate-fields entry + macOS 15+ Gatekeeper doc fix.
- Dependency bumps:
windows0.62,tokio-tungstenite0.29,dom_query0.28,dom_smoothie0.18.
Verification
cargo test -p codex-app-transfer-adapterscargo test -p codex-app-transfer --bin codex-app-transfer- Real-device Codex v26.608 check of dual-channel reasoning display
v2.3.0
Codex App Transfer v2.3.0
中文
web_fetch 综合能力重做:默认返回全文 + 本地回看 + 历史压缩
web_fetch 此前强制把抓到的正文喂第三方总结子模型摘要,综合能力堪忧:精确信息被弱模型改写、前置条件脆弱、与 web_search 两段式割裂。
本版改为默认直接返回完整正文(主模型自己读),摘要降为 summarize=true 显式 opt-in;adapter 配套当前轮全文、历史压缩,新增 read_url_local 让模型从本地缓存回看历史抓过的 URL。
本版改动:
web_fetch默认返回完整正文,不再分页 /offset翻页 /query选块;summarize=true才走摘要(opt-in)。- adapter 保留当前轮(本次新产生那组,一轮可调多工具)所有 tool 输出全文,更早历史压缩;current 与 cached 按合并后末尾连续 tool 组区分。
- 新增
read_url_local(url),从进程内缓存取回历史 URL 完整正文;initialize用 server 级 instructions 引导优先回看而非重抓。 - 修
curl/wreq未解压 gzip / brotli 响应导致的乱码,补gzip/brotli/deflate/zstd解压 feature。 web_searchmax_results默认 8 到 15、上限 20 到 30;cat-webfetchserverInfo.icons用本应用图标。
验证
cargo test -p codex-app-transfer-adapterscargo test -p codex-app-transfer --bin codex-app-transfer mcp_webfetch_servercargo test -p codex-app-transfer-http- CI cf-canary real network 验证解压 feature 不破 ClientHello 指纹
English
web_fetch overhaul: full text by default, local re-read, history compaction
web_fetch used to force every fetched page through a third-party summary model, which hurt quality: precise content got rewritten, preconditions were fragile, and it broke the web_search to web_fetch flow.
This release returns the full extracted text by default (the main model reads it), with summarization demoted to an explicit summarize=true option; the adapter keeps the current turn full and compacts history, and a new read_url_local tool re-reads a previously fetched URL from the local cache.
Changes in this release:
web_fetchreturns full text by default, no pagination /offset/querychunk selection;summarize=trueopts into the summary model.- The adapter keeps the whole current-turn group of tool outputs full (a turn may call multiple tools) and compacts earlier history; current vs cached is split by the trailing consecutive tool group after merge.
- New
read_url_local(url)reads a previously fetched URL from the in-process cache;initializeships server-level instructions to prefer re-reading over re-fetching. - Fixed garbled output from
curl/wreqnot decompressing gzip / brotli responses, by enabling thegzip/brotli/deflate/zstddecode features. web_searchmax_resultsdefault 8 to 15, cap 20 to 30; cat-webfetchserverInfo.iconsuses the app icon.
Verification
cargo test -p codex-app-transfer-adapterscargo test -p codex-app-transfer --bin codex-app-transfer mcp_webfetch_server- CI cf-canary real network for decode-feature fingerprint safety