Codex++
给 ChatGPT Codex 桌面 app 加一层 tweak 系统,不重新打包应用就能注入自定义功能、修 UI、装第三方扩展。思路类似 Vencord 之于 Discord。
它干嘛的
ChatGPT 的 Codex 桌面客户端是闭源 Electron app,官方没开放插件接口。Codex++ 给本地的 Codex.app 打一个一次性补丁,让它启动时先加载一个 loader——之后所有的 tweak(小型 ESM 模块)都住在用户目录里,启停不需要再动 app bundle 本身。
思路类似 Vencord 之于 Discord:给一个闭源桌面 app 开一扇侧门,社区写小模块,每个用户按需开关。
安装时它做了什么
跑 codexplusplus install 之后:
- 找到本地的 Codex(macOS 在
/Applications,Windows 是 Microsoft Store 包) - 备份原 app 到
~/.codex-plusplus/backup/ - 改写
app.asar入口指向 Codex++ loader - 重算 asar 的 SHA-256 塞进
Info.plist,让 Electron 的 asar 完整性校验通过 - macOS 上用本机生成的 "Codex++ Local Signing" 身份重签 app
- 装一个 launch agent / login item,Codex 官方更新覆盖补丁后自动重打
之后 runtime 和 tweaks 全部住在:
- macOS:
~/Library/Application Support/codex-plusplus/ - Linux:
$XDG_DATA_HOME/codex-plusplus/ - Windows:
%APPDATA%/codex-plusplus/
改 tweak 就是改文件然后重载,不再碰 app bundle。
tweak 长什么样
一个 tweak 是用户目录下 tweaks/<id>/ 文件夹,至少两个文件:
json// manifest.json { "id": "com.you.my-tweak", "name": "My Tweak", "version": "0.1.0", "githubRepo": "you/my-tweak", "minRuntime": "0.1.0" }
ts// index.ts import type { Tweak } from "@codex-plusplus/sdk"; export default { start(api) { api.settings.register({ id: "my-tweak", title: "My Tweak", render: (root) => { root.innerHTML = `<button>hi</button>`; }, }); }, stop() {}, } satisfies Tweak;
装完之后 Codex 的设置里多一个 "Tweaks" tab,逐个开关、配置。manifest 里必须写 githubRepo,Codex++ 每天去 Releases 拉一次更新检查——但不自动更新 tweak 本体,只在 UI 里标 Update Available,链子直接跳到 GitHub Release 让用户自己看 diff、自己替换。
谁用得上
- 重度用 Codex 桌面端,UI 上有自己想改的地方
- 写过 Vencord / Userscript / Electron 注入类项目,想给 Codex 也搞一套
- 能接受"动官方签名 + 本机重签"这件事
边界 / 注意
- 非官方项目,跟 OpenAI 没关系,改 Codex.app 会让官方签名失效
- macOS 第一次启动需要手动放行本机签名
- 修改桌面 app 可能违反 Codex 的使用条款,自己评估风险
- Beta 状态,Sparkle 自动更新会覆盖补丁——它装了一个看门进程会自动重打,但万一打架仍可能需要
codexplusplus repair救一下 - 想官方更新 Codex 时跑
codexplusplus update-codex,它会先把官方签名还原回去 - 默认装了两个官方 tweak:自定义键位、UI 改进;想干净点用
--no-default-tweaks
上手
Homebrew(macOS):
shbrew install b-nnett/codex-plusplus/codexplusplus codexplusplus install
源码 bootstrap(macOS / Linux):
shcurl -fsSL https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.sh | bash
Windows PowerShell:
powershellirm https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.ps1 | iex
回退:
shcodexplusplus uninstall
更多命令:status、doctor、repair、update、update-codex、create-tweak、validate-tweak、dev、safe-mode。