【今週の話題】OpenAI Codex CLIがマルチプロバイダサポート、Rust実装が追加
OpenAI Codex CLIの最新版でOpenAI以外の複数のプロバイダをサポートするようになりました。
このマルチプロバイダ対応は、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」が突然コミットされました。
これは既存のNode.js版を置き換えることを目指しているようです。設計思想としては、Node.js版と同様に、シェルコマンドを起点とし、生成されたパッチを適用してファイルを編集するサイクルを繰り返すエージェント的なアプローチを踏襲しています。

筆者としては、おそらく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サーバーサポートについてはレビューワーがアサインされているので、今後追加されるようです。