Windows端的codex desktop开启fast模式(使用中转站api,无登录)

Windows端的codex desktop开启fast模式(使用中转站api,无登录)
Windows端的codex desktop开启fast模式(使用中转站api,无登录)

原理来自

codex app 开启 fast 模式 (使用中转站的方案) 开发调优
照着大佬的提示,AI 几轮对话就操作成功了,关键信息: [image] 要一步到位开启 Codex App 的 Speed/Fast,不是只改 general-settings。新版关键在两个 bundle:先解包 app.asar,把 model-queries*.js 里的 useHiddenModels:!1 改成 useHiddenModels:!0,再把 permissions-m…

由于个人的菜逼技术水平搞不定Windows Store/MSIX 包的包完整性和权限保护, 所以干脆直接复制整个 app 目录到随便自定义一个顺手的位置,然后在复制出来的 app\resources\app.asar 上做补丁,最后直接从复制目录里的 Codex.exe 启动;这样就不用不像参考里的 macOS 方案那样有明显的 Electron asar integrity 元数据要删,可以不管包完整性校验

当前版本相关 bundle 文件在 app.asar (“C:\Program Files\WindowsApps\OpenAI.Codex_26.601.2237.0_x64__2p2nqsd0c76g0\app\resources\app.asar”)内部,主要是这几个:

webview/assets/model-queries-iC47Vo-S.js
webview/assets/models-and-reasoning-efforts-YEaF8us5.js
webview/assets/use-service-tier-settings-DFXPADNF.js
webview/assets/read-service-tier-for-request-BJ8QN0Q7.js

1. 打开 hidden model 默认开关

文件:

webview/assets/model-queries-iC47Vo-S.js

目标字符串:

useHiddenModels:!1

修改为:

useHiddenModels:!0

作用:让前端默认进入可使用 hidden models 的逻辑分支。


2. 解除模型列表 allowlist 过滤

文件:

webview/assets/models-and-reasoning-efforts-YEaF8us5.js

目标字符串:

s?t.has(n.model):!n.hidden

原逻辑含义是:

  • 如果 useHiddenModels 为真,只显示 availableModels allowlist 里的模型;
  • 否则只显示非 hidden 模型。

需要把这个判断改成“已返回的模型都允许进入列表”。

我使用的是等长替换,例如把整段替换成一个恒真表达式加注释填充:

!0/*xxxxxxxxxxxxxxxxxxxx*/

注意:这里必须保持字节长度一致。原字符串长度是 26 字节,替换后也必须是 26 字节。

作用:让 list-models-for-host 返回的 hidden models 能实际显示到模型列表里。


3. 解除 Fast/Speed UI feature gate

文件:

webview/assets/use-service-tier-settings-DFXPADNF.js

目标字符串:

f=a&&!u&&c!=null&&c?.requirements?.featureRequirements?.fast_mode!==!1

原逻辑含义是:

  • 只有 authMethod === chatgpt
  • 并且 requirements 没有禁用 fast_mode
  • 才允许显示/使用 service tier 相关 UI。

需要改成恒真赋值,例如:

f=!0/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

同样必须等长。原字符串长度是 70 字节,替换后也必须是 70 字节。

作用:让设置页和 composer 中的 Speed/Fast 选项不被前端 feature gate 隐藏。


4. 解除请求层 service tier gate

文件:

webview/assets/read-service-tier-for-request-BJ8QN0Q7.js

目标字符串:

return n===`chatgpt`?(await e.query.fetch(c,{authMethod:n,hostId:t})).requirements?.featureRequirements?.fast_mode!==!1:!1

原逻辑含义是:

  • 只有 chatgpt auth 才读取 fast_mode requirement;
  • 非 chatgpt auth 直接返回 false;
  • 这会导致 UI 即使选了 Fast,请求层也可能不带 Fast service tier。

需要改成恒真返回,例如:

return !0/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

原字符串长度是 122 字节,替换后也必须是 122 字节。

作用:确保请求层不会把 service tier 降回 standard。


此方案目前只在Windows Store/MSIX 版 Codex Desktop:“26.601.2237.0”中生效过

可以将本篇文章直接丢给 AI,让其进行操作

3 个帖子 - 3 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文