返回项目

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 之后:

  1. 找到本地的 Codex(macOS 在 /Applications,Windows 是 Microsoft Store 包)
  2. 备份原 app 到 ~/.codex-plusplus/backup/
  3. 改写 app.asar 入口指向 Codex++ loader
  4. 重算 asar 的 SHA-256 塞进 Info.plist,让 Electron 的 asar 完整性校验通过
  5. macOS 上用本机生成的 "Codex++ Local Signing" 身份重签 app
  6. 装一个 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):

sh
brew install b-nnett/codex-plusplus/codexplusplus
codexplusplus install

源码 bootstrap(macOS / Linux):

sh
curl -fsSL https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.sh | bash

Windows PowerShell:

powershell
irm https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.ps1 | iex

回退:

sh
codexplusplus uninstall

更多命令:statusdoctorrepairupdateupdate-codexcreate-tweakvalidate-tweakdevsafe-mode

语言

TypeScript

分类

Vibe Coding

许可证

MIT

更新时间

5/21/2026

标签

Codextweak插件系统桌面客户端Electron
~/安装方式

# install-brew

$brew install b-nnett/codex-plusplus/codexplusplus
$codexplusplus install

# install-curl

$curl -fsSL https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.sh | bash

# install-windows

$irm https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.ps1 | iex

# uninstall

$codexplusplus uninstall

# usage

$codexplusplus status
$codexplusplus repair
$codexplusplus update
$codexplusplus update-codex