【今週の話題】OpenAI Codex CLIがマルチプロバイダサポート、Rust実装が追加

OpenAI Codex CLIの最新版でOpenAI以外の複数のプロバイダをサポートするようになりました。 

feat: support multiple providers via Responses-Completion transformation by dnakov · Pull Request #247 · openai/codex
IehlmtANJX95U1uN.mp4 Implemented it as a transformation between Responses API and Completion API so that it supports existing providers that implement the Completion API and minim…

このマルチプロバイダ対応は、dnakov氏のコントリビュートによって実現しました。dnakov氏は、AnthropicのClaude Codeをリバースエンジニアリングしたanon-kodeというツールを開発しており、その知見を活かしてCodex CLIを改造。OpenAI以外のLLMでも動作するブランチを作成し、これが公式リポジトリに取り込まれました。

これで、GeminiやOllamaモデルのAPI経由Codex CLIで利用可能になりました。例えば、Geminiを使用する場合、APIキーを設定した上で以下のコマンドで実行できます。  

export GEMINI_API_KEY=...
codex -p gemini -m gemini-2.5-pro-preview-03-25

Anthropic APIも技術的には動作すると思うのですが、対応リストに含まれていません。しかしOpenRouterを経由すれば利用可能です。  

ただし、筆者がGeminiを使用したところ、ファイルの書き込みに関するシェルコマンドが失敗しました。まだ安定動作しないようです。

そもそも、OpenAI Codex CLIは広く普及しているChat Completion APIではなく、Responses APIをベースに作られていました。このResponses APIへの依存が、他社APIや、ローカルモデル系のツールの多くが採用するChat Completion APIとの連携を困難にしていました。  

そのため、PythonでCodexを再実装したopen-codexのようなプロジェクトや、LiteLLMがローカルプロキシサーバー機能を追加して、このAPI互換性の問題を回避しようとする動きがありました。  

dnakov氏のブランチでは、この問題を解決するため、Codex CLIの内部にChat Completion APIとResponses APIの通信を変換するレイヤーが実装されていました。

ところで、AnthropicのClaude Codeは、依然、ソースコードは公開されていません。クライアントサイドで動作するプログラムであり、現在minifyされているビルドをそのまま公開しても良さそうにも思えますが、Anthropicはプロプライエタリなツールとして提供しています。GitHubリポジトリも存在しますが、ソースコードは含まれていません(anon-kodeは誤ってパッケージに含まれたソースマップを元に復元したそうです)。MCPクライアント/サーバーアーキテクチャの参考になりそうなので公開して欲しいところです。

Rust実装版 codex-rsの開発開始

昨日、Codexのリポジトリに、Node.js実装とは別にRust言語による再実装版「codex-rs」が突然コミットされました。

codex/codex-rs at main · openai/codex
Lightweight coding agent that runs in your terminal - openai/codex

これは既存のNode.js版を置き換えることを目指しているようです。設計思想としては、Node.js版と同様に、シェルコマンドを起点とし、生成されたパッチを適用してファイルを編集するサイクルを繰り返すエージェント的なアプローチを踏襲しています。

OpenAI Codex CLIの仕組み
OpenAIからCodex CLIというOSSがリリースされました。Codex CLIは、Claude Codeのようなコマンドラインで利用するコーディングエージェントのTUIツールです。Node.jsで実装されており、使用しているnpmパッケージからして構造はClaude Codeと類似していますが、設計に違いがあります。 GitHub - openai/codex: Lightweight coding agent that runs in your terminalLightweight coding agent that runs in your terminal - openai/codexGitHubopenai OpenAI Codex CLIの概要 あなたは、OpenAIによって構築されたターミナルベースのエージェント型コーディングアシスタントであるCodex CLIとして、その内部で動作しています。これはOpenAIモデルをラップし、ローカルのコードベースとの自然言語による対話を可能にします。あなたは、正確で、安全で、役立つ存在であることが期待されています。

筆者としては、おそらくNode.js版はプロトタイプ的な位置づけであり、Rust版が本命の、よりプロダクションレディな実装だと見ています。

ただし、codex-rsはまだ非常に初期のコミット段階にあり、完全に動作する状態ではありません。just install && just tui コマンドでビルドし、基本的なTUI(Text User Interface)を起動することは可能でしたが、試したところ、ファイル編集などのコア機能はまだ正常に動作しない状態でした。マルチプロバイダサポートなども当然ながらまだ実装されていません。

READMEには、開発の動機として「Node.js版は実行にランタイムが必要だがRustならシングルバイナリ配布が可能で導入が容易になる点や、Linuxのセキュリティ機能であるseccompやlandlockを直接呼び出してよりネイティブで堅牢なサンドボックスを構築できる」という点が挙げられています。

筆者としては、開発者ユーザーにとってNodeモジュールを入れる手間とバイナリを入れる手間はそれほど大きく変わらないのではないかと思っているのですが。OpenAIがCodex CLIをどんなロードマップで展開していくつもりなのか不明ですね。コミッターやコントリビューターはとりあえずたくさんいるのですが・・

MCPサーバーサポートについてはレビューワーがアサインされているので、今後追加されるようです。

feat: initial support for MCP by jasonkneen · Pull Request #270 · openai/codex
Implement Model Context Protocol (MCP) support #5 Initial support for clients and server, still needs some work I've implemented local and user level configs, adding and editing and testing fro…

Subscribe to laiso

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe