🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
专栏名称 | 专栏介绍 |
《C语言》 | 本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
《网络协议》 | 本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
《docker容器精解篇》 | 全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
《linux系列》 | 本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
《python 系列》 | 本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
《试题库》 | 本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录
⛳️ 推荐
专栏介绍
基础用法
执行单个任务
基本 exec 命令
从标准输入读取
stdin 输入
命令行参数
常用参数
完整示例
完整参数示例
配置
配置文件设置
配置非交互模式
执行策略
设置执行策略
Shell 脚本集成
基本脚本
Shell 脚本示例
批量处理
批量处理脚本
条件执行
条件执行
CI/CD 集成
GitHub Actions
GitHub Actions 工作流
GitLab CI
GitLab CI 配置
Jenkins
Jenkins Pipeline
最佳实践
输出处理
性能优化
安全性
常见问题
Q: 非交互模式支持所有功能吗?
Q: 如何处理需要确认的操作?
Q: 输出格式可以定制吗?
Q: 如何在 Docker 中使用?
非交互模式允许你在脚本、CI/CD 流水线或无头环境中使用 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 [ $? -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
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 流程中,可以实现自动化代码审查和质量检查。
最佳实践
输出处理
- 使用
--output将结果保存到文件 - 检查返回码判断执行是否成功
- 处理可能的错误情况
性能优化
- 使用
gpt-5.4-mini减少成本 - 批量处理多个任务
- 设置合理的超时时间
安全性
- 避免使用
--approval approve - 在 CI/CD 中使用只读模式
- 保护 API 密钥
在生产环境中使用非交互模式时,请格外注意安全问题。
常见问题
Q: 非交互模式支持所有功能吗?
大部分功能都支持,但某些需要交互确认的功能可能无法使用。
Q: 如何处理需要确认的操作?
使用--no-auto-approve参数,或在配置文件中设置执行策略。
Q: 输出格式可以定制吗?
目前支持纯文本输出和 Markdown 输出。
Q: 如何在 Docker 中使用?
将 Codex 安装到 Docker 镜像中,然后在 CI/CD 流程中调用。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙