13 非交互模式与自动化
概述
除了强大的 TUI 交互模式,Codex 还提供了丰富的非交互模式,适用于脚本化、自动化以及 CI/CD 集成场景。非交互模式让你能像使用传统命令行工具一样调用 Codex,将其无缝嵌入到已有的工作流中。本文将详细讲解各种非交互模式的使用方法。
codex exec:一次性任务执行
codex exec 子命令是执行一次性任务的最佳方式。它会启动一个独立的会话,执行指定任务后立即退出,非常适合脚本调用。
基本用法
codex exec "将当前目录下所有 .txt 文件重命名为 .md"
Codex 会分析需求,生成计划,请求确认后执行。如果你希望全自动执行而不需要确认,添加 --full-auto 参数:
codex exec --full-auto "将所有 .log 文件按日期压缩为 .zip 归档"
从标准输入读取任务
你可以通过管道将任务描述传递给 codex exec:
echo "创建一个 Python 脚本,监控 CPU 使用率并记录到日志" | codex exec --full-auto -
这里的 - 表示从标准输入读取任务描述。
指定工作目录
codex exec --cd /var/www/myapp "更新 package.json 中的版本号为 2.0.0"
控制执行权限
默认情况下,codex exec 在执行文件修改等操作时会请求确认。你可以控制确认级别:
# 严格模式:所有操作都需确认
codex exec --ask-for-approval "删除所有 .tmp 文件"
# 完全自动:不请求任何确认
codex exec --full-auto "运行 npm audit fix"
codex -q:快速查询模式
当你只需要快速获取信息或生成简短代码片段时,-q(quiet/quick)模式是最佳选择。它不会显示计划、进度条等冗长信息,直接输出结果。
基本用法
codex -q "Python 中如何读取 JSON 文件?"
输出示例:
import json
with open('data.json', 'r') as f:
data = json.load(f)
管道输入查询
echo "解释这段代码的功能" | codex -q -
这在处理文件内容时特别有用:
cat complex_function.py | codex -q "为这个函数添加类型注解" -
结合其他命令使用
# 查找文件内容并让 Codex 解释
grep -r "deprecated" src/ | codex -q "这些废弃API应该如何替换?" -
# 统计信息后让 Codex 分析
wc -l src/**/*.py | codex -q "哪个模块代码量最大?" -
管道输入的高级用法
管道输入是 Codex 非交互模式的精髓,可以与其他 Unix/Linux 命令无缝组合。
文件内容分析
# 分析日志文件中的错误模式
cat error.log | codex -q "总结这个日志中的错误类型和频率" -
# 代码审查
diff -u old.py new.py | codex -q "审查这个 diff 是否有潜在问题" -
链式处理
# 多步处理

210

被折叠的 条评论
为什么被折叠?



