本文へ移動
Vast Cowのブログ
前のページへ戻る

Codex CLIで承認確認をなくし、プロジェクト内の書き込みとネットワークアクセスを許可する方法

この記事を編集

OpenAIのCodex CLIを使っていると、ファイルの編集やコマンド実行のたびに承認を求められることがあります。

セキュリティ上は重要な仕組みですが、開発用のプロジェクトでCodexにある程度自律的に作業してもらいたい場合、承認確認が煩わしく感じることもあります。

そこで今回は、Codex CLIで以下の3つを設定する方法を紹介します。

設定には~/.codex/config.tomlを使用します。

1. Codex CLIの設定ファイルを編集する

Codex CLIの設定は、基本的に~/.codex/config.tomlで管理します。

macOSまたはLinuxの場合、ターミナルで以下を実行します。

mkdir -p ~/.codex
nano ~/.codex/config.toml

すでに設定ファイルが存在する場合は、既存の設定を残しながら編集してください。

2. sandbox_modeとapproval_policyを設定する

設定ファイルに以下を記述します。

sandbox_mode = "workspace-write"
approval_policy = "never"

[sandbox_workspace_write]
network_access = true

これで、ワークスペース内の書き込みを許可し、承認確認を行わず、サンドボックス内でネットワークアクセスを利用する構成になります。

それぞれの設定を見ていきましょう。

sandbox_mode = “workspace-write”

sandbox_mode = "workspace-write"

Codexがアクセスできるファイルシステムの範囲を指定する設定です。

workspace-writeでは、作業対象のワークスペース内への書き込みが許可されます。

なお、設定値はproject-writeではなく、workspace-writeです。

approval_policy = “never”

approval_policy = "never"

Codexがコマンドを実行するときの承認ポリシーを指定します。

neverにすると、ユーザーへの承認要求を行わずに作業を進めます。

ただし、承認確認を無効にすることと、すべての操作を許可することは別です。

サンドボックスによって禁止されている操作が自動的に許可されるわけではありません。

network_access = true

[sandbox_workspace_write]
network_access = true

workspace-writeサンドボックスでネットワークアクセスを許可します。

外部APIへのHTTPリクエストや、インターネットからの依存パッケージ取得など、ネットワークを必要とするコマンドを実行できるようにする設定です。

指定する値は文字列の"enabled"ではなく、真偽値のtrueです。

なお、ネットワークアクセスの可否には、実行環境や上位のセキュリティ制限も影響します。

3. コマンドラインから一時的に指定する方法

設定ファイルを変更せず、起動時のオプションで指定することもできます。

codex \
  --sandbox workspace-write \
  --ask-for-approval never \
  -c sandbox_workspace_write.network_access=true

この方法は、普段は承認確認を有効にしておき、特定の作業でだけ自律実行を許可したい場合に便利です。

設定ファイルに記述する方法と、起動時にオプションを指定する方法を用途に応じて使い分けるとよいでしょう。

4. 設定時の注意点

今回の設定では、Codexがユーザーの確認を待たずにファイルを変更したり、ネットワークにアクセスしたりできるようになります。

そのため、以下の点には注意が必要です。

特に、approval_policy = "never"を指定すると、危険な操作に対して承認確認で気づく機会が減ります。

自動化の利便性と安全性のバランスを考えて設定しましょう。

まとめ

Codex CLIでプロジェクト内の書き込み、承認確認なしの実行、ネットワークアクセスを有効にしたい場合は、以下の設定を使用します。

sandbox_mode = "workspace-write"
approval_policy = "never"

[sandbox_workspace_write]
network_access = true

設定のポイントは次の3つです。

  1. sandbox_modeにはworkspace-writeを指定する
  2. approval_policyにはneverを指定する
  3. ネットワークアクセスにはnetwork_access = trueを指定する

これにより、Codex CLIをより自律的に動作させることができます。

ただし、承認確認を無効にしてもサンドボックスの制限は残るため、ワークスペース外への操作まで全面的に許可されるわけではありません。

ローカル開発や検証用の環境で、Codex CLIの作業効率を高めたい場合に活用してみてください。

参考資料: OpenAI公式ドキュメント:Codex設定リファレンス。workspace-write、never、network_accessの設定値は公式仕様で確認しています。


この記事を編集
この記事を共有:

コメント


前の記事
Rootless Dockerの`--network host`が、いつの間にか本当に機能するようになっていた