codex-plusplus(Codex++) は、OpenAIのCodexデスクトップアプリを「再ビルドせずに拡張する」ためのTweakシステムだ。2026年4月末に公開され、わずか2週間でGitHubスター789を集めている。リポジトリ名 b-nnett/codex-plusplus は、Codex.appのapp.asarにパッチを当て、ユーザーディレクトリ側に置いたTweak(小さなESMモジュール)をアプリ起動時にロードする仕組みを提供する。macOS/Windows両対応・MITライセンス・Beta段階という条件が揃っており、Codex拡張やCodex desktop tweakを探していた開発者にとっては有力な選択肢になる。
この記事ではcodex-plusplusのアーキテクチャ・インストール手順・Tweakの書き方・他のElectron改造系ツールとの違いをまとめ、最後にハマりどころと法的注意までカバーする。OpenAI Codex全体の概要やCLI版を整理したい場合は、まずOpenAI Codex CLI完全ガイド2026|AGENTS.md・3つの承認モード・Claude Code比較を1記事で網羅を参照してほしい。
- Codex++は
app.asar+ElectronAsarIntegrity+ad-hoc再署名でCodex.appにローダーを差し込み、ユーザー領域のRuntimeとTweakを起動時に読み込ませるTweakシステム - Tweakは
manifest.json+index.jsのESMモジュール。start/stopライフサイクルとSettings UI APIだけ覚えれば書ける - Sparkle自動更新でパッチが上書きされる問題に対し、launch agent / login itemの常駐ウォッチャーで自動再適用する設計が他のOSSとの差別化点
codex-plusplusとは何か:再ビルド不要のCodex Tweakシステム(Codex++ 使い方の前提)
Codex++(リポジトリ名はcodex-plusplus)は、OpenAIが提供するCodex desktop app(chatgpt.com/codex経由でインストールするElectron製アプリ)に対して、ユーザーが独自のUI改善・機能追加・バグ修正を外側から注入できるようにするCodex 拡張フレームワークだ。
公式READMEから引用すると、codex-plusplus はCodex.appに小さなローダーを仕込むだけで、後はユーザーディレクトリ側のRuntimeとTweak群を読み込む。アプリバンドルそのものに毎回手を入れる必要がないため、Tweakの開発はsave-and-reloadのループで回せる。
| 観点 | Codex本体 | Codex++導入後 |
|---|---|---|
| アプリ拡張方法 | OpenAI公式アップデート待ち | ユーザーが自由にTweakを追加 |
| 改造の範囲 | 不可 | UIタブ追加・既存UI改修・スクリプト注入 |
| 開発サイクル | フォーク&再ビルド | Tweakフォルダを保存→再読み込み |
| 公式アップデート対応 | 自動更新 | watcherがCodex.app更新後にCodex++を再適用 |
| 法的扱い | 公式 | 非公式・コード署名改変あり(自己責任) |
ベース技術はElectron用のasarパッチ+ad-hoc再署名で、似た系統のOSSにDiscordクライアントを拡張するVencordやBetterDiscord、Slackを拡張するBetterSlackなどがある。ただしCodex++はAIエージェント用デスクトップアプリ向けという点でやや珍しい。
検証環境: macOS 14.5 / Bun 1.1.x / Codex.app(chatgpt.com/codexから入手可能なBeta) / 確認日 2026-05-02。
codexplusplus statusコマンドの実行確認まで。Tweak開発は公式README記載のSDK API仕様に基づく。
codex-plusplusのアーキテクチャ:asarパッチとユーザーRuntimeの二層構造
codex-plusplusの動作モデルは大きく2層に分かれる。Codex.app側は最小限のローダーのみを保持し、機能本体はすべてユーザーディレクトリのRuntimeに置く。これによりTweak開発でアプリ本体を再パッチする必要がなくなる。
entry を loader.cjs に置換"] A2["loader.cjs
注入された小さなブートストラップ"] A3["Info.plist
ElectronAsarIntegrity を再計算"] A4["Electron Framework
EnableEmbeddedAsarIntegrityValidation OFF"] end subgraph User[ユーザーデータ領域] U1["runtime/main.js
BrowserWindow フック"] U2["runtime/preload.js"] U3["tweaks/[tweak-id]/
manifest.json + index.js"] U4["config.json / state.json"] U5["backup/
元 app.asar や Info.plist を保存"] end subgraph Watcher[常駐ウォッチャー] W1["launch agent / login item"] W2["repair --quiet 自動実行"] end A2 --> U1 U1 --> U3 W1 --> W2 --> A1 style A2 fill:#fff3cd style U1 fill:#d4edda style W2 fill:#cce5ff
アプリ側で行われている改変ポイント
公式READMEとdocs/ARCHITECTURE.mdから拾うと、インストーラーは以下の処理を1回だけ実行する。
- Codex.appの場所を特定(macOSなら
/Applications/Codex.app、Windowsなら%LOCALAPPDATA%/codex/...) ~/.codex-plusplus/backup/にバックアップapp.asarのpackage.jsonのmainをローダー(codex-plusplus-loader.cjs)に差し替え- asarヘッダのSHA-256を再計算し、
Info.plistのElectronAsarIntegrity["Resources/app.asar"]を上書き - ElectronバイナリのFuseである
EnableEmbeddedAsarIntegrityValidationをOFF(belt-and-suspenders として2重の対策) - macOSでは
codesign --force --deep --sign -によりad-hoc再署名 - Sparkleが公式アップデートを上書きするケースに備え、launch agent / login itemとして
repair --quietを実行する常駐ウォッチャーを登録 - 既定Tweakセット(
co.bennett.custom-keyboard-shortcutsなど)をインストール(--no-default-tweaksで無効化可)
ユーザー領域のディレクトリ構成
OS別の<user-data-dir>は次のとおり。
macOS: ~/Library/Application Support/codex-plusplus/
Linux: $XDG_DATA_HOME/codex-plusplus/ (default ~/.local/share/codex-plusplus/)
Windows: %APPDATA%/codex-plusplus/
中身はRuntime本体・Tweak群・設定・ログ・バックアップ・状態ファイルに分かれる。Tweakのtweak-data/はTweakごとのファイルシステムサンドボックスとしてセグメント化されており、Tweak同士が互いの永続データに直接触れない設計になっている。
インストール手順:4つの方法
公式READMEには現在4つのインストール経路が用意されている。最初の「Agentic Install」は文字どおりCodex本体に対してプロンプトで依頼する方法で、Codexが自身を改造するためのリンクをそのまま渡す。
1. Agentic Install(Codex内から)
Inspect & install this for me: https://github.com/b-nnett/codex-plusplus, tell me where you install it and send me the local path for me to add new tweaks.
2. Bun経由(推奨)
bun install -g github:b-nnett/codex-plusplus
codexplusplus install
3. macOS / Linuxのソースブートストラップ
curl -fsSL https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.sh | bash
4. Windows PowerShell
irm https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.ps1 | iex
インストール後の主要コマンドは以下のとおり。
codexplusplus status # 適用状況の確認
codexplusplus doctor # 診断
codexplusplus repair # Codex.app 更新後の再適用
codexplusplus update # Codex++本体(CLI/runtime)を最新に
codexplusplus update-codex # Codexアプリ自体の公式更新を安全に走らせる
codexplusplus tweaks list # 適用中のTweak一覧
codexplusplus tweaks open # ユーザーtweaksディレクトリを開く
codexplusplus uninstall # 全パッチを巻き戻して削除
公式READMEは「codexplusplus update --ref mainは開発ブランチを取りに行く挙動なので、通常は最新Releaseを取得するデフォルト動作のままでよい」と注記している。
CLIコマンドの詳細解説
codexplusplusコマンドはBun経由でグローバルにインストールされる。日常的に使うのはstatusとrepairの2つで、それ以外は環境構築・トラブルシュート時の利用が中心になる。
| コマンド | 用途 | 主な実行タイミング |
|---|---|---|
install |
初回インストール(asarパッチ・ad-hoc再署名・watcher登録) | 最初の1回のみ |
uninstall |
全パッチを巻き戻し、watcherも削除 | やめるとき |
status |
適用状況・Tweak一覧・Runtimeバージョンの確認 | 動作確認 |
doctor |
環境診断(Codex.app検出、署名状態、PATH) | トラブル時 |
repair |
現在のCodex.appに対してパッチを再適用 | 公式更新後・watcher停止時 |
update |
Codex++本体(CLI/Runtime)を最新Releaseに更新 | 月1程度 |
update-codex |
Codex.app本体の公式更新を安全に走らせる | Codex公式更新時 |
tweaks list |
インストール済みTweak一覧(status付き) | 動作確認 |
tweaks open |
ユーザーTweakディレクトリを開く | Tweak開発時 |
CIや自動化スクリプトに組み込みたい場合は、codexplusplus status --json相当の出力を期待する向きもあるが、現時点ではJSONフラグの公式記載はない。シェルでの利用が前提と捉えるのがよい。
Codex本体を公式アップデートする時だけ要注意
Codex.appはSparkleで自動更新される構造を持っているが、Codex++が適用済みの状態で公式更新が走ると署名整合が壊れる。READMEはcodexplusplus update-codexを経由するよう明示している。これは一旦Developer ID署名のCodex.appに復元してから公式更新を実行し、再起動後にwatcherがCodex++を再適用する流れだ。
Tweakの書き方:manifest + ESMモジュール
Tweakは<user-data-dir>/tweaks/<tweak-id>/配下のフォルダで、最小構成はmanifest.jsonとindex.jsの2ファイルだけ。Runtime側にトランスパイラが含まれているため、.mjsや.tsでも書ける。
manifest.jsonの最小例
{
"id": "com.you.my-tweak",
"name": "My Tweak",
"version": "0.1.0",
"githubRepo": "you/my-tweak",
"author": "you",
"description": "Adds a button.",
"minRuntime": "0.1.0"
}
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>`;
},
});
api.log.info("started");
},
stop() {},
} satisfies Tweak;
start(api)はTweakが有効化されたとき、stop()は無効化されたときに呼ばれる。api.settings.registerでCodex設定UIに独自タブを追加でき、api.logでTweak単位のロガーを使える。フルAPIは公式のdocs/WRITING-TWEAKS.mdを参照のこと。
Tweak SDK APIで使える主な機能
公式のdocs/WRITING-TWEAKS.mdを読むと、Tweakから利用できるAPIは大きく以下のカテゴリに整理できる。READMEから得られる情報と整合する範囲で要点を記す。
| APIカテゴリ | 概要 | 主な用途 |
|---|---|---|
api.settings |
Codex設定UIにタブ・コントロールを登録 | UI拡張の基本 |
api.log |
Tweak単位のロガー(info/warn/error) | デバッグ・運用ログ |
api.storage(想定) |
Tweakごとのファイルシステムサンドボックス | 永続データ保存 |
api.events(想定) |
Codex内部のイベント購読 | UIフック |
api.commands(想定) |
コマンドパレット連携 | キーボードショートカット |
api.settings.register({ id, title, render })が最小単位で、これだけで設定タブが1つ追加される。render(root)はHTMLElementを受け取り、自前のDOM操作で中身を構築する。React/Vueなどのフレームワークを持ち込みたい場合は、Tweakのバンドル時にinclude済みの状態でindex.jsにまとめておくと良い。
tweak-dataディレクトリのサンドボックス設計
<user-data-dir>/tweak-data/<tweak-id>/は各Tweak専用のファイルシステム領域として割り当てられる。Tweak Aから Tweak B のデータに直接アクセスする経路は意図的に提供されていない。これにより以下の利点が生まれる。
- Tweak間のデータ汚染を防げる
- Tweakをアンインストールするときに、対応する
tweak-data/を削除するだけでよい - Tweakが書き出したファイルがCodex本体のデータと混ざらない
ただしファイルシステムレベルでのサンドボックスであり、Node.jsのpermission機構やElectronのcontextIsolationのような完全な実行サンドボックスではない。任意のJSコードを実行できるTweakは原理的にユーザー権限で何でもできるため、信頼できないTweakを入れない運用が前提となる。
Tweakのアップデート検知は「通知のみ」
注目すべきはTweakの自動更新が意図的に無効になっている点だ。manifestのgithubRepo欄は必須で、Codex++はGitHub Releasesを1日1回までチェックしてupdateAvailableフラグを立てるが、ダウンロード・自動置換は行わない。
Codex++ does not auto-update tweaks. The manager links to the GitHub release so users can review the diff, release notes, and repository before manually replacing local tweak files.
ユーザーは更新通知を見てGitHubリリースページに飛び、差分とリリースノートを確認したうえで手動でTweakフォルダを置き換える。VSCodeやChrome拡張のサプライチェーン攻撃事例を踏まえた設計判断だろう。
他のElectron改造系OSSとcodex-plusplusの比較
codex-plusplusは「特定のElectronアプリにasarパッチを当ててプラグインシステムを差し込む」というパターン自体は前例がある。代表的なツールと並べると以下のようになる。
| OSS | 対象アプリ | 拡張の仕組み | 自動更新追従 | Tweakの自動更新 | スター数 |
|---|---|---|---|---|---|
| codex-plusplus(本記事) | OpenAI Codex desktop | asarパッチ + loader + ad-hoc再署名 | watcherが自動再適用 | 通知のみ(手動) | 789(2026-05-02時点) |
| Vencord | Discord | asarパッチ + プラグイン | あり | プラグインはあり | 約16k |
| BetterDiscord | Discord | asarパッチ + プラグイン/テーマ | あり | プラグインストア経由 | 約26k |
| Cordis(旧 BetterDiscordCtl 系) | Discord | CLIで導入支援 | 限定 | 無 | 小規模 |
| Spicetify | Spotify | CLI / カスタムテーマ | 部分的 | 拡張ストア | 約20k |
差別化要素は次の3つに集約される。
- AIエージェント向けデスクトップアプリを対象としたTweakフレームワークは2026年5月時点で他に確立されていない
- 常駐watcherでSparkleアップデート後に自動でパッチを再適用する点は同種ツールでもまだ珍しい
- Tweak自動更新を意図的に避けるサプライチェーン重視の設計(VencordやBetterDiscordの自動更新と方針が違う)
セキュリティと法的観点:使う前に必ず読むべき部分
CodexはOpenAIの公式アプリで、Codex.appはOpenAI署名のElectronバイナリだ。Codex++はそれを書き換えてad-hoc署名に切り替える。READMEには明確にunofficialと書かれており、利用は自己責任になる。
- 業務利用するCodexアカウント・組織アカウントで使うのは推奨できない(OpenAI側の利用規約・社内セキュリティ規定との整合確認が必須)
- macOS Gatekeeperは初回起動で警告を出す可能性があり、ユーザーの明示的な許可が必要
- Tweakは任意のJSコードを実行できるため、**信頼できないTweakをインストールしない**こと(npm/PyPIのサプライチェーン攻撃と同じリスク)
- SECURITY.mdに記載されたセキュリティ報告窓口を確認すること
- OpenAI公式アップデートのたびにSparkleが上書きしようとする挙動はwatcherで吸収しているが、watcherが停止した状態だとパッチが消える可能性がある
なお、READMEは「Modifying Codex.app violates its code signature」と明記している。コード署名の改変はOSの保護機構を意図的に下げる行為なので、個人開発・検証用途に留めるのが安全だ。
codex-plusplusの検証時のハマりどころと対策
公開2週間のBeta段階のため、READMEもいくつか既知の制約を挙げている。実際に触る前に押さえておくと安全な点をまとめる。
1. 自動更新の競合
Sparkle駆動の公式更新がwatcher停止中に走ると、app.asarがオリジナルに戻り、Codex++の機能はすべて消える。再起動後にcodexplusplus statusで確認し、必要ならcodexplusplus repairを実行する。
2. macOSのad-hoc署名警告
codesign --force --deep --sign -で再署名されたCodex.appは、初回起動でGatekeeperの警告が出る場合がある。設定 → プライバシーとセキュリティから明示的に許可する必要がある。
3. Codex.appの場所が標準パスでない
複数バージョンを併存させている場合や、Setapp/Homebrew Cask経由でインストールしている場合、インストーラーの自動検出が外れることがある。codexplusplus doctorで診断できる。
4. Tweakの初期ロード失敗
manifest.jsonのminRuntimeを満たしていないTweakはロードされない。codexplusplus tweaks listで各Tweakのstatusを確認する。
5. Windowsの権限不足
PowerShellによるブートストラップは管理者権限が必要なケースがある。READMEは詳細手順を記載しているのでそちらを参照する。
6. Codex.appがアップデート直後にcodex-plusplusを失う
公式READMEは「Codex++ does not auto-update tweaks」という方針を明示しているが、Codex.app本体のアップデート対応は逆に自動化されている。仕組みは次のとおり。
Codex.app の更新(Sparkle)
↓
launch agent / login item の watcher が検知
↓
codexplusplus repair --quiet を実行
↓
新しい app.asar に対して loader を再注入し、ad-hoc 再署名
↓
ElectronAsarIntegrity と Fuse をもう一度書き換え
watcherが正常に動いていれば、ユーザーはCodex.appを再起動すればパッチが効いた状態に戻る。逆にwatcherを止めていたり、launch agentが macOS のセキュリティ設定で無効化されている場合、codexplusplus repairを手動で実行する必要がある。
7. Tweakが Codex 更新後に互換性を失う
Codex本体のUIが大幅に変わると、DOMセレクタや内部APIに依存したTweakが壊れる。各Tweakはmanifest.jsonでminRuntimeを指定するが、Codex本体のバージョンを縛る項目はないため、互換性確認は配布側の責任になる。Tweak利用者はcodexplusplus tweaks listでTweakのstatusを確認し、エラーが出ているものは作者のリポジトリで対応バージョンを確認する流れになる。
codex-plusplusの想定ユースケース
公式READMEには既定で2つのTweakが同梱されている。これら自体が「Codexのキーボードショートカットを改善したい」「UI上のちょっとしたバグを直したい」というユースケースを示している。
| Tweak ID | 役割 | 配布元リポジトリ |
|---|---|---|
co.bennett.custom-keyboard-shortcuts |
カスタムキーボードショートカット | b-nnett/codex-plusplus-keyboard-shortcuts |
co.bennett.ui-improvements |
UI改善パック(既存UI上の細かな修正) | b-nnett/codex-plusplus-bennett-ui |
応用としては以下のようなものが想定できる。
- 社内向けにCodexの初期プロンプト・モデル選択UIをカスタマイズする業務アシスタント版
- ChatGPT/Codexの応答をローカルファイルに自動エクスポートするTweak
- 画面右側にメモ帳タブを追加するシンプルなプロダクティビティTweak
- Codexの操作ログを社内監視ツールに転送するエンタープライズTweak(要セキュリティレビュー)
- Codexの会話履歴を自前のVector DBに同期するメモリTweak(ローカル限定推奨)
最小Tweakのインストール手順例
ユーザーディレクトリのtweaks/配下にフォルダを作って、manifest.jsonとindex.jsを置けばよい。macOSの場合の手順は次のようになる。
# 1. ユーザーTweaksディレクトリを開く
codexplusplus tweaks open
# 2. 新規Tweakディレクトリを作成
mkdir -p ~/Library/Application\ Support/codex-plusplus/tweaks/com.you.hello-tweak
cd ~/Library/Application\ Support/codex-plusplus/tweaks/com.you.hello-tweak
# 3. manifest.json を作成
cat > manifest.json <<'EOF'
{
"id": "com.you.hello-tweak",
"name": "Hello Tweak",
"version": "0.1.0",
"githubRepo": "you/hello-tweak",
"author": "you",
"description": "Adds a hello panel to Codex settings.",
"minRuntime": "0.1.0"
}
EOF
# 4. index.js を作成
cat > index.js <<'EOF'
export default {
start(api) {
api.settings.register({
id: "hello",
title: "Hello",
render: (root) => {
root.innerHTML = "<h2>Hello, Codex++!</h2>";
},
});
api.log.info("hello tweak started");
},
stop() {},
};
EOF
# 5. Codex.appを再起動して反映
codexplusplus repair
この程度なら30秒で動かせる。Tweakを書く心理的ハードルが低いことが、codex-plusplusエコシステムが伸びる伸びないの分岐点になる。
既存Electron Tweakエコシステムとの学習コスト比較
VencordやBetterDiscordを触ったことがある開発者であれば、codex-plusplusの設計思想はほぼ違和感なく理解できる。両者の差を学習観点で整理すると次のとおり。
| 観点 | Vencord | codex-plusplus |
|---|---|---|
| プラグインAPI | カスタムフック多数 | 最小限のSettings/Log API |
| 言語 | TypeScript推奨 | TS/JS両対応・Runtimeでトランスパイル |
| プラグインストア | 公式・有志リスト多数 | なし(GitHubリポジトリ直接配布) |
| Tweak自動更新 | あり | 通知のみ(手動置換) |
| 学習リソース | 多数 | 公式WRITING-TWEAKS.mdのみ |
代替案:Tweakシステムを使わずにCodexを拡張する選択肢
codex-plusplusを使わずにCodexを拡張する方法も理論上は存在する。要件に応じて以下の比較軸で選び分けると判断しやすい。
| 選択肢 | 改造の自由度 | 公式アップデート追従 | 法的リスク | 学習コスト |
|---|---|---|---|---|
| Codex Web版(chatgpt.com/codex) | 低(UIカスタムのみ) | OpenAI管理 | 最小 | 最小 |
| ブラウザ拡張で chatgpt.com を改修 | 中 | DOM変更で壊れる | 小(ToS確認推奨) | 中 |
| Tampermonkey / Userscriptで chatgpt.com を改修 | 中 | DOM変更で壊れる | 小 | 中 |
| codex-plusplus(本記事) | 高 | watcherで自動再適用 | 中(コード署名改変) | 中 |
| Codex.appをフォークして自前再ビルド | 最高 | 完全に手動 | 中 | 高 |
| OpenAI API + 自前デスクトップアプリ | 任意 | 不要 | 小 | 高 |
「プロダクトとしてのCodexのUI」を改善したいだけならブラウザ拡張やUserscriptで十分なケースも多い。逆に「Electronメインプロセスにフックして起動時の挙動を変える」「Tweak単位で切り替え可能なフレームワークが欲しい」といった要件があるならcodex-plusplusの優位は明確だ。
codex-plusplusが向いている開発者
- Codex.appを長時間使うパワーユーザー(キーボードショートカット・UI改善のニーズが大きい)
- Electron / asar / コード署名の周辺知識がある(トラブル時に自力で対応できる)
- 自分のPCを管理者権限で自由に扱える(業務端末ではなく検証端末)
- VencordやBetterDiscord系を使い慣れていて、開発思想に納得できる
codex-plusplusが向いていない開発者
- 業務端末でCodexを使っている(社内セキュリティポリシー違反のリスク)
- インストール後のトラブルを自力で解決したくない(Beta段階のためサポートはGitHubのみ)
- OpenAIのToSと整合性を厳密に取る必要がある(法務確認が必要)
- Tweakを書く時間がない(既定2つ以上のTweakを使わないなら導入価値が薄い)
FAQ
Q1. Codex CLI(コマンドライン版)とは別物?
別物。CLI版はopenai/codex、Codex++はElectron製のデスクトップアプリを対象にしたTweakシステムだ。Codex CLIの全体像はOpenAI Codex CLI完全ガイド2026にまとまっている。Codex++のTweakからCodex CLIを呼び出すような連携は理論上可能だが、READMEに公式サンプルはない。
Q2. アンインストールで完全に元に戻せる?
codexplusplus uninstallでbackup/に保存された元のapp.asar・Info.plist・Electron Frameworkを復元する。launch agent / login itemも撤去される。
Q3. Tweakを書くのに必要な知識は?
最低限はTypeScript/JavaScript(ESM)。@codex-plusplus/sdkのTweak型を使う場合はTypeScript環境がある方が楽。Electronの内部APIに踏み込む場合はBrowserWindow / preload / IPCの基礎が必要になる。
Q4. プラグインストアはある?
2026-05-02時点ではない。Tweakは各自のGitHubリポジトリで配布する設計で、manifest.jsonのgithubRepoがリリースチェックの拠り所になる。
Q5. 商用利用は可能?
ライセンスはMITなので利用そのものは可能だが、Codex.appの改変はOpenAIの利用規約と衝突する可能性がある。商用配布や顧客環境への展開は法務確認を強く推奨。
Q6. 社内のセキュリティポリシー上どう扱うべき?
「コード署名の改変」「不審な実行ファイルの常駐」のいずれにも該当する可能性があるため、エンタープライズ管理下のMacでは原則ブロックすべき。検証目的なら個人端末で実施し、業務データは扱わない運用が望ましい。
Q7. Tweak開発のホットリロードはどう動く?
公式READMEは「Everything beyond the one-time install patch lives outside the app bundle, so iterating on tweaks is just save-and-reload」と説明している。Tweakファイルを編集して保存し、Codex.appを再起動するか、UI上のreloadボタンを押せば反映される。loader.cjsはアプリ起動時に毎回Runtimeを読み直す設計で、Runtimeがtweaksディレクトリを再スキャンする。
Q8. macOSのGatekeeper / SIP / Notarizationとの関係は?
macOSのSIP(System Integrity Protection)は/Applications配下のアプリ書き換え自体を阻止しないが、ad-hoc再署名されたアプリはNotarization要件を満たさなくなる。OSが起動時に「未確認の開発元」警告を出すケースがあり、ユーザーが設定 → プライバシーとセキュリティで明示的に許可するフローが必要だ。Apple SiliconマシンでGatekeeperが厳しく設定されている場合は、警告の出方が変わる可能性もあるので最新READMEで動作報告を確認するのが安全。
Q9. Beta段階の品質はどの程度?
公式README冒頭に「alpha Beta! Confirmed working on both macOS & Windows. Expect bugs, especially around auto-updating and new Codex updates. PRs welcome.」と明記されている。GitHub Issuesでは自動更新まわりのバグレポートが少しずつ蓄積している段階で、メジャーバージョン1.0手前の状況だと考えるのが妥当。本番投入よりも検証・PR貢献に向くフェーズ。
まとめ:codex-plusplusはCodexデスクトップ版のVencord的存在
Codex++(codex-plusplus)はOpenAI Codex desktop appをasarパッチで拡張し、ユーザーディレクトリ側のRuntime + Tweakで自由に機能を足せるOSSだ。watcherでSparkle更新と共存させる設計、Tweak自動更新を避けたサプライチェーン配慮、Tweakごとのファイルシステムサンドボックスなど、後発ながらVencord系の知見をうまく取り入れている。
公式READMEがbeta表記であり、商用環境での利用は法的・運用リスクが残る。一方で「Codexのキーボードショートカットがどうしても合わない」「UIの細部だけ手を入れたい」というニッチな課題に対しては、現時点で唯一実用的な選択肢になっている。当サイトは個人検証用途での利用に限り推奨という温度感で取り上げる。
関連記事として、AIコーディング全体のトレンドを押さえたい場合はVibe Codingとは?2026年完全ガイド、Claude Code側のエージェントエコシステムを比較したい場合はClaude CodeとCursorを徹底比較も併せて確認してほしい。デスクトップAIアプリを自分の手に取り戻すという視点でも、codex-plusplusはここ数ヶ月のOSSトレンドを象徴する1本だと言える。
更新履歴
- 2026-05-02: 初版執筆、2026-05-04 09:00 公開予定