OpenCodexはCodexのResponses APIリクエストを各LLMプロバイダーのプロトコルに変換する軽量なローカルプロキシだ。Codex CLI、App、SDKおよびClaude CodeでAnthropic、Google、xAI、Kimi、DeepSeek、GLM、Qwen、Ollamaなどを使用できるようにする。ストリーミング、ツール呼び出し、推論トークン、画像入力が双方向に変換される。
1. はじめに
要件
- Node.js 18以上
- BunランタイムはnpmのDependencyとしてバンドルされ、Nodeランチャーを通じて実行されるため、別途インストール不要
- 注意:
npmがライフサイクルスクリプトをブロックした状態でインストールすると、"bundled Bun runtime is missing"エラーが発生する。この場合、スクリプトを許可して再インストールするか、Bunを直接インストールする必要がある sudo npm install -gの代わりにnvm/fnmなどユーザー所有のNode環境を推奨
インストールと実行
# 1. グローバルインストール(Bunランタイムを自動バンドル)
npm install -g @bitkyc08/opencodex
# 2. 対話型初期化(設定ファイル作成 + Codex設定注入 + 自動起動shimインストール案内)
ocx init
# 3. プロキシ開始
ocx start
以降、Codexを普段通り使用すればリクエストがopencodexを経由する。
codex "Write a hello world in Rust"
ダッシュボードはhttp://localhost:10100でアクセスできる。
削除と復元
ocx stop # プロキシ停止、バックグラウンドサービス停止、Codex設定を復元
ocx uninstall # 残存設定のクリーンアップ(npm削除前に実行推奨)
npm uninstall -g @bitkyc08/opencodex
サポートプラットフォーム
| OS | 状態 | サービスマネージャー |
|---|---|---|
| macOS (arm64/x64) | サポート | launchd |
| Linux (x64/arm64) | サポート | systemd |
| Windows (x64) | サポート(WSL不要) | Task Scheduler |
2. 長所
| 番号 | 項目 | 説明 |
|---|---|---|
| 1 | モデルの自由度 | Anthropic、Google、xAI、Kimi、Ollama Cloud、Groq、OpenRouter、Azure、DeepSeek、GLMおよびOpenAI自体を含め、40以上の組み込みプロバイダーをサポートする。同じCodexワークフロー内でモデルを切り替えられる |
| 2 | アダプターベースの変換 | Anthropic Messages、Google Gemini、Azure、OpenAI Responsesパススルー、OpenAI互換Chat Completionsの5つのアダプターでほとんどのエンドポイントを吸収する |
| 3 | インストール・設定の簡素化 | プロキシチェーンを自分で構成する必要がなく、ocx initの対話型設定で完了する。xAI、Anthropic、KimiはOAuthログインをサポートし、APIキーなしで接続可能 |
| 4 | バイナリ無修正 | Codexアプリのバイナリをパッチせず、Codex設定ファイルとモデルカタログにプロバイダーを注入する方式である。ocx stopで元の設定が復元される |
| 5 | 統合ダッシュボード | プロバイダー、APIキー、モデル別名(alias)、ログ、アカウント管理をWebダッシュボードで処理する |
| 6 | モデルルーティングルール | provider/model形式で明示的に指定するか、prefixを省略した場合はモデル名パターンで自動マッチングする(claude-* → Anthropic、gpt-* → OpenAI) |
| 7 | Codex App統合 | ルーティングされたモデルがCodex Appのモデル選択器にネイティブモデルと共に表示され、モデル別のreasoning effort調整が可能 |
| 8 | ChatGPTアカウントプール | 複数のChatGPT/Codexアカウントを登録し、5時間・週次・30日クォータを更新し、新規セッションを使用量が最も低いアカウントにルーティングする。既存スレッドは開始したアカウントに固定される |
| 9 | バックグラウンドサービス | システムサービスとして登録され起動時に自動実行され、停止時に残存設定・ゾンビプロセスを残さないよう設計されている |
3. 短所とリスク
| 番号 | 項目 | 説明 |
|---|---|---|
| 1 | 利用規約リスク | OAuth・サブスクリプションアカウントの連携が技術的に可能であっても、当該プロバイダーがサードパーティプロキシ経由を許可しているという意味ではない。プロジェクトの文書自体がアカウント制限・停止の可能性を警告している。特にアカウントプール機能は使用量回避と解釈される余地がある |
| 2 | 追加レイヤーの複雑性 | Codexの上にプロキシレイヤーが一つ増えることで、設定判断とデバッグポイントが増える |
| 3 | 機能互換性の遅延 | 独自のAPI変換レイヤーであるため、CodexやClaude Codeの最新機能が即座に反映されない場合がある |
| 4 | プロジェクトの成熟度 | 公式ツールに比べエコシステムが小さく、リリース周期が非常に短い(週単位のpreviewタグが多数)。安定性と長期メンテナンスについては検証が必要 |
| 5 | 常時実行への依存 | Node環境とocxデーモンの常時稼働が前提となる。Codex単独使用に比べリソースを多く使用する |
| 6 | ローカル資格情報の集中 | 複数プロバイダーのAPIキーとOAuthトークンがローカル設定(~/.opencodex/config.json)に集まる。端末侵害時の被害範囲が拡大する |
4. 名前が似た別プロジェクト
「OpenCodex」という名前を使うプロジェクトが複数存在する。機能を混同しないよう区別が必要だ。
| プロジェクト | 正体 | 本文書の対象との関係 |
|---|---|---|
| lidge-jun/opencodex | 本文書の対象。Codex/Claude Code用の汎用プロバイダー・プロキシ | — |
| AITabby/opencodex | Codex Desktop用のローカルゲートウェイ。Vision Bridge、Computer Useエンジン、音声コンパニオン(OpenCodexBar)を保有 | 別のプロジェクト。Vision Bridge・音声機能はこちらの機能であり、lidge-jun版の機能ではない |
| RyensX/OpenCodex | Codex Desktopミドルウェア。ブラウザリモートアクセスに特化 | 別のプロジェクト。リモートアクセス機能はこちらの機能である |
| Open Codex (codingmoh) | 完全ローカル実行のCLIアシスタント。APIキー不要、phi-4-miniなどのローカルモデルをサポート | 別のプロジェクト |
5. 競合・代替ツール
| ツール | 説明 | 違い |
|---|---|---|
| OpenCode (SST) | オープンソースのターミナルAIコーディングエージェント | プロキシではなく独立したエージェント。複数プロバイダーを自体サポートするため、OpenCodeユーザーにはopencodexの実益が少ない |
| Claude Code | Anthropicのターミナルコーディングアシスタント | Claudeエコシステムに特化。opencodexはClaude Code側のプロキシとしても動作する |
| Cursor | AIネイティブなコードエディタ | IDE内蔵型の体験中心 |
| GitHub Copilot | IDEプラグイン型コーディングアシスタント | プロバイダー選択の幅が限定的 |
| Aider / Cline / Windsurf | それぞれ異なるアプローチのコーディングエージェント | ワークフローと特化領域が異なる |
6. Codexとの比較
| 項目 | Codex単独 | Codex + OpenCodex |
|---|---|---|
| 使用可能モデル | OpenAI系のみ | 40以上のプロバイダー |
| 設定難易度 | 低い | 中程度 |
| コスト最適化 | 限定的 | 低価格モデルルーティングで有利 |
| カスタマイズ | 限定的 | 高い |
| 運用リスク | 低い | プロキシ障害点の追加、プロバイダー利用規約リスク |
| 適合ユーザー | すぐに使いたい一般ユーザー | モデル実験・コスト最適化を重視するパワーユーザー |
7. 総合評価
技術的な設計は合理的である。バイナリパッチの代わりに設定注入方式を採用し、ocx stop一行で復元される構造は、このカテゴリのツールにおいて最も重要な安全装置だ。アダプターを5種類に抽象化した点も、プロバイダー拡張コストを下げている。
しかし、導入判断において技術的な便利さより優先される変数は利用規約リスクである。APIキーベースの連携とサブスクリプションアカウント(OAuth)ベースの連携は性質が全く異なり、特に複数ChatGPTアカウントのプーリングは、プロバイダーの観点から使用量ポリシーの回避と判断される可能性がある。業務用環境であれば、APIキーベースのプロバイダーのみを登録し、アカウントプール機能は使用しない構成が安全である。
週単位でpreviewリリースが続く開発速度は機能拡張の面ではポジティブだが、プロダクション依存対象とするにはまだ早い。個人の開発環境での実験的導入が現在の適正なレベルである。