codex app 开启 fast 模式 (使用中转站的方案)

2026-04-29 08:532阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

目前 codex app 是不会去读取 ~/.codex/config.toml 中的 service_tier 配置的。

同时 codex app 显示 fast 的行为取决于: 登录 openai + statsig_default_enable_features(AB Test 放量)

就目前而言,看起来 statsig_default_enable_features 的放量是 100%。

codex app 是不可能既登录又使用中转站的 api key 的,所以这就是为什么,很多人在使用 codex app 时,看不见 fast 的选项。

解决方案(仅介绍 macOS,Windows 同理):

# 进入 app 目录 cd /Applications/Codex.app/Contents/Resources # 解压 app.asar npx @electron/asar e ./app.asar app # 重命名,以便让 electron 优先读取 app,而不是 app.asar mv ./app.asar ./app.asar1

修改 webview/assets/general-settings-CyhRPSTM.js 文件,如果此文件没找到,请寻找其他以 general-settings 开头的 js 文件。

CleanShot 2026-03-19 at 14.16.262738×296 108 KB

然后修改 function Dt() 函数的返回值,将其改为 true 即可(图中的选择r 改为 true)。如下 diff

- function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(`statsig_default_enable_features`),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],r} + function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(`statsig_default_enable_features`),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],true}

修改完成后,再执行下面的命令,来关闭其所有的 electron fuses 的保护:

npx @electron/fuses write --app /Applications/Codex.app GrantFileProtocolExtraPrivileges=off npx @electron/fuses write --app /Applications/Codex.app EnableCookieEncryption=off npx @electron/fuses write --app /Applications/Codex.app OnlyLoadAppFromAsar=off npx @electron/fuses write --app /Applications/Codex.app EnableEmbeddedAsarIntegrityValidation=off

最后进行强制签名,避免无法打开:

codesign --force --deep --sign - /Applications/Codex.app

重新打开后,就可以在 codex app 设置页面看到 fast 了,如:

CleanShot 2026-03-19 at 14.22.133422×1940 393 KB

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

网友解答:
--【壹】--:

我解决了,方法在我的帖子里vscode里面codex插件开启fast最新方法
希望对后来看到的人有帮助


--【贰】--:

原来如此,试着给vscode插件改了一下。
%USERPROFILE%.vscode\extensions\openai.chatgpt-26.318.11754-win32-x64\webview\assets\general-settings-B6cN6-IR.js
找到statsig_default_enable_features所在的函数做对应修改,重启vscode,完美~
fast615×237 13.4 KB


--【叁】--:

感觉速度没有提升!我看了一下claude code hub!不知道是不是我个人的问题!


--【肆】--:

我没问题啊,但只有5.4fast。。。。


--【伍】--:

我是直接让codex自己去分析的。。可能不太稳定吧,搞不太懂


--【陆】--:

感谢大佬分享得方案,如果我想用到其它ai比如droid上,如何处理呀。请求头要设置啥嘛。


--【柒】--:

还能这样,有用的知识增加了,希望官方早点支持


--【捌】--:

额,玩坏了。。直接启动不了了,还是老老实实用普通模式吧


--【玖】--: 翼若垂云:

statsig_default_enable_features

佬友,我修改了,还是没有,对了,我openai.chatgpt-xxxxxxx-win32-x64这个类型的文件夹我有两个,一个文件夹里面有这个参数,另一个文件夹没有这个参数,我只把有这个参数的文件修改了,但是重启还是没有这个speed选项


--【拾】--: Kevin Cui:

# 进入 app 目录 cd /Applications/Codex.app/Contents/Resources # 解压 app.asar npx @electron/asar e ./app.asar app # 重命名,以便让 electron 优先读取 app,而不是 app.asar mv ./app.asar ./app.asar1

手动执行完这三步,然后把修改文件内容发给codex,一路yes,他自己就把自己改好了
image568×472 40.7 KB

image2518×1382 226 KB

看设置描述,其实只是提速1.5倍,并不是很快,但是消耗要用两倍的使用量


--【拾壹】--:

有用,厉害哦


--【拾贰】--:

问一下,只有5.4有fast是正常的吗。。


--【拾叁】--:

太强了,今天太晚了,明天高低要试一试!!


--【拾肆】--:

强啊佬,请问free号池按这个方法改完上了fast有用吗


--【拾伍】--:

哇是哈雷我们有救了!


--【拾陆】--:

当时我直接给他rebuild了
GitHub - Haleclipse/CodexDesktop-Rebuild: Codex Desktop App - Cross-platform Rebuild · GitHub

写个CI基本上能自动化更新 (懒) (摊)

已经实现 开始躺平


--【拾柒】--:

我用着感觉不出来啥区别,好像耗时都差不多


--【拾捌】--:

可以试一下下面的脚本

#!/bin/bash set -euo pipefail APP_PATH="${CODEX_APP_PATH:-/Applications/Codex.app}" RESOURCES_DIR="$APP_PATH/Contents/Resources" APP_ASAR="$RESOURCES_DIR/app.asar" APP_ASAR_BACKUP="$RESOURCES_DIR/app.asar.fastmode.bak" UNPACKED_DIR="$RESOURCES_DIR/app" red() { printf '\033[31m%s\033[0m\n' "$*"; } green() { printf '\033[32m%s\033[0m\n' "$*"; } yellow() { printf '\033[33m%s\033[0m\n' "$*"; } blue() { printf '\033[36m%s\033[0m\n' "$*"; } require_cmd() { if ! command -v "$1" >/dev/null 2>&1; then red "缺少依赖命令: $1" exit 1 fi } confirm() { local prompt="${1:-确认继续?}" local answer read -r -p "$prompt [y/N]: " answer [[ "$answer" =~ ^([yY][eE][sS]|[yY])$ ]] } is_codex_running() { pgrep -x "Codex" >/dev/null 2>&1 } restart_app() { require_cmd open require_cmd pgrep require_cmd sleep if [[ ! -d "$APP_PATH" ]]; then red "未找到 Codex.app,请通过环境变量 CODEX_APP_PATH 指定路径" exit 1 fi if is_codex_running; then blue "正在关闭 Codex.app" osascript -e 'tell application "Codex" to quit' >/dev/null 2>&1 || true local waited=0 while is_codex_running && [[ "$waited" -lt 15 ]]; do sleep 1 waited=$((waited + 1)) done if is_codex_running; then yellow "Codex.app 未在预期时间内退出,将继续尝试重新打开" fi fi blue "正在启动 Codex.app" open "$APP_PATH" green "已触发 Codex.app 重启" } find_target_js() { find "$UNPACKED_DIR/webview/assets" -type f -name 'general-settings*.js' 2>/dev/null | head -n 1 } is_patched_file() { local target_file="${1:-}" [[ -n "$target_file" ]] || return 1 grep -Eq ',true\}|if\(!1\)return null;|if\(false\)return null;' "$target_file" 2>/dev/null } print_paths() { blue "应用路径: $APP_PATH" blue "资源目录: $RESOURCES_DIR" blue "备份路径: $APP_ASAR_BACKUP" } status() { print_paths if [[ ! -d "$APP_PATH" ]]; then red "未找到 Codex.app" return 1 fi if [[ -f "$APP_ASAR_BACKUP" ]]; then green "已检测到原始 app.asar 备份" else yellow "未检测到原始 app.asar 备份" fi if [[ -d "$UNPACKED_DIR" ]]; then green "已检测到解包目录: $UNPACKED_DIR" else yellow "未检测到解包目录" fi local target_js target_js="$(find_target_js || true)" if [[ -n "$target_js" ]]; then blue "配置文件: $target_js" if is_patched_file "$target_js"; then green "fast 模式补丁: 已应用" else yellow "fast 模式补丁: 未应用" fi else yellow "未找到 general-settings*.js,可能尚未解包或版本结构已变化" fi } patch_js_file() { local target_file="$1" if is_patched_file "$target_file"; then yellow "目标文件已处于补丁状态,跳过 JS 修改" return 0 fi # 兼容旧版帖子中的布尔判断写法。 perl -0pi -e 's/:r=e\[2\],r\}/:r=e[2],true\}/g' "$target_file" if is_patched_file "$target_file"; then green "已命中旧版 fast 模式补丁规则" return 0 fi # 兼容当前版本的功能门控写法:直接去掉 Speed 设置项的提前返回。 perl -0pi -e 's/if\(!n\)return null;/if(!1)return null;/g' "$target_file" if is_patched_file "$target_file"; then green "已命中当前版本的 fast 模式补丁规则" return 0 fi red "JS 补丁未生效,当前版本的代码结构可能已变化" exit 1 } write_fuses() { require_cmd npx local fuse for fuse in \ GrantFileProtocolExtraPrivileges=off \ EnableCookieEncryption=off \ OnlyLoadAppFromAsar=off \ EnableEmbeddedAsarIntegrityValidation=off do blue "写入 fuse: $fuse" npx @electron/fuses write --app "$APP_PATH" "$fuse" done } resign_app() { require_cmd codesign blue "重新签名 Codex.app" codesign --force --deep --sign - "$APP_PATH" } apply_patch_flow() { print_paths require_cmd find require_cmd perl require_cmd mv require_cmd rm if [[ ! -d "$APP_PATH" ]]; then red "未找到 Codex.app,请通过环境变量 CODEX_APP_PATH 指定路径" exit 1 fi if [[ ! -d "$RESOURCES_DIR" ]]; then red "未找到资源目录: $RESOURCES_DIR" exit 1 fi if [[ ! -d "$UNPACKED_DIR" ]]; then if [[ ! -f "$APP_ASAR" ]]; then red "未找到 app.asar,无法自动解包" exit 1 fi require_cmd npx blue "开始解包 app.asar" npx @electron/asar extract "$APP_ASAR" "$UNPACKED_DIR" fi if [[ -f "$APP_ASAR" && ! -f "$APP_ASAR_BACKUP" ]]; then blue "创建原始包备份" mv "$APP_ASAR" "$APP_ASAR_BACKUP" fi local target_js target_js="$(find_target_js || true)" if [[ -z "$target_js" ]]; then red "未找到 general-settings*.js,当前版本可能不兼容" exit 1 fi blue "应用 JS 补丁: $target_js" patch_js_file "$target_js" write_fuses resign_app green "补丁已完成。重新启动 Codex.app 后,可在设置页检查是否出现 fast 选项。" } restore() { print_paths require_cmd rm require_cmd mv if [[ ! -f "$APP_ASAR_BACKUP" ]]; then red "未找到备份文件,无法恢复" exit 1 fi if [[ -d "$UNPACKED_DIR" ]]; then blue "删除解包目录" rm -rf "$UNPACKED_DIR" fi if [[ -f "$APP_ASAR" ]]; then blue "删除当前 app.asar" rm -f "$APP_ASAR" fi blue "恢复原始 app.asar" mv "$APP_ASAR_BACKUP" "$APP_ASAR" resign_app green "已恢复原始包。" } interactive_menu() { print_paths printf '\n' echo "请选择操作:" echo " 1) 查看状态" echo " 2) 应用 fast 模式补丁" echo " 3) 恢复原始文件" echo " 4) 立即重启 Codex.app" echo " 5) 退出" printf '\n' local choice read -r -p "输入序号: " choice case "$choice" in 1) status ;; 2) confirm "即将修改 Codex.app,并重签名,是否继续?" || exit 0 apply_patch_flow confirm "补丁完成,是否立即自动重启 Codex.app?" && restart_app ;; 3) confirm "即将恢复原始 app.asar,是否继续?" || exit 0 restore confirm "恢复完成,是否立即自动重启 Codex.app?" && restart_app ;; 4) restart_app ;; 5) exit 0 ;; *) red "无效选项"; exit 1 ;; esac } main() { case "${1:-interactive}" in status) status ;; apply) apply_patch_flow ;; restore) restore ;; restart) restart_app ;; interactive) interactive_menu ;; *) echo "用法:" echo " $0 # 交互模式" echo " $0 status # 查看状态" echo " $0 apply # 应用补丁" echo " $0 restore # 恢复原始包" echo " $0 restart # 重启 Codex.app" echo echo "可选环境变量:" echo " CODEX_APP_PATH=/Applications/Codex.app" exit 1 ;; esac } main "$@"


--【拾玖】--:

现在已经找不到这块代码了 - function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(statsig_default_enable_features),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],r}

  • function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(statsig_default_enable_features),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],true}
问题描述:

目前 codex app 是不会去读取 ~/.codex/config.toml 中的 service_tier 配置的。

同时 codex app 显示 fast 的行为取决于: 登录 openai + statsig_default_enable_features(AB Test 放量)

就目前而言,看起来 statsig_default_enable_features 的放量是 100%。

codex app 是不可能既登录又使用中转站的 api key 的,所以这就是为什么,很多人在使用 codex app 时,看不见 fast 的选项。

解决方案(仅介绍 macOS,Windows 同理):

# 进入 app 目录 cd /Applications/Codex.app/Contents/Resources # 解压 app.asar npx @electron/asar e ./app.asar app # 重命名,以便让 electron 优先读取 app,而不是 app.asar mv ./app.asar ./app.asar1

修改 webview/assets/general-settings-CyhRPSTM.js 文件,如果此文件没找到,请寻找其他以 general-settings 开头的 js 文件。

CleanShot 2026-03-19 at 14.16.262738×296 108 KB

然后修改 function Dt() 函数的返回值,将其改为 true 即可(图中的选择r 改为 true)。如下 diff

- function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(`statsig_default_enable_features`),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],r} + function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(`statsig_default_enable_features`),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],true}

修改完成后,再执行下面的命令,来关闭其所有的 electron fuses 的保护:

npx @electron/fuses write --app /Applications/Codex.app GrantFileProtocolExtraPrivileges=off npx @electron/fuses write --app /Applications/Codex.app EnableCookieEncryption=off npx @electron/fuses write --app /Applications/Codex.app OnlyLoadAppFromAsar=off npx @electron/fuses write --app /Applications/Codex.app EnableEmbeddedAsarIntegrityValidation=off

最后进行强制签名,避免无法打开:

codesign --force --deep --sign - /Applications/Codex.app

重新打开后,就可以在 codex app 设置页面看到 fast 了,如:

CleanShot 2026-03-19 at 14.22.133422×1940 393 KB

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

网友解答:
--【壹】--:

我解决了,方法在我的帖子里vscode里面codex插件开启fast最新方法
希望对后来看到的人有帮助


--【贰】--:

原来如此,试着给vscode插件改了一下。
%USERPROFILE%.vscode\extensions\openai.chatgpt-26.318.11754-win32-x64\webview\assets\general-settings-B6cN6-IR.js
找到statsig_default_enable_features所在的函数做对应修改,重启vscode,完美~
fast615×237 13.4 KB


--【叁】--:

感觉速度没有提升!我看了一下claude code hub!不知道是不是我个人的问题!


--【肆】--:

我没问题啊,但只有5.4fast。。。。


--【伍】--:

我是直接让codex自己去分析的。。可能不太稳定吧,搞不太懂


--【陆】--:

感谢大佬分享得方案,如果我想用到其它ai比如droid上,如何处理呀。请求头要设置啥嘛。


--【柒】--:

还能这样,有用的知识增加了,希望官方早点支持


--【捌】--:

额,玩坏了。。直接启动不了了,还是老老实实用普通模式吧


--【玖】--: 翼若垂云:

statsig_default_enable_features

佬友,我修改了,还是没有,对了,我openai.chatgpt-xxxxxxx-win32-x64这个类型的文件夹我有两个,一个文件夹里面有这个参数,另一个文件夹没有这个参数,我只把有这个参数的文件修改了,但是重启还是没有这个speed选项


--【拾】--: Kevin Cui:

# 进入 app 目录 cd /Applications/Codex.app/Contents/Resources # 解压 app.asar npx @electron/asar e ./app.asar app # 重命名,以便让 electron 优先读取 app,而不是 app.asar mv ./app.asar ./app.asar1

手动执行完这三步,然后把修改文件内容发给codex,一路yes,他自己就把自己改好了
image568×472 40.7 KB

image2518×1382 226 KB

看设置描述,其实只是提速1.5倍,并不是很快,但是消耗要用两倍的使用量


--【拾壹】--:

有用,厉害哦


--【拾贰】--:

问一下,只有5.4有fast是正常的吗。。


--【拾叁】--:

太强了,今天太晚了,明天高低要试一试!!


--【拾肆】--:

强啊佬,请问free号池按这个方法改完上了fast有用吗


--【拾伍】--:

哇是哈雷我们有救了!


--【拾陆】--:

当时我直接给他rebuild了
GitHub - Haleclipse/CodexDesktop-Rebuild: Codex Desktop App - Cross-platform Rebuild · GitHub

写个CI基本上能自动化更新 (懒) (摊)

已经实现 开始躺平


--【拾柒】--:

我用着感觉不出来啥区别,好像耗时都差不多


--【拾捌】--:

可以试一下下面的脚本

#!/bin/bash set -euo pipefail APP_PATH="${CODEX_APP_PATH:-/Applications/Codex.app}" RESOURCES_DIR="$APP_PATH/Contents/Resources" APP_ASAR="$RESOURCES_DIR/app.asar" APP_ASAR_BACKUP="$RESOURCES_DIR/app.asar.fastmode.bak" UNPACKED_DIR="$RESOURCES_DIR/app" red() { printf '\033[31m%s\033[0m\n' "$*"; } green() { printf '\033[32m%s\033[0m\n' "$*"; } yellow() { printf '\033[33m%s\033[0m\n' "$*"; } blue() { printf '\033[36m%s\033[0m\n' "$*"; } require_cmd() { if ! command -v "$1" >/dev/null 2>&1; then red "缺少依赖命令: $1" exit 1 fi } confirm() { local prompt="${1:-确认继续?}" local answer read -r -p "$prompt [y/N]: " answer [[ "$answer" =~ ^([yY][eE][sS]|[yY])$ ]] } is_codex_running() { pgrep -x "Codex" >/dev/null 2>&1 } restart_app() { require_cmd open require_cmd pgrep require_cmd sleep if [[ ! -d "$APP_PATH" ]]; then red "未找到 Codex.app,请通过环境变量 CODEX_APP_PATH 指定路径" exit 1 fi if is_codex_running; then blue "正在关闭 Codex.app" osascript -e 'tell application "Codex" to quit' >/dev/null 2>&1 || true local waited=0 while is_codex_running && [[ "$waited" -lt 15 ]]; do sleep 1 waited=$((waited + 1)) done if is_codex_running; then yellow "Codex.app 未在预期时间内退出,将继续尝试重新打开" fi fi blue "正在启动 Codex.app" open "$APP_PATH" green "已触发 Codex.app 重启" } find_target_js() { find "$UNPACKED_DIR/webview/assets" -type f -name 'general-settings*.js' 2>/dev/null | head -n 1 } is_patched_file() { local target_file="${1:-}" [[ -n "$target_file" ]] || return 1 grep -Eq ',true\}|if\(!1\)return null;|if\(false\)return null;' "$target_file" 2>/dev/null } print_paths() { blue "应用路径: $APP_PATH" blue "资源目录: $RESOURCES_DIR" blue "备份路径: $APP_ASAR_BACKUP" } status() { print_paths if [[ ! -d "$APP_PATH" ]]; then red "未找到 Codex.app" return 1 fi if [[ -f "$APP_ASAR_BACKUP" ]]; then green "已检测到原始 app.asar 备份" else yellow "未检测到原始 app.asar 备份" fi if [[ -d "$UNPACKED_DIR" ]]; then green "已检测到解包目录: $UNPACKED_DIR" else yellow "未检测到解包目录" fi local target_js target_js="$(find_target_js || true)" if [[ -n "$target_js" ]]; then blue "配置文件: $target_js" if is_patched_file "$target_js"; then green "fast 模式补丁: 已应用" else yellow "fast 模式补丁: 未应用" fi else yellow "未找到 general-settings*.js,可能尚未解包或版本结构已变化" fi } patch_js_file() { local target_file="$1" if is_patched_file "$target_file"; then yellow "目标文件已处于补丁状态,跳过 JS 修改" return 0 fi # 兼容旧版帖子中的布尔判断写法。 perl -0pi -e 's/:r=e\[2\],r\}/:r=e[2],true\}/g' "$target_file" if is_patched_file "$target_file"; then green "已命中旧版 fast 模式补丁规则" return 0 fi # 兼容当前版本的功能门控写法:直接去掉 Speed 设置项的提前返回。 perl -0pi -e 's/if\(!n\)return null;/if(!1)return null;/g' "$target_file" if is_patched_file "$target_file"; then green "已命中当前版本的 fast 模式补丁规则" return 0 fi red "JS 补丁未生效,当前版本的代码结构可能已变化" exit 1 } write_fuses() { require_cmd npx local fuse for fuse in \ GrantFileProtocolExtraPrivileges=off \ EnableCookieEncryption=off \ OnlyLoadAppFromAsar=off \ EnableEmbeddedAsarIntegrityValidation=off do blue "写入 fuse: $fuse" npx @electron/fuses write --app "$APP_PATH" "$fuse" done } resign_app() { require_cmd codesign blue "重新签名 Codex.app" codesign --force --deep --sign - "$APP_PATH" } apply_patch_flow() { print_paths require_cmd find require_cmd perl require_cmd mv require_cmd rm if [[ ! -d "$APP_PATH" ]]; then red "未找到 Codex.app,请通过环境变量 CODEX_APP_PATH 指定路径" exit 1 fi if [[ ! -d "$RESOURCES_DIR" ]]; then red "未找到资源目录: $RESOURCES_DIR" exit 1 fi if [[ ! -d "$UNPACKED_DIR" ]]; then if [[ ! -f "$APP_ASAR" ]]; then red "未找到 app.asar,无法自动解包" exit 1 fi require_cmd npx blue "开始解包 app.asar" npx @electron/asar extract "$APP_ASAR" "$UNPACKED_DIR" fi if [[ -f "$APP_ASAR" && ! -f "$APP_ASAR_BACKUP" ]]; then blue "创建原始包备份" mv "$APP_ASAR" "$APP_ASAR_BACKUP" fi local target_js target_js="$(find_target_js || true)" if [[ -z "$target_js" ]]; then red "未找到 general-settings*.js,当前版本可能不兼容" exit 1 fi blue "应用 JS 补丁: $target_js" patch_js_file "$target_js" write_fuses resign_app green "补丁已完成。重新启动 Codex.app 后,可在设置页检查是否出现 fast 选项。" } restore() { print_paths require_cmd rm require_cmd mv if [[ ! -f "$APP_ASAR_BACKUP" ]]; then red "未找到备份文件,无法恢复" exit 1 fi if [[ -d "$UNPACKED_DIR" ]]; then blue "删除解包目录" rm -rf "$UNPACKED_DIR" fi if [[ -f "$APP_ASAR" ]]; then blue "删除当前 app.asar" rm -f "$APP_ASAR" fi blue "恢复原始 app.asar" mv "$APP_ASAR_BACKUP" "$APP_ASAR" resign_app green "已恢复原始包。" } interactive_menu() { print_paths printf '\n' echo "请选择操作:" echo " 1) 查看状态" echo " 2) 应用 fast 模式补丁" echo " 3) 恢复原始文件" echo " 4) 立即重启 Codex.app" echo " 5) 退出" printf '\n' local choice read -r -p "输入序号: " choice case "$choice" in 1) status ;; 2) confirm "即将修改 Codex.app,并重签名,是否继续?" || exit 0 apply_patch_flow confirm "补丁完成,是否立即自动重启 Codex.app?" && restart_app ;; 3) confirm "即将恢复原始 app.asar,是否继续?" || exit 0 restore confirm "恢复完成,是否立即自动重启 Codex.app?" && restart_app ;; 4) restart_app ;; 5) exit 0 ;; *) red "无效选项"; exit 1 ;; esac } main() { case "${1:-interactive}" in status) status ;; apply) apply_patch_flow ;; restore) restore ;; restart) restart_app ;; interactive) interactive_menu ;; *) echo "用法:" echo " $0 # 交互模式" echo " $0 status # 查看状态" echo " $0 apply # 应用补丁" echo " $0 restore # 恢复原始包" echo " $0 restart # 重启 Codex.app" echo echo "可选环境变量:" echo " CODEX_APP_PATH=/Applications/Codex.app" exit 1 ;; esac } main "$@"


--【拾玖】--:

现在已经找不到这块代码了 - function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(statsig_default_enable_features),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],r}

  • function Dt(){let e=(0,J.c)(3),{authMethod:t}=R(),[n]=b(statsig_default_enable_features),r;return e[0]!==t||e[1]!==n?.fast_mode?(r=n?.fast_mode===!0&&Ot(t),e[0]=t,e[1]=n?.fast_mode,e[2]=r):r=e[2],true}