codex-plusplus README

The project's README from github.com/b-nnett/codex-plusplus. As one markdown file: README.md.

Codex++

Codex++ lets you install local tweaks into the OpenAI Codex desktop app. Tweaks can change UI, add settings pages, run main-process code, and use native OS-level features through the Codex++ bridge. Join the Discord community.

Codex++ settings screenshot

Unofficial project. Not affiliated with OpenAI. Use at your own risk.

TL;DR

Codex++ patches your local Codex app so Codex loads a small Codex++ runtime on startup.

That runtime lives in your user data directory, not inside Codex. It finds tweaks in a local tweaks/ folder and loads them when Codex opens.

The app patch is tiny. Your tweaks, config, logs, backups, and runtime files stay outside the app bundle, so you can edit tweaks without rebuilding Codex.

When Codex updates, the patch is usually removed. Codex++ installs a watcher that notices this and re-applies the patch.

1.0.0 adds cleaner patching, better debug output, Owl runtime detection, browser-host debugging, and native bridge support for AppKit, Metal, helper processes, and tweak-owned native modules.

Table Of Contents

Install

Agentic install, from Codex:

Inspect and install this for me: https://github.com/b-nnett/codex-plusplus
Tell me where you install it and send me the local path for adding new tweaks.

Homebrew:

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

GitHub source installer:

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

Windows PowerShell:

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

Bun:

bun install -g github:b-nnett/codex-plusplus
codexplusplus install

After install, launch Codex normally. Open Settings and look for the Codex++ section.

What Codex++ Is

Codex++ is a tweak loader for Codex Desktop.

It gives you:

It does not replace Codex, proxy your account, or run a separate Codex clone. It modifies your installed app so it can load local code.

How It Works

Install flow:

  1. Codex++ finds your Codex app.
  2. It backs up the unpatched app files.
  3. It patches Codex app.asar so a Codex++ loader runs first.
  4. It stages the Codex++ runtime in your user data directory.
  5. It re-signs the app when needed.
  6. It installs a watcher for future Codex updates.

Runtime flow:

  1. You launch Codex.
  2. The Codex++ loader starts.
  3. The loader starts the Codex++ runtime from disk.
  4. Codex starts normally.
  5. Codex++ discovers enabled tweaks.
  6. Renderer tweaks run in Codex windows.
  7. Main-process tweaks run in the Codex main process.
  8. The Settings UI shows Codex++ pages and tweak controls.

Common Commands

Command What it does
codexplusplus install Patch Codex and install the runtime.
codexplusplus status Show installed version and patch state.
codexplusplus debug Show app path, runtime type, paths, open state, and bridge status.
codexplusplus repair Re-apply the patch after an app update or broken install.
codexplusplus update Update Codex++ from the latest GitHub release.
codexplusplus update-codex Prepare Codex for its official updater, then re-patch after restart.
codexplusplus doctor Diagnose signatures, integrity, permissions, and common failures.
codexplusplus safe-mode Disable all tweaks without deleting them.
codexplusplus safe-mode --off Leave safe mode.
codexplusplus uninstall Remove Codex++ and restore the app when safe.
codexplusplus uninstall --purge Also delete tweaks, config, logs, backups, and Codex++ user data.

Tweak development commands:

Command What it does
codexplusplus create-tweak ./my-tweak Create a new tweak folder.
codexplusplus validate-tweak ./my-tweak Validate a tweak manifest and entry file.
codexplusplus dev ./my-tweak Link a local tweak into Codex++ for development.

Source checkout commands:

npm run build
npm test
node packages/installer/dist/cli.js install
node packages/installer/dist/cli.js debug

Where Files Live

Codex++ keeps almost everything outside Codex.

Item Location
Loader patch Inside Codex app.asar
Runtime <user-data-dir>/runtime/
Tweaks <user-data-dir>/tweaks/
Tweak data <user-data-dir>/tweak-data/
Config <user-data-dir>/config.json
State <user-data-dir>/state.json
Logs <user-data-dir>/log/
Backups <user-data-dir>/backup/

Default user data paths:

OS Path
macOS ~/Library/Application Support/codex-plusplus/
Windows %APPDATA%/codex-plusplus/
Linux $XDG_DATA_HOME/codex-plusplus/ or ~/.local/share/codex-plusplus/

On Windows Store installs, Codex++ also creates a writable managed app copy under %LOCALAPPDATA%/codex-plusplus/store-apps/. Use the Codex++ shortcut for that copy.

Writing Tweaks

A tweak is a folder with a manifest and an entry file:

my-tweak/
  manifest.json
  index.js

Minimal manifest.json:

{
  "id": "com.you.my-tweak",
  "name": "My Tweak",
  "version": "0.1.0",
  "githubRepo": "you/my-tweak",
  "description": "Adds a Codex++ settings page.",
  "scope": "renderer",
  "main": "index.js"
}

Minimal index.js:

module.exports = {
  start(api) {
    api.settings.registerPage({
      id: "main",
      title: api.manifest.name,
      render(root) {
        root.textContent = "Hello from Codex++.";
      },
    });
  },
  stop() {},
};

Local dev loop:

codexplusplus create-tweak ./my-tweak --id com.you.my-tweak --name "My Tweak"
codexplusplus validate-tweak ./my-tweak
codexplusplus dev ./my-tweak

Full docs are in Writing Tweaks.

Owl And Native Bridge

Current macOS Codex builds use Owl: a native app shell with Chromium and an Electron-compatible JavaScript runtime.

Codex++ 1.0.0 detects Owl and reports capability status through:

codexplusplus debug

Tweak authors should use the Codex++ SDK, not raw Owl internals:

Native bridge support includes:

Start with Native Bridge.

Browser Host Mode

Browser host mode opens the Codex React UI in a normal browser tab while a hidden Codex window provides the private app bridge:

codexplusplus browser --port 8765

Then open:

http://127.0.0.1:8765/

This is useful for debugging and browser automation. It is experimental. The in-app browser uses iframe shims in this mode, so some websites may block embedding.

Updates And Recovery

Update Codex++:

codexplusplus update

Run the official Codex updater on macOS:

codexplusplus update-codex

Repair Codex++:

codexplusplus repair --force

Disable tweaks temporarily:

codexplusplus safe-mode

Re-enable normal tweak loading:

codexplusplus safe-mode --off

Uninstall:

codexplusplus uninstall

Clean uninstall, including tweaks/config/logs/backups:

codexplusplus uninstall --purge

Security

Codex++ runs local code inside your Codex desktop app. Install tweaks only from sources you trust.

Important details:

See Security.

More Docs

Contributors

License

MIT.

codex-plusplus (b-nnett/codex-plusplus)

Searching Database…

这是什么?一个针对 OpenAI Codex 桌面应用的扩展加载器:它会修改你本地的 Codex 安装,让一个小型的 Codex++ 运行时在启动时加载,并运行本地的 tweak(扩展插件),这些 tweak 可以改变界面、添加设置页面,以及运行主进程代码。
Codex++ 是一个独立的软件,还是修改我已有的 Codex?它修改的是你已有的应用:它会修补 Codex 的 app.asar,让 Codex++ 加载器优先运行,而你的 tweak、配置、日志和备份都保存在一个单独的用户数据文件夹里。它不会替换 Codex,也不会代理你的账号。
怎么安装 Codex++?可以通过 Homebrew、GitHub 源码安装器、Windows PowerShell 或 Bun 安装——也可以让一个编程 AI 助手直接从 Codex 安装。安装后正常启动 Codex,在 Settings 里找 Codex++ 部分即可。
Codex 自动更新后,我的 tweak 会怎么样?Codex 更新通常会清掉补丁,但 Codex++ 会安装一个监视器,发现后自动重新应用补丁。如果失败了,可以用 codexplusplus repair 手动重新应用补丁。
一个 tweak 对系统底层能深入到什么程度?在 macOS 上可以很深:native-bridge 类 tweak 可以自带 .node 模块,通过 Objective-C++/N-API 桥接层调用 Swift、AppKit、Metal 和 MetalKit,还能创建原生子面板、基于 Metal 的悬浮层以及辅助进程。
从来路不明的地方安装 tweak 安全吗?要把 tweak 当成你在应用里运行的任何本地代码来看待:README 提醒只从你信任的来源安装,原生 tweak 需要额外审查,而且 Codex++ 从不悄悄更新 tweak 文件——更新检查只是提供指向 GitHub Releases 的链接。
Codex++ 是 OpenAI 出的吗?不是。README 说明这是一个非官方项目,与 OpenAI 没有任何关联,使用风险由你自己承担。
浏览器宿主模式是干什么用的?它在一个普通浏览器标签页里打开 Codex 的 React 界面,同时由一个隐藏的 Codex 窗口提供私有的应用桥接——适合调试和浏览器自动化。它还是实验性功能,有些网站可能因为 iframe 兼容层而禁止嵌入。
Codex 刚刚更新,tweak 全坏了——我该怎么排查或者恢复?codexplusplus doctor 可以诊断签名、完整性、权限和常见故障,debug 会打印应用路径和桥接状态,safe-mode 可以在不删除 tweak 的情况下禁用全部 tweak,直到你运行 safe-mode --off 为止。
macOS 相关提到的 Owl 是什么?它是当前 macOS 版 Codex 构建中使用的原生应用外壳——Chromium 加上一个与 Electron 兼容的 JavaScript 运行时。Codex++ 1.0.0 能检测到 Owl,tweak 作者应该使用 Codex++ SDK(api.codex.*),而不是直接调用 Owl 的内部接口。
What are similar projects?evenfire, rea, nylas-mail, bb, dsh-market, codex-security, gitagent, deno
Creator
b-nnett
Size
89.8 MB
Stars
3.8K
Age
5mo
Commits · 90 Days