codex exec CIでは、変更を加えずにコードを解析できます。まずサンドボックスを確認してください:非インタラクティブモードはデフォルトで読み取り専用です。パッチ生成やワークスペースの変更が必要な場合は、明示的に--sandbox workspace-writeを渡し、ブートディレクトリがチェック済みのGitリポジトリであることを確認しましょう。
最小書き込みコマンドの書き方
codex exec \ --sandbox workspace-write \ -C "$GITHUB_WORKSPACE" \ "运行测试,修复失败项,只修改必要文件,然后重新运行测试"workspace-write 現在のワークスペースへの書き込みのみを許可し、ランナー全体を制御する意味ではありません。単一の失敗だけで--yoloやdanger-full-accessに切り替えないでください。外部の隔離が厳格に分離され、タスクが本当に必要とされる場合にのみ権限が拡張されます。旧スクリプトの--full-autoはすでに互換性パラメータであり、新しいパイプラインはサンドボックスを直接宣言すべきです。
まだ書類は変更していません。この3か所を確認してください
- 倉庫チェック失敗:チェックアウト成功を確認し、
pwdとgit statusを確認します。安全な非倉庫の一時ディレクトリは--skip-git-repo-checkを利用できます。 - コマンドはインタラクティブ承認が必要です:CIは新しい承認ウィンドウをポップアップ表示できず、一時的な承認が必要なアクションは失敗しエラーを返します。サンドボックスや承認ポリシーは事前に設定されるべきです。
- プロンプトは分析だけで十分です:「ファイルを修正し、検証を実行し、差を保持してください。」完成後は「git diff」を確認するかパッチアーティファクトを生成してください;最終テキストだけを見るのではなく、
パイプラインに解析可能な結果を出させましょう
フルイベントストリームを消費する必要がある場合はJSONLを使いましょう:
codex exec --json "检查仓库并给出风险列表" > codex-events.jsonl最終回答時に-oでファイルに書き込みをするだけで済みます。フィールドを修正する必要がある場合は--output-schemaを使いましょう。認証も露出を最小限に抑えるべきです。CODEX_API_KEYはcodex exec実行ステップでのみ注入し、ジョブ全体、依存関係スクリプト、信頼できないコードにキーを読み込ませないようにしましょう。