系列教程
35 节
DeepSeek Harness 教程
按顺序阅读,循序渐进掌握相关 AI 工具与实战方法。
从「DeepSeek Harness 教程:开篇导读」开始
非交互模式允许你在脚本、CI/CD 流水线或无头环境中使用 Codex。本节详细介绍如何配置和使用非交互模式。
# 执行简单任务 codex exec "列出当前目录的 Python 文件" # 使用双引号处理复杂命令 codex exec "分析 src/ 目录的代码结构"
# 从管道读取 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 "分析代码"
出于安全考虑,非交互模式下默认禁用可能产生副作用的操作。
#!/bin/bash
# 使用 Codex 进行代码审查
codex exec "审查 src/ 目录中的代码" --output review.md
if [ $? -eq 0 ]; then
echo "审查完成,结果已保存到 review.md"
else
echo "审查失败"
fi
#!/bin/bash
# 批量审查多个文件
for file in $(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 -gt 10 ]; then
echo "文件较多,使用 Codex 批量审查"
codex exec "审查所有 Python 文件" --output full_review.md
else
echo "文件较少,逐个审查"
for file in $(find src -name "*.py"); do
codex exec "简单审查 $file"
done
fi
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
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
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 流程中,可以实现自动化代码审查和质量检查。
--output 将结果保存到文件gpt-5.4-mini 减少成本--approval approve在生产环境中使用非交互模式时,请格外注意安全问题。
大部分功能都支持,但某些需要交互确认的功能可能无法使用。
使用 --no-auto-approve 参数,或在配置文件中设置执行策略。
目前支持纯文本输出和 Markdown 输出。
将 Codex 安装到 Docker 镜像中,然后在 CI/CD 流程中调用。