OpenCodeX(GitHub リポジトリ)
TLDR AI は、具体的な新機能や技術的詳細が不明なまま、単に OpenCodeX という GitHub リポジトリの存在を紹介した。
キーポイント
リポジトリ紹介のみ
記事は OpenCodeX の存在を報じているが、中身の詳細には踏み込んでいない。
情報量の不足
本文抜粋からは新機能や技術的詳細を読み取ることは不可能である。
事実報告の限界
これは単なるリポジトリの存在を報告したに過ぎず、分析や解説は含まれていない。
重要な引用
具体的な新機能や技術的詳細は本文抜粋から読み取れないため、単なるリポジトリの存在が報告されたに過ぎない。
影響分析・編集コメントを表示
影響分析
このニュースは OpenCodeX の存在を広く知らしめる効果はあるが、具体的な技術的インパクトや業界への影響については不明確なままです。情報の深さが不足しているため、開発者や投資家が即座に行動を起こすには不十分であり、今後の詳細発表への期待感を高める程度の役割にとどまります。
編集コメント
情報の断片的な報告に留まっているため、詳細な技術的価値や実用性を評価するには不十分です。今後の公式ドキュメントやリポジトリの更新から具体的な内容が明らかになることを期待します。
Codex をオープンに!
OpenAI の Codex や Claude Code 向けの汎用プロバイダープロキシ。Codex CLI、App、SDK、そして Claude Code を通じて、あらゆる大規模言語モデル(LLM)を利用できます。
インストールと起動は以下の通りです:
npm install -g @bitkyc08/opencodex · ocx start · localhost:10100
English · 한국어 · 简体中文 · Русский · 日本語 · 📖 完全なドキュメント →
Codex のレスポンス API を、お好みのプロバイダーが理解する形式に変換する軽量なローカルプロキシです。ストリーミング処理、ツール呼び出し、推論トークン、画像のやり取りなど、双方向でこれらすべてが動作します。
Claude、Gemini、Grok、GLM、DeepSeek、Kimi、Qwen、Ollama、あるいは他のあらゆる LLM を、Codex や Claude Code と組み合わせて使用可能。誰かがサポートを追加するのを待つ必要はありません。
Codex で、任意のモデルを実行。 プロバイダーを選んでスタート。同じ Codex のワークフローで、異なる脳(モデル)を動かすだけです。
また、Codex の認証には ChatGPT アカウントプールの管理機能も備えています。複数の ChatGPT または Codex アカウントを追加し、ダッシュボードから 5 時間ごとの利用枠や週次・月次のクォータをリフレッシュできます。新しいセッションは自動的に使用量が最も少なく、正常に動作しているアカウントへルーティングされます。
既存の Codex スレッドは、そのスレッドを開始したアカウントに固定されたままになります。SSH、tmux、またはモバイル端末経由で接続されているセッションも、会話中にアカウントが切り替わることはありません。
Codex CLI / App / SDK ──/v1/responses──▶ opencodex ──▶ Any provider
│
Anthropic · Google · xAI · Kimi · Ollama Cloud · Groq
OpenRouter · Azure · DeepSeek · GLM · …and OpenAI itself
flowchart LR
codex[Codex session
CLI, App, SSH, mobile] --> proxy[opencodex]
proxy --> existing{Existing thread?}
existing -->|yes| pinned[Keep the same
ChatGPT account]
existing -->|new session| quota[Refresh quota
5h, weekly, 30d]
quota --> pick[Pick lowest-usage
healthy account]
pick --> upstream[ChatGPT / Codex backend]
pinned --> upstream
upstream --> outcomes[Quota / auth outcome]
outcomes -->|429| cooldown[Cooldown + failover]
outcomes -->|401 / 403| reauth[Mark reauth needed]
cooldown --> quota
サポートされているプラットフォーム
OS
Status
Service manager
macOS (arm64 / x64)
Fully supported
launchd
Linux (x64 / arm64)
Fully supported
systemd (user unit)
Windows (x64)
Fully supported
Task Scheduler (hidden) / opt-in native service (--native, WinSW)
Node.js は 18 以降が必要です。npm install を実行すると Bun ランタイムも自動的にバンドルされるため、別途 Bun のインストールは不要です。Windows でも WSL を使わずにネイティブで動作します。
クイックスタート
インストール(Bun ランタイムが自動バンドルされます。Node.js 18 以上が必要)
ユーザー管理の Node(nvm/fnm など)を推奨します。sudo npm install -g … は避けてください。
npm install -g @bitkyc08/opencodex
インタラクティブなセットアップ(設定ファイルの作成、Codex への注入、自動起動シェルのインストールオプション付き)
ocx init
プロキシを起動
ocx start
init の際にスキップした場合は、後からオンデマンド自動起動シェルをインストールできます
ocx codex-shim install
Codex は通常通り使用可能。現在は opencodex を経由して動作します
codex "Write a hello world in Rust"
「バンドルされた Bun ランタイムが見つからない」エラー / npm で Bun のインストールスクリプトがブロックされている場合?
opencodex は依存関係として Bun ランタイムをバンドルしており、Node.js 経由で起動します。そのため、自分で Bun をインストールする必要はありません。
もし「bundled Bun runtime is missing」というエラーが表示される場合は、ライフサイクルスクリプト(npm が bun の postinstall スクリプトを allowScripts 設定下でブロックしている場合など)がスキップされたか、オプション依存関係の除外が行われた可能性があります。これらのフラグを外して再インストールし、bun のインストールスクリプトを実行できるようにしてください。
npm install -g --allow-scripts=bun @bitkyc08/opencodex # --ignore-scripts や --omit=optional は指定しない
元のインストールで sudo を使用していた場合は、引き続き sudo を使ってください:
sudo npm install -g --allow-scripts=bun @bitkyc08/opencodex
npm の警告メッセージには、パッケージ名を省略した略記コマンドの例が含まれていますが、これを実行すると現在のディレクトリが再インストールされてしまいます。必ず @bitkyc08/opencodex を明示的に指定してください。
sudo を使用してルート所有のプレフィックスにインストールした場合、上記の sudo reinstall コマンドでそのプレフィックスが解放されますが、可能であれば nvm、fnm、またはユーザー固有の npm プレフィックスなど、ユーザー所有の Node 環境への移行を検討することをお勧めします。
プロバイダーの追加
プロバイダーを追加する最も簡単な方法は、Web ダッシュボードを利用することです:
ocx gui
これにより http://localhost:10100 にダッシュボードが開きます。以下の手順を実行してください。
- 「Add Provider」をクリックします。
- 40 種類以上の内蔵プロバイダーから選択するか、カスタムの OpenAI 互換エンドポイントを入力します。
- API キーを貼り付けるか、Anthropic、xAI、Kimi の場合は OAuth を経由してログインします。
- モデルはプロバイダーの
/v1/modelsエンドポイントから自動的に検出されます。
これで新しいプロバイダーがすぐに使用可能になります。再起動は不要です。
また、ocx init(対話型 CLI)を使用するか、~/.opencodex/config.json を直接編集することでプロバイダーを追加することもできます。
モデルのルーティング
provider/model 構文を使用して、任意のプロバイダーとモデルを指定できます:
zenmux、openrouter、nvidia など、独自モデル ID にスラッシュ(/)を含むプロバイダーは、Codex に対して内部のスラッシュがハイフン(-)にエイリアスされた形で公開されます(例:zenmux/moonshotai-kimi-k3-free)。プロキシはこの形式をネイティブ ID に自動的に転送しますが、元の完全なスラッシュ記法もそのまま使用可能です。
Anthropic を介して Claude Opus を使用する
codex -m "anthropic/claude-opus-4-8" "Explain this stack trace"
Google を通じて Gemini を利用
codex -m "google/gemini-3-pro" "auth.ts のユニットテストを作成"
Ollama Cloud を通じて GLM を利用
codex -m "ollama-cloud/glm-5.2" "SQL マイグレーションを作成"
Ollama を通じてローカルモデルを利用
codex -m "ollama/llama3" "この関数のリファクタリング"
プロバイダー接頭辞を省略すると、opencodex はデフォルトのプロバイダーへルーティングするか、モデル名のパターンに基づいて自動マッチングを行います(例:claude-*はAnthropicへ、gpt-*はOpenAIへ)。
ルーティングされたモデルは、Codex Appのモデル選択画面にも表示され、モデルごとに推論強度を調整できます。
現在の Codex ビルドでは、モデル側が対応を宣言していれば、低(low)、中(medium)、高(high)、超高(xhigh)、最大(max)、極大(ultra)といった推論制御オプションを利用可能です。opencodex では、プロバイダー設定で明示的にマッピングされていない限り、xhigh と max は区別して扱われます。ultra はアップストリームの Codex の意味に準拠しており、クライアント側では最大限の推論と積極的なマルチエージェント委譲を選択しますが、リクエストがプロバイダーに到達する前に max に変換されます。ルーティングされたモデルは、プロバイダー設定で reasoningEfforts を経由してオプトインした場合のみ、ultra 機能を宣言します。
GPT-5.6 の Sol/Terra/Luna は、OpenAI API キーおよび OpenRouter プリセット向けに、ロールアウト準備完了のカタログエントリとして用意されています(gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna; OpenRouter では openai/... を使用)。これらはアップストリームの利用状況に応じてプレビュー制限がかけられており、opencodex はそれらを提供できるアカウントとプロバイダーに対して、ルーティングとカタログメタデータの準備のみを行います。
OpenAI プロバイダーのアカウントモード
| プロバイダー ID | ルーティング先 | 認証情報 | 動作 |
|---|
OpenAI Codex のログイン設定では、デフォルトは複数アカウントをプールする「Pool モード」ですが、「Direct モード」も選択可能です。
OpenAI API キーの管理には、API キーそのものまたはキーのプールを使用します。このモードでは、Codex アカウントを経由したルーティングは行われません。
プールモードでは、メインの Codex ログインアカウントと追加されたアカウントが統合され、アフィニティ(親和性)、クォータ、クールダウン期間、フェイルオーバー機能が適用されます。一方、Direct モードはこのプールの状態を無視し、現在の呼び出し元またはメインログインで利用可能な Bearer トークンのみを直接使用します。
新規インストールや設定では、永続化されたモードが指定されていない限りデフォルトはプールモードになります。このモード切り替えはダッシュボードの「Providers」ページで行います。どちらのモードでも、モデル ID はそのまま(プレフィックスなし)で表示されます。
移行後、レガシーなパブリックプロバイダー ID である"chatgpt"は非表示となります。元の設定は"~/.opencodex/config.json.pre-openai-tiers-v2.bak"という名前で一度だけ保持されており、以下のコマンドで復元可能です。
cp ~/.opencodex/config.json.pre-openai-tiers-v2.bak ~/.opencodex/config.json
現在の設定では"openaiProviderTierVersion: 2"が使用されています。以前の v1 で3つのプロバイダーを設定していた構成は、自動的に単一の openai 行へ移行されます。
API タイアには、Pro 仮想モデル(gpt-5.6-sol-pro、gpt-5.6-terra-pro、gpt-5.6-luna-pro)が含まれています。通信レベルでは、それぞれが"reasoning.mode: "pro""を付与してベースモデルに書き換えられます。
カタログは8つの ID に固定されています。具体的には gpt-5.5、gpt-5.6、Sol/Terra/Luna、およびこれらに対応する3つの Pro 仮想 ID です。一般的な"gpt-5.6-pro"というエイリアスは存在しません。
コンパクトなリクエストでは選択されたタイアは維持されますが、推論オブジェクトを含まずにベースモデルのみが送信されます。
公式の API メタデータによると、コンテキストトークンは最大 1,050,000、入力トークンの上限は 922,000 です。
設定された OpenAI アカウントモードには gpt-5.6-sol を、API キーには openai-apikey/gpt-5.6-sol を使用してください。Codex のログイン情報と API 認証情報は相互に混在することはありません。
Pool account behavior(プールアカウントの動作)
ダッシュボードでCodex Authを開き、アカウントを追加して、次の Codex セッションをどのアカウントが担当するかを選択できます。opencodex は以下の機能を維持しています:
- 既存のセッションはアフィニティ(親和性)を保持します。スレッド ID が選択されたアカウントにバインドされ、その後のやり取りでも再利用されるため、長時間のリクエストやモバイル/SSH を介した接続であっても、同じアカウントが継続して使用されます。
- 新しいセッションでは自動ルーティングが可能です。自動切り替えを有効にすると、opencodex は過去 5 時間、1 週間、30 日間の利用状況から最も混雑しているクォータウィンドウを比較し、アクティブなアカウントが閾値を超えた時点で、使用量の少ない適切なアカウントを新しいセッションに割り当てます。
- クォータ確認機能が内蔵されています。ダッシュボードではワンクリックですべてのアカウントのクォータを更新でき、リクエストログには非個人識別情報(PII)を含むアカウント番号でプール内のトラフィックがラベル付けされます。
- 障害発生時は安全側に閉じます。トークンエラーが発生すると、別の認証情報を黙ってフォールバックするのではなく再認証を要求します。429(クォータ超過)のレスポンスを受けると、そのアカウントはクールダウン状態になり、将来の処理は他の適切なプールアカウントへフェイルオーバーされます。
Highlights
- Codex で任意の LLM を利用可能。5 つのプロトコルアダプターが Anthropic Messages、Google Gemini、Azure、OpenAI Responses のパsthrough、そして OpenAI 互換の Chat Completions エンドポイントすべてに対応しており、標準で 40 以上のプロバイダーを利用できます。
- Claude Code も含むあらゆる LLM を利用できます。同じデーモンが Anthropic Messages API (/v1/messages + count_tokens) を提供します。ocx claude コマンドを実行すると、Claude Code が完全に接続され、ゲートウェイによるモデル検出機能を通じてネイティブのモデルピッカーにルーティングされたモデルが表示されます(例:claude-ocx--- というエイリアス。Claude Code 2.1.129 以降が必要)。ダッシュボードの Claude ページでスロットやモデルマッピングを設定できます。
- ChatGPT アカウントを安全にプール管理します。既存の Codex スレッドは特定のアカウントに固定し、新しいセッションでは使用量の少ないアカウントから自動的に選択できるようにします。クォータのリフレッシュ機能や、個人情報を含まないリクエストであることを示すラベルも用意されています。
- 一度ログインすれば API キーの入力は不要です。xAI、Anthropic、Kimi に対応する OAuth サポートにより、既存のアカウントで認証できます。トークンは自動的に更新されます。あるいは、Codex のログイン情報を転送するか、API キーを貼り付けるか、${ENV_VAR} 形式の変数参照を使用することも可能です。
- Codex が動作する環境であればどこでも利用可能です。Codex CLI、TUI、アプリ、SDK に自動的に組み込まれ、ルーティングされたモデルはネイティブのモデルと同様に Codex のモデルピッカーに表示されます。
- 履歴を安全に注入します。ローカルインストールでは、プロキシが単一の openai_base_url 設定行を通じて、Codex が持つ組み込みの OpenAI プロバイダーを自分自身に向けます。これにより、新しいスレッドはネイティブのプロバイダータグを維持し、進行中のチャット履歴が再マッピングされることはありません。また、不整なシャットダウンが発生しても履歴が消える心配はありません(旧バージョンでタグ付けされたスレッドは、初回起動時に自動的に元の状態に戻されます)。リモート接続や LAN 共有の場合は API キーヘッダーが必要となるため、専用のプロバイダエントリを使用します。
- 適切なモデルに任せる。ダッシュボードまたは設定から、Codex のサブエージェント選択画面に最大 5 つのルーティング済みまたはネイティブモデルを登録できます。複雑なタスクは推論能力の高いモデルへ、高速処理が必要なタスクは低コストのモデルへと振り分けるのが基本です。v2 マルチエージェントインターフェース(GPT-5.6 Sol/Terra)では、プロキシがコンパクトな委譲ガイダンスを注入します。具体的には、「推奨サブエージェントモデル」と「努力レベル」 (injectionModel / injectionEffort) です。また、各モデルがサポートする努力レベルのリストと、クロスモデルによる spawn_agent 呼び出しでオーバーライドを適用するための fork_turns ルールも含まれます。既知の制限事項として、ネイティブ親プロセスからルーティング子プロセスが起動された場合、タスク本体がバックエンド側で暗号化されてしまい、情報が失われる可能性があります(#92)。信頼性の高いプロバイダ間での委譲を行うには、v1 インターフェースを使用してください。独自の文言を設定したい場合は、injectionPrompt に {{model}} / {{effort}} / {{roster}} のプレースホルダーを指定します。
- プレビュー限定の OpenAI ロールアウトに備える。GPT-5.6 Sol/Terra/Luna エントリーは、上位互換の努力レベル階層を引き継ぎます。Direct/Multi は 372k の Codex コントラクトを使用し、OpenAI API や OpenRouter では、上位アクセスが利用可能な場合に 1.05M のメタデータを利用します。
- すべてのモデルにスーパーパワーを付与する。OpenAI 以外のモデルでも、ChatGPT ログイン経由で gpt-5.4-mini サイドカーを活用することで、リアルタイムの Web 検索や画像理解機能を獲得できます。
- ネイティブな画像生成を実現する。Codex のスタンドアロン画像生成ツール image_gen は、生成に POST /v1/images/generations を、編集に POST /v1/images/edits を使用します。これはホストされた Responses の image_generation ツールとは別物です。
「何が起こっているかを確認する」Web ダッシュボードでは、プロバイダー、OAuth のステータス、モデル選択状況、そして生リクエストログが表示されます。アップストリームが報告する場合、キャッシュ済み/キャッシュ書き込みのトークン数も確認できるため、「なぜリクエストが失敗したのか」を推測する必要はなくなります。
「バックグラウンドで動作する」システムサービスとしてインストールすれば(launchd / systemd / タスクスケジューラー)、後は気にしなくて済みます。macOS や Linux ではログイン時にプロキシが起動します。Windows のデフォルト設定では、ログオン時に非表示のタスクスケジューラーバックグラウンドが起動しますが、ocx service install --native を使用すれば、ブート時に起動する本物の Windows サービスとしてインストールすることも可能です。
「クリーンな終了とゼロの残滓」を実現します。ocx stop コマンド(またはダッシュボードの停止ボタン)を実行するとプロキシがシャットダウンし、インストールされているバックグラウンドサービスも停止されます。その結果、Codex は元の設定に戻ります。通常の codex は以前と同じように動作するため、設定ファイルの残骸や孤立したプロセスは残りません。
プロバイダーとアダプター
| プロバイダー | アダプター | 認証 |
|---|---|---|
| OpenAI (ChatGPT ログイン) | openai-responses | フォワード(キー不要) |
| OpenAI (API キー) | openai-responses | key |
| Umans AI Coding Plan | anthropic | key |
| Anthropic Claude | anthropic | oauth / key |
| xAI Grok | openai-chat | oauth / key |
| Kimi (Moonshot) | openai-chat | oauth / key |
| Google Gemini | key | |
| Azure OpenAI | azure-openai | key |
| Cursor(実験的) | cursor | ダッシュボード/ローカル設定;ライブ転送;不安全なネイティブローカル実行はオプトイン式 |
| Ollama Cloud + 17 プロバイダーカタログ | openai-chat | key |
| Ollama / vLLM / LM Studio(ローカル) | openai-chat | キー(通常は空白) |
| OpenAI 互換エンドポイントなら何でも | openai-chat | key |
DeepSeek、Groq、OpenRouter、Together、Fireworks、Cerebras、Mistral、Hugging Face、NVIDIA NIM、MiniMax、Qwen Cloud など多数のサービスに対応しています。利用可能なプロバイダーの全リストは、ocx init コマンドを実行するか、プロバイダードキュメント をご確認ください。
Cursor への対応は段階的な実験的機能です。ocx init やダッシュボードの「プロバイダー選択」画面では、Cursor の静的な公開モデルカタログをローカル設定として読み込む形式で提供されます。Cursor のアクセストークンを設定すると、HTTP/2 による転送が有効になります。ただし、Codex の承認フローやサンドボックス経路を迂回する恐れがあるため、ネイティブの読み書き・削除・ファイル一覧取得・grep・シェル実行・フェッチ機能はデフォルトで無効化されています。信頼できるローカル実験環境でのみ、unsafeAllowNativeLocalExec: true を設定してこれらの機能を有効にしてください。
MCP(Model Context Protocol)、画面録画、コンピュータ操作機能は、エグゼキューターフックを通じて公開されます。ローカルのエグゼキューターが未設定の場合、ポリシーによるリクエストブロックではなく、「エグゼキューターなし」という型付きの応答を返します。
実験的な Cursor アダプターでは、OAuth 認証とライブモデルディスカバリー機能を有効化しています。
ocx init # インタラクティブセットアップ
ocx start [--port 10100] # プロキシを起動。ポートが使用中の場合は空きポートに自動切り替え
ocx stop # プロキシ停止と、ネイティブ Codex の復元
ocx restore # 停止せずに復元(エイリアス:ocx eject)
ocx uninstall # サービス・シャム・設定を削除し、ネイティブ Codex を完全復元
ocx ensure # 必要に応じて起動し、Codex の設定とキャッシュを更新
ocx sync # モデルの更新を行い、Codex に再注入
ocx codex-shim install # codex コマンド実行時に自動的に ocx ensure を実行するよう設定
ocx status # プロキシが起動中か確認
ocx login # OAuth ログイン(xai, anthropic, kimi, cursor など)
ocx logout # 保存されたログイン情報を削除
ocx account # アカウント一覧表示・切り替え、API キープールの管理(キーはマスク表示。更新・自動切り替え・追加・削除も可能)
ocx gui # Web ダッシュボードを開く
ocx claude [args...] # プロキシに接続された Claude Code を起動(モデル自動発見機能有効)
ocx service [install|start|stop|status|uninstall] # バックグラウンドサービスのインストール・更新・起動・停止・ステータス確認・削除
ocx update [--tag preview] # opencodex のアップデート。preview タグは @preview ブランチに固定
自動起動:service と shim の違い
opencodex には、プロキシを自動的に起動する 2 つの方法があります。
- ocx service / ocx service install
- ocx codex-shim install
仕組みの違い
OS のサービス管理機能(launchd / systemd / schtasks)を利用
Codex 用のスクリプトランチャーをラップし、実体の codex.exe はそのまま残す
起動タイミング
ログイン後は常時実行されます。
オンデマンドモードでは、Codex が起動した際に ocx ensure を実行して自動的に起動します。
再起動機能
クラッシュ時に自動で再起動します。
Codex の各呼び出しごとに 1 回だけ起動します。
Codex のアップデート対応
影響を受けません。
次回の ocx codex-shim インストール時や ocx update で自動的に修復されます。
アンインストール方法
service を削除するには:ocx service uninstall
codex-shim を削除するには:ocx codex-shim uninstall
開発マシンでは常時動作するプロキシとして service の利用を推奨します。一方、バックグラウンドデーモンなしで軽量なオンデマンド起動を実現したい場合は shim が適しています。shim の自動起動はデフォルトで有効化されていますが、GUI ダッシュボードから無効にすることも可能です。
設定したプロキシポートが既に使用中の場合、ocx start は自動的に別の空きローカルポートを選択し、Codex に対してそのポートを使用するよう更新します。
ポート番号は 10100、デフォルトのプロバイダーは Anthropic です。
providers セクションには、各プロバイダーの詳細設定が記述されます。Anthropic の場合、アダプターとして「anthropic」を指定し、ベース URL は公式 API エンドポイント、認証モードは OAuth、デフォルトモデルは「claude-sonnet-4-6」としています。
Ollama Cloud の場合は、OpenAI 互換のチャットアダプター「openai-chat」を使用し、ベース URL に Ollama のエンドポイントを指定します。API キーは環境変数 ${OLLAMA_API_KEY} から読み込み、デフォルトモデルには「glm-5.2」を設定しています。
プロバイダーのエントリでは、ルーティングカタログメタデータに追加情報を付与することも可能です。具体的には、contextWindow でプロバイダー全体の Codex 利用可能なコンテキスト上限を定義し、modelContextWindows でモデルごとの個別の上限を設定できます。また、modelInputModalities では、モデルが扱える入力形式(例:テキストのみなら ["text"]、テキストと画像の両方なら ["text", "image"])といったカタログ入力のヒントを指定します。
これらのコンテキスト値は、ライブ /models メタデータの上限として機能しますが、実際の稼働中のコンテキストウィンドウを縮小させることはありません。なお、バンドルされた GPT-5.6 Sol/Terra/Luna のフォールバックメタデータでは、OpenAI API キーおよび OpenRouter カタログエントリに対して 105 万トークンのコンテキストウィンドウが設定されていますが、これは上流のプレビューアクセスを迂回するものではありません。フィールド一覧の詳細は構成リファレンスをご参照ください。
GLM-5.2 の 100 万トークンコンテキストを Z.AI で利用: OpenAI Chat アダプター経由で、glm-5.2 と glm-5.2[1m]の両方が動作します。ただし、OpenAI 互換エンドポイントは括弧付き ID を受け付けないため(Z.AI のエラーコード 400/1211)、Opencodex はリクエスト送信前に末尾の [1m] サフィックスを自動的に削除します。
この [1m] サフィックスは Claude-Code や Anthropic エンドポイントにおける慣習です。これをネイティブに利用したい場合は、Anthropic アダプターを Z.AI のコーディングベース(https://api.z.ai/api/coding/paas/v4)に設定してください。また、100 万トークンのコンテキストウィンドウはモデル名ではなく、モデルカタログ(modelContextWindows)を通じて設定する必要があります。
ローカルモデルも利用可能です。Opencodex を、お使いのマシン上で動作する OpenAI 互換サーバーに接続すれば使えます:
{
"port": 10100,
"defaultProvider": "ollama",
"providers": {
"ollama": {
"adapter": "openai-chat",
"baseUrl": "http://localhost:11434/v1",
"authMode": "key",
"apiKey": "",
"defaultModel": "llama3"
},
"vllm": {
"adapter": "openai-chat",
"baseUrl": "http://localhost:8000/v1",
"authMode": "key",
"apiKey": "",
"defaultModel": "Qwen/Qwen3-32B"
}
}
}
WebSocket 転送はデフォルトで無効になっています。Codex に HTTP/SSE の代わりに Responses WebSocket パスを利用・広告させる必要がある場合のみ、"websockets": true を設定してください。
リモートアクセス
デフォルトでは、opencodex は 127.0.0.1(ループバック)にバインドされ、追加の認証は不要です。ただし、"hostname": "0.0.0.0" を設定して LAN 上でプロキシを公開する場合は、管理 API (/api/*) とデータプレーン (/v1/responses, /v1/images/generations, /v1/images/edits) の両方を保護するために Bearer トークンの認証が必要です。
export OPENCODEX_API_AUTH_TOKEN="your-secret-token"
ocx start
ループバック外へのバインド時にこの変数が設定されていないと、プロキシは起動しません。LAN 利用用のバックグラウンドサービスとしてインストールする場合は、ocx service install の実行前に同じ変数をエクスポートし、サービスマネージャーがその値を受け取れるようにしてください。
クライアント(スクリプトや遠隔マシン)は、すべてのリクエストにトークンを含める必要があります:
x-opencodex-api-key: your-secret-token
このトークンはタイミング攻撃を防ぐために定時間比較で検証されます。
opencodex は Codex の履歴を自動的に再マッピングします。これにより、プロキシが稼働している間も、以前の OpenAI チャットや opencodex が作成したプロジェクトスレッドは Codex アプリ上で引き続き表示可能です。また、元の提供元やソースのメタデータは ~/.opencodex/codex-history-backup.json に記録されます。
ocx stop または ocx restore を実行すると、バックアップされた OpenAI の行が OpenAI へ復元され、残りの opencodex ユーザースレッドも OpenAI へ移行されます。これにより、設定ファイルの config.toml に存在しなくなったプロバイダーを持つスレッドをネイティブな Codex が再開しようとするのを防ぎます。
バックアップ機能の実装前に、syncResumeHistory で履歴が既に再マッピングされていた古い開発ビルドをテストした場合は、以下の明示的な復元コマンドを実行することもできます:
ocx recover-history --legacy-openai
各項目の詳細は、設定リファレンス をご確認ください。
ドキュメントについて
インストール方法、プロバイダー、ルーティング、サイドカー、Codex 連携、Codex アプリモデルピッカー、CLI/設定リファレンスといった公開ドキュメントは、docs-site/ から構築され、lidge-jun.github.io/opencodex に公開されています。
メンテナーによる公式の注釈は structure/ 配下に、過去の調査記録は docs/ 配下に保存されています。
コントリビューター向けのセットアップ手順は CONTRIBUTING.md、セキュリティ報告のガイドラインは SECURITY.md に記載されています。
開発環境の構築
git clone https://github.com/lidge-jun/opencodex.git
cd opencodex
bun install
bun run dev:proxy # 開発モードでプロキシ API を起動
bun run dev:gui # 別のターミナルでダッシュボードのデブサーバーを起動
bun x tsc --noEmit # タイプチェックを実行
互換性を保つために、bun run dev は bun run dev:proxy のエイリアスとして残されています。ソースコードをクローンした環境では、プロキシ API が /healthz、/v1/responses、POST /v1/images/generations、POST /v1/images/edits、および /api/* を公開します。また、bun run build:gui で GUI のビルドが完了した後にのみ、ルートパス(GET /)でパッケージ化されたダッシュボードが表示されます。
ダッシュボードの開発中は、フロントエンドを別プロセスとして起動してください:
bun run dev:gui詳細は コントリビューションガイド をご覧ください。
##免責事項
opencodex は独立したコミュニティ主導のプロジェクトであり、OpenAI、Anthropic、またはその他のプロバイダーとは一切関係なく、それらの公認も受けていません。
一部のプロバイダー(特に Anthropic の Claude など)は、サードパーティのプロキシを介して API トラフィックが流れるアカウントに対して、停止や制限を行う可能性があります。利用は自己責任で行ってください (UAYOR)。接続前に各プロバイダーの利用規約を確認し、プロキシ経由でのアクセスが許可されているか必ず確認してください。upstream プロバイダーによるアカウントへの措置について、opencodex のメンテナーは一切責任を負いません。
##ライセンス
MIT
原文を表示
make codex open!
Universal provider proxy for OpenAI Codex & Claude Code — use any LLM with Codex CLI, App, SDK, and Claude Code.
npm install -g @bitkyc08/opencodex · ocx start · localhost:10100
English · 한국어 · 简体中文 · Русский · 日本語 · 📖 Full documentation →
Use Claude, Gemini, Grok, GLM, DeepSeek, Kimi, Qwen, Ollama, or any other LLM with Codex — and with Claude Code — without waiting for anyone to add support.
opencodex is a lightweight local proxy that translates Codex's Responses API into whatever your provider speaks. Streaming, tool calls, reasoning tokens, images — everything works, in both directions.
Codex, running any model. Pick a provider and go — same Codex workflow, different brain.
It can also manage a ChatGPT account pool for Codex auth. Add multiple ChatGPT / Codex accounts,
refresh their 5h / weekly / 30d quota in the dashboard, and let new sessions auto-route to the
lowest-usage healthy account. Existing Codex threads stay pinned to the account that started them,
so long SSH, tmux, or mobile-connected sessions do not jump accounts mid-conversation.
Codex CLI / App / SDK ──/v1/responses──▶ opencodex ──▶ Any provider
│
Anthropic · Google · xAI · Kimi · Ollama Cloud · Groq
OpenRouter · Azure · DeepSeek · GLM · …and OpenAI itself
flowchart LR
codex[Codex session<br/>CLI, App, SSH, mobile] --> proxy[opencodex]
proxy --> existing{Existing thread?}
existing -->|yes| pinned[Keep the same<br/>ChatGPT account]
existing -->|new session| quota[Refresh quota<br/>5h, weekly, 30d]
quota --> pick[Pick lowest-usage<br/>healthy account]
pick --> upstream[ChatGPT / Codex backend]
pinned --> upstream
upstream --> outcomes[Quota / auth outcome]
outcomes -->|429| cooldown[Cooldown + failover]
outcomes -->|401 / 403| reauth[Mark reauth needed]
cooldown --> quota
Supported platforms
OS
Status
Service manager
macOS (arm64 / x64)
Fully supported
launchd
Linux (x64 / arm64)
Fully supported
systemd (user unit)
Windows (x64)
Fully supported
Task Scheduler (hidden) / opt-in native service (--native, WinSW)
Requires Node 18+. The Bun runtime is bundled automatically on npm install — no separate Bun install needed. All three platforms work natively (no WSL needed on Windows).
Quick start
# Install (bundles the Bun runtime automatically — only Node 18+ required)
# Prefer a user-owned Node (nvm/fnm) — avoid `sudo npm install -g …`
npm install -g @bitkyc08/opencodex
# Interactive setup (writes config, injects into Codex, and offers autostart shim install)
ocx init
# Start the proxy
ocx start
# If you skipped it during init, install the on-demand autostart shim later
ocx codex-shim install
# Use Codex normally — it now routes through opencodex
codex "Write a hello world in Rust""bundled Bun runtime is missing" / npm blocked Bun install scripts?
opencodex bundles the Bun runtime as a dependency and runs it via a Node
launcher, so you do not need to install Bun yourself. If you see a
"bundled Bun runtime is missing" error, the install skipped lifecycle scripts
(including npm blocking bun's postinstall under allowScripts) or optional
dependencies. Reinstall without those flags, allowing bun's install script:
npm install -g --allow-scripts=bun @bitkyc08/opencodex # no --ignore-scripts, no --omit=optional
# if the original install used sudo, keep using sudo:
sudo npm install -g --allow-scripts=bun @bitkyc08/opencodexnpm's own warning suggests an abbreviated command without the package name —
that would reinstall the current directory, so always pass
@bitkyc08/opencodex explicitly.
If you installed with sudo into a root-owned prefix, the sudo reinstall above
unblocks that prefix — but prefer migrating to a user-owned Node (nvm, fnm, or
a user npm prefix) when you can.
Add a provider
The fastest way to add a provider is through the web dashboard:
ocx guiThis opens the dashboard at http://localhost:10100. From there:
- Click "Add Provider"
- Pick from 40+ built-in providers — or enter a custom OpenAI-compatible endpoint
- Paste your API key (or log in via OAuth for Anthropic, xAI, and Kimi)
- Models are auto-discovered from the provider's /v1/models endpoint
Your new provider is ready to use immediately. No restart needed.
You can also add providers through ocx init (interactive CLI) or by editing ~/.opencodex/config.json directly.
Model routing
Target any configured provider and model using the provider/model syntax:
Providers whose own model ids contain / (zenmux, openrouter, nvidia, …) are exposed to
Codex with inner slashes aliased to - (e.g. zenmux/moonshotai-kimi-k3-free); the
proxy transparently routes them back to the native id, and the raw full-slash form keeps
working too.
# Use Claude Opus through Anthropic
codex -m "anthropic/claude-opus-4-8" "Explain this stack trace"
# Use Gemini through Google
codex -m "google/gemini-3-pro" "Write unit tests for auth.ts"
# Use GLM through Ollama Cloud
codex -m "ollama-cloud/glm-5.2" "Write a SQL migration"
# Use a local model through Ollama
codex -m "ollama/llama3" "Refactor this function"When you omit the provider/ prefix, opencodex routes to the default provider — or auto-matches based on the model name pattern (e.g., claude-* routes to Anthropic, gpt-* routes to OpenAI).
Routed models also appear in the Codex App model picker with per-model reasoning effort controls:
Current Codex builds can expose low, medium, high, xhigh, max, and ultra reasoning
controls when a model advertises them. opencodex keeps xhigh and max distinct unless a provider
config explicitly maps one to the other. ultra mirrors upstream Codex semantics: it selects
maximum reasoning plus proactive multi-agent delegation in the client, and is converted to max
before any request reaches a provider. Routed models advertise it only when a provider config opts
in via reasoningEfforts.
GPT-5.6 Sol/Terra/Luna are seeded as rollout-ready catalog entries for the OpenAI API key and
OpenRouter presets (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna; OpenRouter uses
openai/...). They remain preview-gated by upstream availability; opencodex only prepares the
routing and catalog metadata for accounts and providers that can serve them.
OpenAI provider account modes
Provider ID
Route
Credential
Behavior
openai
Codex login
Main + added Codex accounts
Pool by default; optional Direct mode
openai-apikey
OpenAI API
API key/key pool
No Codex account routing
- Pool includes the main Codex login and added accounts, with affinity, quota, cooldown, and failover.
- Direct short-circuits pool state and uses only the current caller/main-login bearer.
- Fresh installs and configs with no persisted mode default to Pool. Change the mode on the
dashboard's Providers page; model ids stay bare in either mode.
- The legacy public provider id chatgpt is hidden after migration. The original config is retained
once at ~/.opencodex/config.json.pre-openai-tiers-v2.bak; restore it with
cp ~/.opencodex/config.json.pre-openai-tiers-v2.bak ~/.opencodex/config.json.
- Current configs use openaiProviderTierVersion: 2. Earlier v1 three-provider configs migrate
automatically into the single openai row.
- The API tier includes Pro virtual models (gpt-5.6-sol-pro, gpt-5.6-terra-pro,
gpt-5.6-luna-pro). At the wire level, each rewrites to its base model with
reasoning.mode: "pro".
- Its catalog is fixed to eight ids: gpt-5.5, gpt-5.6, Sol/Terra/Luna, and the three
corresponding Pro virtual ids. There is no generic gpt-5.6-pro alias.
- Compact requests keep the selected tier but send the base model without a reasoning object.
- Official API metadata is 1,050,000 context tokens and 922,000 max input tokens.
Use gpt-5.6-sol for the configured openai account mode and
openai-apikey/gpt-5.6-sol for the API key. Codex-login and API credentials never fall through to
one another.
Pool account behavior
Open Codex Auth in the dashboard to add accounts and choose which account should handle the
next Codex session. opencodex keeps these behaviors:
- Existing sessions keep affinity. A thread id is bound to the selected account and reused on
later turns, so a long request or a mobile/SSH-attached session keeps using the same account.
- New sessions can auto-route. When auto-switch is enabled, opencodex compares the hottest known
quota window across 5h, weekly, and 30d usage, then picks a lower-usage eligible account for new
sessions once the active account crosses the threshold.
- Quota lookup is built in. The dashboard can refresh all account quotas in one click, and the
request log labels pool traffic with non-PII account ordinals.
- Failures fail closed. Token failures mark reauthentication instead of falling back to another
credential silently; 429 quota responses put the account in cooldown and can fail over future work
to another eligible pool account.
Highlights
- Use any LLM with Codex. 5 protocol adapters cover Anthropic Messages, Google Gemini, Azure, OpenAI Responses passthrough, and every OpenAI-compatible Chat Completions endpoint — that's 40+ providers out of the box.
- Use any LLM with Claude Code too. The same daemon serves the Anthropic Messages API (/v1/messages + count_tokens): ocx claude launches Claude Code fully wired, and routed models appear in its native /model picker via gateway model discovery (claude-ocx-<provider>--<model> aliases, Claude Code 2.1.129+). Configure slots and model maps on the dashboard's Claude page.
- Pool ChatGPT accounts safely. Keep existing Codex threads on one account while new sessions
can auto-pick a lower-usage account from the pool, with quota refresh and non-PII request labels.
- Log in once, skip the API key. OAuth support for xAI, Anthropic, and Kimi means you can authenticate with your existing account. Tokens auto-refresh. Or forward your codex login, paste an API key, or use ${ENV_VAR} references — your call.
- Works everywhere Codex does. Injects into Codex CLI, TUI, App, and SDK automatically. Routed models show up in Codex's model picker just like native ones.
- History-safe injection. On local installs the proxy points Codex's own built-in openai provider at itself via a single openai_base_url line — new threads keep their native provider tag, so ongoing chat history is never remapped and an unclean shutdown can't hide it. (Threads re-tagged by older versions are migrated back once on the first start; remote/LAN binds use a dedicated provider entry instead, since they need an API-key header.)
- Delegate to the right model. Feature up to five routed or native models in Codex's subagent picker from the dashboard or config — route complex tasks to a reasoning model, fast tasks to a cheap one. On the v2 multi-agent surface (GPT-5.6 Sol/Terra) the proxy injects compact delegation guidance: a preferred sub-agent model and effort (injectionModel / injectionEffort), the featured-model roster with the effort ladder each supports, and the fork_turns rules that let cross-model spawn_agent calls apply their overrides. Known limitation: when a native parent spawns a routed child, the task body can currently arrive backend-encrypted and be lost (#92) — use the v1 surface for reliable cross-provider delegation. Want your own wording? Set injectionPrompt with {{model}} / {{effort}} / {{roster}} placeholders.
- Prepare for preview-gated OpenAI rollouts. GPT-5.6 Sol/Terra/Luna entries preserve the upstream effort ladders. Direct/Multi use the 372k Codex contract; OpenAI API and OpenRouter use 1.05M metadata when upstream access is available.
- Give any model superpowers. Non-OpenAI models get real web search and image understanding via a gpt-5.4-mini sidecar over your ChatGPT login.
- Generate images natively. Codex's standalone image_gen tool uses POST /v1/images/generations for generation and POST /v1/images/edits for edits; it is separate from the hosted Responses image_generation tool.
- See what's happening. The web dashboard shows providers, OAuth status, model selection, and a live request log, including cached/cache-write token counts when upstream reports them — no more guessing why a request failed.
- Runs in the background. Install as a system service (launchd / systemd / Task Scheduler) and forget about it. On macOS/Linux the proxy starts at login; on Windows the default Task Scheduler backend starts at logon (windowless), or use ocx service install --native for a real Windows service that starts at boot.
- Clean exit, zero residue. ocx stop (or the dashboard's Stop button) shuts down the proxy, stops the background service if one is installed, and restores Codex to its original configuration. Plain codex works exactly as it did before — no leftover config, no orphaned processes.
Providers & adapters
Provider
Adapter
Auth
OpenAI (ChatGPT login)
openai-responses
forward (no key)
OpenAI (API key)
openai-responses
key
Umans AI Coding Plan
anthropic
key
Anthropic Claude
anthropic
oauth / key
xAI Grok
openai-chat
oauth / key
Kimi (Moonshot)
openai-chat
oauth / key
Google Gemini
google
key
Azure OpenAI
azure-openai
key
Cursor (experimental)
cursor
dashboard/local config; live transport; unsafe native local exec is opt-in
Ollama Cloud + 17-provider catalog
openai-chat
key
Ollama / vLLM / LM Studio (local)
openai-chat
key (usually blank)
Any OpenAI-compatible endpoint
openai-chat
key
Plus DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, Qwen Cloud, and more. See the full list with ocx init or in the provider docs.
Cursor support is a staged experimental bridge: it appears in ocx init and the dashboard Add
Provider picker as a local config with Cursor's static public model catalog. Live
HTTP/2 transport is enabled when a Cursor access token is configured. Cursor server-driven native
read/write/delete/ls/grep/shell/fetch execution is disabled by default because it bypasses Codex's
approval and sandbox path; set unsafeAllowNativeLocalExec: true only for trusted local
experiments.
MCP, screen recording, and computer-use are exposed through executor hooks; when no local executor
is configured, opencodex returns typed no-executor results instead of policy-blocking the request.
Cursor OAuth and live model discovery are enabled for the experimental Cursor adapter.
ocx init # interactive setup
ocx start [--port 10100] # start the proxy; falls back to a free port if busy
ocx stop # stop + restore native Codex
ocx restore # restore without stopping (alias: ocx eject)
ocx uninstall # remove service/shim/config and restore native Codex
ocx ensure # start if needed + refresh Codex config/cache
ocx sync # refresh models + re-inject into Codex
ocx codex-shim install # run `ocx ensure` whenever `codex` is launched
ocx status # is the proxy running?
ocx login <provider> # OAuth login (xai, anthropic, kimi, cursor, ...)
ocx logout <provider> # remove a stored login
ocx account <list|current|use> # list/switch accounts & API-key pools (masked; also refresh/auto-switch/remove/add-key)
ocx gui # open the web dashboard
ocx claude [args...] # launch Claude Code wired to the proxy (model discovery on)
ocx service [install|start|stop|status|uninstall] # install/update/start background service
ocx update [--tag preview] # update opencodex; preview installs stay on @previewAutostart: service vs shim
opencodex has two ways to auto-start the proxy:
ocx service / ocx service install
ocx codex-shim install
How
OS service manager (launchd / systemd / schtasks)
Wraps script launchers for codex; real codex.exe is left untouched
When
Always running after login
On-demand — runs ocx ensure when codex is launched
Restart
Auto-restarts on crash
Starts once per codex invocation
Codex updates
Unaffected
Repairs on next ocx codex-shim install or ocx update
Remove
ocx service uninstall
ocx codex-shim uninstall
Use the service for always-on proxy (recommended for development machines). Use the shim for
lightweight, on-demand proxy startup without a background daemon. Shim autostart is enabled by default
and can be disabled from the GUI dashboard. If the configured proxy port is already busy, ocx start
automatically picks another free local port and updates Codex to use it.
Uninstall
Before removing the npm package, clean up local state:
ocx uninstall
npm uninstall -g @bitkyc08/opencodexocx uninstall stops the proxy, removes any installed service, removes the Codex shim, restores
native Codex config/catalog/history, and deletes ~/.opencodex.
Configuration
Config lives at ~/.opencodex/config.json. If the file cannot be parsed (e.g. truncated or
manually broken JSON), opencodex backs it up to config.json.invalid-<timestamp>, prints a warning,
and falls back to defaults — so your original file is never silently lost.
Here's a typical multi-provider setup:
{
"port": 10100,
"defaultProvider": "anthropic",
"providers": {
"anthropic": {
"adapter": "anthropic",
"baseUrl": "https://api.anthropic.com",
"authMode": "oauth",
"defaultModel": "claude-sonnet-4-6"
},
"ollama-cloud": {
"adapter": "openai-chat",
"baseUrl": "https://ollama.com/v1",
"apiKey": "${OLLAMA_API_KEY}",
"defaultModel": "glm-5.2"
}
}
}Provider entries can also annotate routed catalog metadata. Use contextWindow for a provider-wide
Codex-visible context cap, modelContextWindows for model-specific caps, and
modelInputModalities for model-specific catalog input hints such as ["text"] or
["text", "image"]. Context values cap live /models metadata; they never raise a smaller live
context window. The bundled GPT-5.6 Sol/Terra/Luna fallback metadata uses a 1,050,000-token context
window for OpenAI API key and OpenRouter catalog entries; it does not bypass upstream preview
access. See the configuration reference for the full field list.
GLM-5.2 1M context via Z.AI: through the openai-chat adapter, both glm-5.2
and glm-5.2[1m] work — opencodex strips the trailing [1m] suffix before
sending the request, since OpenAI-compatible endpoints reject the bracketed id
(Z.AI 400 code 1211). The [1m] suffix is a Claude-Code / Anthropic-endpoint
convention; to use it natively, point the anthropic adapter at Z.AI's coding
base (https://api.z.ai/api/coding/paas/v4). Set the 1M context window via the
model catalog (modelContextWindows), not the model name.
Local models work too. Point opencodex at any OpenAI-compatible server running on your machine:
{
"port": 10100,
"defaultProvider": "ollama",
"providers": {
"ollama": {
"adapter": "openai-chat",
"baseUrl": "http://localhost:11434/v1",
"authMode": "key",
"apiKey": "",
"defaultModel": "llama3"
},
"vllm": {
"adapter": "openai-chat",
"baseUrl": "http://localhost:8000/v1",
"authMode": "key",
"apiKey": "",
"defaultModel": "Qwen/Qwen3-32B"
}
}
}WebSocket transport is off by default. Set "websockets": true only if you want Codex to advertise and use the Responses WebSocket path instead of HTTP/SSE.
Remote access
By default opencodex binds to 127.0.0.1 (loopback) and requires no extra authentication.
If you set "hostname": "0.0.0.0" to expose the proxy on the LAN, opencodex requires a bearer token
to protect both the management API (/api/*) and the data-plane (/v1/responses,
/v1/images/generations, and /v1/images/edits):
export OPENCODEX_API_AUTH_TOKEN="your-secret-token"
ocx startThe proxy refuses to start without this variable when binding beyond loopback. If you install a
background service for LAN access, export the same variable before ocx service install so the
service manager receives it.
Clients (scripts, remote machines) must include the token in every request:
x-opencodex-api-key: your-secret-token
The token is compared in constant time to prevent timing attacks.
opencodex automatically remaps Codex resume history so old OpenAI chats and opencodex-created project
threads stay visible in Codex App while the proxy is active. opencodex records the original provider/source metadata in
~/.opencodex/codex-history-backup.json. ocx stop / ocx restore restores backed-up OpenAI rows
to OpenAI, and ejects any remaining opencodex user threads to OpenAI as well so native Codex does not
try to resume a thread whose provider no longer exists in config.toml.
If you tested an older development build where syncResumeHistory already remapped history before
backup support existed, you can also run the explicit recovery command:
ocx recover-history --legacy-openaiSee the Configuration reference for every field.
Documentation
The public docs — install, providers, routing, sidecars, Codex integration, Codex App model picker, and CLI/config reference — are built from docs-site/ and published to lidge-jun.github.io/opencodex.
Maintainer source-of-truth notes live under structure/. Historical investigations remain under docs/.
Contributor setup lives in CONTRIBUTING.md, and security reporting guidance
lives in SECURITY.md.
Development
git clone https://github.com/lidge-jun/opencodex.git
cd opencodex
bun install
bun run dev:proxy # start the proxy API in dev mode
bun run dev:gui # start the dashboard dev server in another terminal
bun x tsc --noEmit # typecheckbun run dev remains an alias for bun run dev:proxy for compatibility. In a source checkout,
the proxy API exposes /healthz, /v1/responses, POST /v1/images/generations,
POST /v1/images/edits, and /api/*; GET / serves the packaged dashboard only after
bun run build:gui has produced gui/dist. While hacking on the dashboard, run the frontend separately:
bun run dev:guiSee Contributing.
Disclaimer
opencodex is an independent, community-maintained project and is not affiliated with or endorsed by OpenAI, Anthropic, or any other provider.
Some providers — notably Anthropic (Claude) — may suspend or restrict accounts that route API traffic through third-party proxies. Use at your own risk (UAYOR). Before connecting a provider, review its Terms of Service to confirm that proxy-based access is permitted. The opencodex maintainers are not responsible for any account actions taken by upstream providers.
License
MIT
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み