官方 action:prompt-file 二选一,最后一步再跑 Codex
openai/codex-action@v1 用密钥代理跑 exec。prompt 和 prompt-file 只能给一个。checkout 关掉 persist-credentials,Windows 必须 safety-strategy: unsafe。
提示放仓库里,不要把 PR 正文直接喂给模型:
- uses: actions/checkout@v5
with:
persist-credentials: false
- id: run_codex
uses: openai/codex-action@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
prompt-file: .github/codex/prompts/review.md
output-file: codex-output.md
sandbox: workspace-write
codex-args: '["--ephemeral"]'
prompt 和 prompt-file 同时写会直接失败。后续步骤用 final-message 输出,或把 output-file 当产物上传。结构化结果把 --output-schema 放进 codex-args。
权限:
- 默认
safety-strategy: drop-sudo,Linux/macOS 上不可逆地拿掉 sudo - Windows runner 必须
safety-strategy: unsafe - 不要只靠
read-only保护密钥:只读仍可能带着高权限跑 - 多租户 runner 不要
unsafe allow-users/allow-bots限制谁能触发;默认只有有 write 权限的人- 把 Codex 放在 job 最后一步,避免后面的步骤继承被改过的工作区
fork PR 和 issue 正文当提示前先消毒。密钥仍走官方 action 的代理,不要写进 job 级 CODEX_API_KEY。