🍳

OpenAI Codex CLIをWindows上で使う方法

はじめに

OpenAIからリリースされたCodex CLIをWindows上で使う方法を見ていきます。
WSLやターミナルベースのサービスとなっておりハードル高く感じるかもしれませんが、この記事の手順通り進めて行けばインストールができ活用できる基盤を作れるので、ぜひ試してみてください!
https://openai.com/index/openai-codex/
https://github.com/openai/codex

アーキテクチャ図

下記のような構成となります。

WSLの有効化

まずはWSL(Windows Subsystem for Linux)を有効化していきます。

WSL有効化
wsl --install -d Ubuntu-22.04

Codex CLIをインストール

それでは、OpenAIからリリースされたCodex CLIをWSL上にインストールしていきましょう。Codex CLIを動かすためにnode.jsが必要だそうで、合わせてインストールします。また、Codex CLIをインストールするときにsudoを使わないようにするためにnvmもインストールします。

Node.jsをWSLにインストール
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs build-essential
node -v     # v22.x が表示されれば OK

nvmをインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
exec $SHELL

Node.js 22 LTS
nvm install 22
nvm use 22
nvm alias default 22

Codex CLI をインストール
npm i -g @openai/codex
codex --help           # 動けば完了

OpenAIのAPIキーの設定
echo 'export OPENAI_API_KEY=sk-...' >> ~/.bashrc # OpenAIのAPIキーを設定する
source ~/.bashrc

使ってみよう

それでは使ってみましょう。ここでやっていることは、私が実装したChrome拡張のソースコード群をCodex CLIに分析させてどのようなことやっているシステムか説明してもらっています。

Codex CLIを実行する
cd /mnt/c/temp/my-gemini-ocr-extension # ソースコードが格納されている任意のフォルダを指定します。みなさんの環境に合わせてください。
codex
プロンプト
このプロジェクトの内容を詳細に把握してください。その上で、このシステムが何をしているのか説明してください。

プロジェクト内のソース群の解析以外にも下記ができると言われており、試していけたらと!

  • 新規コード生成・ファイル作成
  • 既存コードの解析・説明
  • 自動リファクタリング/機能追加
  • ユニットテスト生成 & デバッグループ
  • セキュリティ/品質レビュー

(参考)PCのフォルダ構成はWSLにマウントされている

PC上の「C:\」とWSL上の「/mnt/c」は同じディスク領域を別視点で見ています。PCのCドライブ直下をWSLはマウントしているのです。のでPCのCドライブ直下(C:)とWSLの「/mnt/c」フォルダー構成は完全一致します。

自動マウントの機構

  • WSL 2 は起動時に wsl.exe → 9P プロトコル(ネットワーク共有の一種)を使って Windows 側ファイルシステムを guest Linux へ公開します。
  • その公開先(マウントポイント)が /mnt/<ドライブ文字> で、C: は /mnt/c、D: は /mnt/d と対応づけられます。設定は /etc/wsl.conf の [automount] セクションで制御可能です(既定は enabled=true)。
Windows パス WSL パス 補足
C:\Users\myoshida\Documents /mnt/c/Users/myoshida/Documents フォルダー階層は そのまま。大文字小文字は Linux でも保持される
C:\Program Files\nodejs /mnt/c/Program Files/nodejs 空白はクォートまたはエスケープ要
C:\ 直下 /mnt/c/ /mnt/c/dirls -l /mnt/c が同じ結果

おわりに

いかがでしたか。WSLと聞くとちょっとハードルが高いですが、使いこなせるようになると様々な場面で応用が利きます。この機会にぜひ挑戦してみてください!

Accenture Japan (有志)

Discussion