sybil-solutions/codex-shim
Local Responses-API shim that exposes Factory BYOK models (and optional ChatGPT GPT-5.5 passthrough) to Codex Desktop.
codex‑shim – Codex Desktop 用のローカルルーティング shim
概要
- Codex Desktop が期待する OpenAI Responses API を装う小さな Python + aiohttp サーバー。
127.0.0.1:8765で待ち受け、設定した任意のアップストリームモデル(OpenAI、Anthropic、Ollama、Z‑AI、DeepSeek、Gemini、OpenRouter、またはプライベートな ChatGPT‑Codex エンドポイント)に各リクエストを転送します。- shim はアップストリームの応答(ストリーミング Server‑Sent Events、ツール呼び出し、画像入力など)を Codex Desktop のネイティブ UI が理解する正確な形式に変換するため、任意の「持ち込みモデル」(BYOK) を使用しながら完全な Codex UX を維持できます。
使用する理由
- 再ビルド不要 – Codex Desktop はサーバーが広告するモデルのみを表示します。codex‑shim を実行することで、Codex を再コンパイルせずに任意のモデルをピッカーに追加できます。
- 高度な機能を維持 – 関数呼び出し/ツール出力処理、画像対応モデル、ストリーミング、エージェントループロジックはすべて、shim が忠実なプロトコル変換を行うため、変更なしで動作します。
- ハイブリッド設定 – 公式の ChatGPT Codex モデル (
gpt‑5.5) をフォールバックとして維持したり、Cursor/Composer エージェントを有料サブスクリプションにルーティングして API キーを公開せずに済ませたりできます。 - スマート自動ルーター(オプション) – 安価な分類器が、特定のリクエストを処理できる最も安いモデルを自動的に選択し、「簡単な」ターンを小さいモデルに、「難しい」ターンを大きいモデルに送信します。
- プロキシ対応 – shim の HTTP エンドポイントは、別のローカルプロキシでラップして、プロンプトの注入、リクエストの重複排除、ポリシーの適用が可能です。
仕組み
- 設定 –
~/.codex‑shim/models.json(またはカスタムファイル)を作成し、次のようなフィールドを持つモデルをリストします。
サポートされる{ "model": "gpt‑5.5", "provider": "openai", "base_url": "https://api.openai.com/v1", "api_key": "sk‑…", "display_name": "OpenAI GPT‑5.5", "max_context_limit": 400000 }provider値は、openai、anthropic、および汎用の OpenAI 形状チャット API です。 - カタログ生成 –
codex‑shim generateは JSON を読み取り、Codex 互換のモデルカタログ (custom_model_catalog.json) と、~/.codex/config.toml内の小さなプロバイダーブロックを書き込みます。 - デーモン起動 –
codex‑shim startはループバックアドレスで aiohttp サーバーを起動します。 - Codex 起動 –
codex‑shim app .は、shim 管理のブロックを設定に含めた状態で Codex Desktop を起動するため、UI にすべてのカスタムエントリが表示されます。 - モデル切り替え –
codex‑model list/codex‑model <slug>は同じ設定ブロックを更新してデフォルトモデルを変更します。codex‑appは Codex を再起動して変更を適用します。
プラットフォームサポート
- macOS、Linux、WSL、Git Bash、ネイティブ Windows (PowerShell/cmd) で動作します。コアサーバーは純粋な Python で、オプションの macOS「ピッカーパッチ」のみが Electron アプリに触れます。
- Windows Store/MSIX ビルドにはより厳格な許可リストがあります。shim は引き続き機能しますが、パッチなしのルートを使用しない限り、UI がカスタムスラッグを非表示にする場合があります。
追加ユーティリティ
codex‑shim patch‑app/restore‑app– macOS で Codex の非表示モデルフィルターを無効にする 1 行の ASAR パッチを適用または元に戻します。codex‑shim opencode‑go refresh– OpenCode Go サービスからライブモデルリストを取得し、設定にマージします。codex‑shim generate、list、status、disable– カタログ管理とヘルスチェック用の CLI ヘルパー。
誰が恩恵を受けるか
- すでに Codex Desktop(AI 搭載コーディングアシスタント)を使用しているが、プライベートまたはより安価な LLM エンドポイントを指したい開発者。
- Codex UI を維持しながら、内部プロキシまたは資格情報ポリシーに準拠する必要があるチーム。
- 複数のプロバイダーを試し、単一のローカルホスト型ルーティングレイヤーを望む人。
TL;DR: codex‑shim は、Codex Desktop が組み込みの OpenAI エンドポイントと通信していると思い込ませながら、実際には設定した任意の LLM にリクエストを転送する軽量 Python サーバーです。BYOK モデルを追加し、すべての Codex 機能を維持し、デスクトップアプリを再ビルドせずにタスクを自動ルーティングすることもできます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト