详情

首页手游攻略 Codex 非交互模式

Codex 非交互模式

佚名 2026-09-02 17:37:56

非交互模式允许你在脚本、CI/CD 流水线或无头环境中使用 Codex。本节详细介绍如何配置和使用非交互模式。

Codex 非交互模式


基础用法

执行单个任务

基本 exec 命令

# 执行简单任务

codex exec"列出当前目录的 Python 文件"

# 使用双引号处理复杂命令

codex exec"分析 src/ 目录的代码结构"

从标准输入读取

stdin 输入

# 从管道读取

echo"解释这段代码"| codex exec--stdin

# 从文件读取

codex exec--stdin< task.txt

# 多行输入

cat<<EOF | codex exec--stdin

创建一个函数计算阶乘

测试这个函数

EOF

非交互模式非常适合自动化任务和脚本集成。

命令行参数

常用参数

参数说明
exec "任务"执行指定任务
--stdin从标准输入读取任务
--model, -m指定模型
--no-auto-approve禁用自动确认
--output, -o输出到文件

完整示例

完整参数示例

# 指定模型

codex exec-m gpt-5.4-mini "审查代码"

# 输出到文件

codex exec"创建 README"-o README.md

# 禁用自动确认

codex exec--no-auto-approve"运行测试"

# 组合使用

codex exec-m gpt-5.4"审查 PR"--output review.md


配置

配置文件设置

配置非交互模式

# 非交互模式默认设置

[exec]

# 默认模型

default_model = "gpt-5.4"

# 自动批准阈值

auto_approve_threshold = "medium"

# 超时时间(秒)

timeout = 300

执行策略

在非交互模式下,默认策略通常是 deny(拒绝可能产生副作用的操作):

设置执行策略

# 使用 ask 策略

codex exec--approval ask "创建文件"

# 使用 approve 策略(谨慎使用)

codex exec--approval approve "运行测试"

# 使用 deny 策略(只读)

codex exec--approval deny "分析代码"

出于安全考虑,非交互模式下默认禁用可能产生副作用的操作。

Shell 脚本集成

基本脚本

Shell 脚本示例

#!/bin/bash

# 使用 Codex 进行代码审查

codex exec"审查 src/ 目录中的代码"--output review.md

if[$?-eq0]; then

echo"审查完成,结果已保存到 review.md"

else

echo"审查失败"

fi

批量处理

批量处理脚本

#!/bin/bash

# 批量审查多个文件

forfilein $(find src -name"*.py"); do

echo"审查: $file"

codex exec"审查 $file 文件"--output"review_$(basename $file).md"

done

条件执行

条件执行

#!/bin/bash

# 根据文件数量决定是否使用 Codex

FILE_COUNT=$(find src -name"*.py"|wc -l)

if[$FILE_COUNT-gt10]; then

echo"文件较多,使用 Codex 批量审查"

codex exec"审查所有 Python 文件"--output full_review.md

else

echo"文件较少,逐个审查"

forfilein $(find src -name"*.py"); do

codex exec"简单审查 $file"

done

fi


CI/CD 集成

GitHub Actions

GitHub Actions 工作流

span style="color: green;">

name: Code Review

on: [ pull_request ]

jobs:

codex-review:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v4

- name: Setup Codex

uses: openai/codex-action@v1

- name: Run Code Review

run: |

codex exec "Review code changes in this PR"

--output review.md

- name: Upload Review

uses: actions/upload-artifact@v4

with:

name: code-review

path: review.md

GitLab CI

GitLab CI 配置

span style="color: #007F45;">

codex_review:

image: node:20

before_script:

- npm install -g @openai/codex

script:

- codex exec "Review changes in this merge request" --output review.md

artifacts:

paths:

- review.md

Jenkins

Jenkins Pipeline

pipeline {

agent any

stages {

stage('Code Review'){

steps {

sh 'codex exec "Review changed files" --output review.md'

}

}

}

post {

always {

archiveArtifacts 'review.md'

}

}

}

将 Codex 集成到 CI/CD 流程中,可以实现自动化代码审查和质量检查。

最佳实践

输出处理

  1. 使用 --output 将结果保存到文件
  2. 检查返回码判断执行是否成功
  3. 处理可能的错误情况

性能优化

  1. 使用 gpt-5.4-mini 减少成本
  2. 批量处理多个任务
  3. 设置合理的超时时间

安全性

  1. 避免使用 --approval approve
  2. 在 CI/CD 中使用只读模式
  3. 保护 API 密钥
在生产环境中使用非交互模式时,请格外注意安全问题。

常见问题

Q: 非交互模式支持所有功能吗?

大部分功能都支持,但某些需要交互确认的功能可能无法使用。

Q: 如何处理需要确认的操作?

使用 --no-auto-approve 参数,或在配置文件中设置执行策略。

Q: 输出格式可以定制吗?

目前支持纯文本输出和 Markdown 输出。

Q: 如何在 Docker 中使用?

将 Codex 安装到 Docker 镜像中,然后在 CI/CD 流程中调用。

点击查看更多
推荐专题
热门阅读