npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

codexfast

v0.14.0

Published

Enable Fast mode, GPT-5.5, /fast, Speed menu, and Plugins in OpenAI Codex.app for custom API users on macOS.

Readme

codexfast - 为 OpenAI Codex.app 开启 Fast mode、GPT-5.5 和 Plugins

English README

一个面向 OpenAI Codex.app 的 macOS patch 脚本,用于在已验证兼容的版本上重新启用被隐藏的 custom API 能力。

codexfast 是一个面向 macOS custom API 用户的 OpenAI Codex.app 单文件 patcher,用来恢复被隐藏的 Fast mode 能力,包括 Settings 里的 Fast 设置项、输入框 /fast 命令、composer 里的 Speed 菜单、必要版本上的 GPT-5.5 模型列表兼容,以及 Plugins 入口。

  • Fast 设置项(Settings 中)
  • /fast 输入框命令
  • Speed 子菜单(composer 中)
  • GPT-5.5 模型列表兼容(仅在受支持版本仍需要时)
  • Plugins 入口(custom API 用户可用)
npx codexfast

已验证兼容:Codex.app 26.506.31421build 2620)、26.506.21252build 2575)、26.429.61741build 2429)、26.429.30905build 2345)、26.429.20946build 2312)、26.422.71525build 2210)、26.422.62136build 2180、2176)、26.422.30944build 2080)、26.422.21637build 2056)、26.417.41555build 1858)和 26.415.40636build 1799)。能力定义见 docs/feature-scope.md

作用

脚本在安装好的 Codex.app 上提供这些菜单动作:

  1. 查看当前状态 — 检查版本、目标文件,以及当前是否可以安全打补丁
  2. 开启 custom API 相关能力 — 恢复上面列出的能力集合
  3. 恢复原始状态 — 回退到原始应用 bundle
  4. 安装自动修复 watcher — Codex 更新并替换 app.asar 后,在受支持版本上自动重新应用补丁
  5. 卸载自动修复 watcher — 移除 launchd watcher

打补丁流程:解包 app.asar,改写前端资源,重新打包,更新 Info.plist 中的 ElectronAsarIntegrity hash,再做一次本地 ad-hoc 重签名,保持 Codex.app 可以正常启动。

原理

Codex.app 打包后的前端 bundle 里本来就包含 Fast、/fast、Speed、模型列表和 Plugins 相关 UI 路径,但其中一部分路径会因为 custom API 用户的本地 gate 判断而被隐藏或禁用。codexfast 不新增后端服务,也不调用 OpenAI 私有 API;它只在已验证兼容的版本上修改本机安装的 app bundle。

脚本会先从 Info.plist 读取当前安装的 app version 和 build,只有精确命中严格兼容白名单时才允许 apply。对于受支持版本,它会把 Contents/Resources/app.asar 解包到临时目录,在 webview/assets/*.js 里搜索稳定的功能锚点,再用窄范围代码签名替换移除 custom API gate,或强制打开对应的本地 UI 可用性标记。

需要解包再重新打包,是因为 Codex 把 renderer 代码放在 Electron 的 app.asar 归档里;如果直接把散文件放到 Contents/Resources/app,会让 app 处在非标准布局,也容易和之后的自动更新冲突。codexfast 只在临时目录里解包处理,最终替换的仍然是打包后的 app.asar

替换归档前,脚本会保留恢复路径:app.asar1 归档级备份,以及重新打包 bundle 内的 *.codexfast.bak 文件级备份。重新打包后,它会更新 Info.plist 里的 Electron ASAR integrity hash。由于修改 app.asar 会让原始代码签名失效,脚本随后会执行本地 ad-hoc codesign,让 macOS 可以启动被修改后的 app。这个本地签名可以通过 codesign 校验,但会替换原厂 notarization,因此屏幕录制等 macOS 隐私权限可能需要重新授权。Restore 会按顺序优先使用归档备份,其次使用文件备份,最后再尝试内联恢复规则。

使用方式

仅支持 macOS。需要:Codex.app 安装在 /Applications,命令行可用 Node.js >=18.12.0npm 和系统自带的 codesign

运行 patcher:

npx codexfast

或在本仓库里直接运行:

./bin/codexfast

查看帮助或当前包版本:

npx codexfast help
npx codexfast version

脚本会打开一个交互菜单:

1) View current status
2) Enable custom API features
3) Restore original state
4) Install auto-repair watcher
5) Uninstall auto-repair watcher
q) Quit

这些动作也可以用非交互命令直接执行:statusapplyrestoreinstall-watcheruninstall-watcher

命令说明

| 命令 | 用途 | | --- | --- | | npx codexfast status | 检查当前安装的 Codex.app,显示检测到的版本、build、兼容性状态和各 patch 目标状态,不修改 app。 | | npx codexfast apply | 对兼容 build 应用当前支持的补丁集合,创建备份,刷新 Electron ASAR integrity,本地 ad-hoc 重签名,并重置屏幕录制权限记录。 | | npx codexfast restore | 先移除已安装的 auto-repair watcher,再通过备份或内联恢复规则还原 vendor bundle,必要时重新签名,并在恢复成功后重置屏幕录制权限记录。 | | npx codexfast install-watcher | 安装当前用户的 macOS launchd auto-repair watcher,监听 app.asar,在受支持的 Codex 更新后运行最新发布版的 repair。 | | npx codexfast uninstall-watcher | 删除 auto-repair watcher 的 plist 和本地 watcher runtime。这个清理命令不依赖一个健康的 Codex.app 安装。 |

查看状态

先选择 1) View current status。状态检查会读取当前安装的 Codex.app,显示检测到的版本和 build,告诉你兼容性是否为 supported,并列出 app bundle 里找到的 patch 目标。

每次 Codex 更新后都先跑一次查看状态。如果兼容性不是 supported,不要在这个版本上开补丁。

开启功能

当状态显示当前 build 已支持时,选择 2) Enable custom API features。这会开启当前支持的能力集合:

  • Settings 里的 Fast 控制项
  • composer 里的 /fast slash command
  • composer 里的 Speed 菜单
  • 必要版本上的 GPT-5.5 模型列表兼容
  • custom API 用户的 Plugins 入口

第一次开启时脚本会创建备份,更新 app.asar,刷新 Electron ASAR integrity hash,并执行本地 ad-hoc 重签名。由于重签名会改变 macOS 隐私权限识别应用时使用的身份,apply 会重置 Codex.app 的屏幕录制权限记录。脚本完成后重启 Codex.app,并在 macOS 提示时允许“屏幕与系统音频录制”。

关闭或恢复

选择 3) Restore original state 可以关闭补丁。恢复流程会先移除已安装的 auto-repair watcher,再优先把 Codex.app 回滚到备份的原始 vendor bundle,必要时重新签名。恢复成功并重签名后,脚本也会重置 Codex.app 的屏幕录制权限记录,让 macOS 在下次启动时重新询问。

排查问题、测试新的 Codex 更新,或想回到官方原始行为时,都可以先执行恢复。如果恢复后还想继续自动修复,请再显式安装 watcher。

自动修复 watcher

选择 4) Install auto-repair watcher,或运行:

npx codexfast install-watcher

这会安装一个当前用户的 macOS launchd agent:~/Library/LaunchAgents/com.codexfast.watcher.plist。它会监听 /Applications/Codex.app/Contents/Resources/app.asar,当 Codex 更新替换这个归档后,自动运行 npx --yes codexfast@latest repair

watcher 只有在新安装的 version/build 已经命中严格兼容白名单时才会应用补丁。不支持的 build 会静默跳过,并保持 app 不变。

repair 是幂等的。如果 Codex 已经处在 patched 状态,它会报告不需要修改,并保持 app.asarInfo.plist 和应用签名不变,因此 watcher 不会因为自己的修复写入而循环触发。若 Codex 已经在运行,磁盘上的归档被修复后,需要完全退出并重新打开 Codex,前端 bundle 才会重新加载。

移除 watcher:

npx codexfast uninstall-watcher

兼容性

本脚本不走官方 API,而是通过匹配前端打包产物的代码特征做补丁,Codex 更新后可能失效。

  • 已验证版本:Codex.app 26.506.31421build 2620
  • 已验证版本:Codex.app 26.506.21252build 2575
  • 已验证版本:Codex.app 26.429.61741build 2429
  • 已验证版本:Codex.app 26.429.30905build 2345
  • 已验证版本:Codex.app 26.429.20946build 2312
  • 已验证版本:Codex.app 26.422.71525build 2210
  • 已验证版本:Codex.app 26.422.62136build 2180、2176
  • 已验证版本:Codex.app 26.422.30944build 2080
  • 已验证版本:Codex.app 26.422.21637build 2056
  • 已验证版本:Codex.app 26.417.41555build 1858
  • 已验证版本:Codex.app 26.415.40636build 1799
  • 开启动作 只允许在白名单里的 version/build 上执行
  • 自动修复 遇到不支持的 version/build 也会静默跳过,并且不会修改 app
  • 查看状态恢复 在任何版本都可用
  • GPT-5.5 模型列表补丁只在仍需要兼容补丁的受支持版本上注入 UI catalog 项。Codex.app 26.422.30944 及之后的版本预期已经通过官方 app 路径展示 GPT-5.5,因此 codexfast 会从 26.422.30944 起跳过这个 apply 目标;你的 custom API provider 仍然必须支持 gpt-5.5
  • Plugins 会移除受支持版本上打开 Plugins 侧边栏和页面路径所需的 custom API gate;在 26.429.2094626.429.3090526.429.6174126.506.2125226.506.31421 上也会移除安装按钮的聚合 connector-unavailable 阻断,并保留安装弹窗中的插件详情。插件实际行为仍可能取决于插件状态、connector 运行时行为或管理侧限制

每次 Codex 更新后都建议重新跑一次 查看当前状态

备份与恢复

第一次开启时会留下两份备份:

  • app.asar1 — 归档级备份(原始 bundle)
  • *.codexfast.bak — 文件级回退备份。恢复流程也会识别早期版本留下的旧 *.speed-setting.bak 后缀。

恢复 会先移除 auto-repair watcher,再优先使用 app.asar1,其次 .bak,最后尝试按内联规则恢复。Codex 未来的自动更新可能覆盖补丁状态。

本地 ad-hoc 重签名能通过 codesign 完整性校验,但会替换原本的厂商 notarization。spctl --assessrejected 是预期现象,验证签名请使用 codesign --verify --deep --strict --verbose=2 /Applications/Codex.app

故障排查

脚本一启动就失败 — 确认 /Applications/Codex.app 是否存在,再跑一下 node -v 是否为 18.12.0 或更高版本、npm -vcodesign -h

自动重签名失败(macOS 拒绝写入) — 手动执行:

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

macOS 反复提示想要录制此电脑的屏幕和音频 — apply 和 restore 会在重签名后重置屏幕录制权限记录。请完全退出 Codex.app,重新打开,并在系统设置提示中允许“屏幕与系统音频录制”。

找不到目标文件 / 版本不被支持 — 不要继续,也不要手动改 bundle。当前构建可能需要重新适配。

Plugins 已可见但某个具体插件仍无法使用 — 请先跑 查看当前状态。在 26.429.2094626.429.3090526.429.6174126.506.21252 上,Plugin install availability enabled 表示顶层 connector-unavailable 安装阻断已被 patch,Plugin install modal content enabled 表示安装弹窗空详情卡片的 gate 已被 patch;剩余失败通常来自插件状态、connector 运行时行为或管理侧限制。

GPT-5.5 已可见但请求失败 — UI 项已经存在,但你的 custom API provider 仍需接受 model: "gpt-5.5"

Codex.app 在之前异常脚本运行后无法打开(残留 Resources/app 或错误的 integrity hash):

  1. 删除 /Applications/Codex.app/Contents/Resources/app
  2. app.asar1 改回 app.asar
  3. 重新打开 Codex.app

开源协议

MIT。见 LICENSE