详情

首页手游攻略 Codex 自动化与 CI/CD

Codex 自动化与 CI/CD

佚名 2026-09-02 18:03:56

Codex 提供多种自动化方式,可以在脚本、流水线和服务端中使用。


非交互模式(exec)

exec 命令用于脚本和自动化场景,不需要打开 TUI。

基本用法

exec 命令

# 执行单次任务

codex exec"审查代码并输出报告"

# 输出到文件

codex exec-o review.md "审查 src/auth.py"

# 使用特定模型

codex exec-m gpt-5.4-mini "分析项目结构"

# 全自动执行

codex exec--full-auto"运行测试并修复失败"

常用参数

参数说明
-m指定模型
-o输出结果到文件
--full-auto全自动执行
--ephemeral不保存会话文件
--jsonJSON Lines 输出格式
--output-schema按 JSON Schema 格式输出
--sandbox设置沙箱模式

从标准输入读取

stdin 输入

# 从管道读取

echo"解释这个错误"| codex exec -

# 从文件读取

codex exec - < task.txt

# 多行任务

cat<<EOF | codex exec -

分析 src/ 目录

找出潜在的 Bug

输出修复建议

EOF

恢复会话

恢复执行

# 恢复最近会话

codex exec resume --last"继续修复 Bug"

# 恢复指定会话

codex exec resume --session abc123 "下一步任务"

默认情况下,exec 运行在只读沙箱中,不会修改文件。


Codex SDK

Codex SDK 提供编程接口,可以在代码中调用 Agent 能力。

安装 SDK

安装 SDK

npm install@openai/codex-sdk

使用示例

SDK 基本用法

import{ Codex } from '@openai/codex-sdk';

// 创建 Codex 客户端

const codex =new Codex({

apiKey: process.env.OPENAI_API_KEY

});

// 执行任务

const thread = await codex.run({

prompt:'审查 src/auth.py 文件',

model:'gpt-5.4'

});

// 获取结果

console.log(thread.messages);

// 继续任务

const followUp = await codex.run({

threadId: thread.id,

prompt:'修复发现的 Bug'

});

SDK 适用场景

  1. 集成到 CI/CD 管道
  2. 创建自定义 Agent 应用
  3. 自动化内部工具
  4. 批量处理任务

GitHub Action

官方提供 Codex GitHub Action,可在 CI 流水线中触发任务。

基本工作流

GitHub Action 示例

span >

name: Codex Review

on: [ pull_request ]

jobs:

codex-review:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v4

with:

fetch-depth: 0

- name: Run Codex Review

uses: openai/codex-action@v1

with:

prompt-file: '.github/codex-review.md'

model: 'gpt-5.4'

sandbox: 'workspace-write'

output-file: 'review.md'

- name: Post Review

uses: actions/github-script@v7

with:

script: |

const fs = require('fs');

const review = fs.readFileSync('review.md', 'utf8');

github.rest.pulls.createReview({

owner: context.repo.owner,

repo: context.repo.repo,

pull_number: context.issue.number,

body: review,

event: 'COMMENT'

});

Action 参数

参数说明
prompt直接指定任务描述
prompt-file指定任务文件路径
model使用的模型
sandbox沙箱模式
output-file输出文件路径
codex-args额外 CLI 参数

安全配置

安全设置

span >

- name: Run Codex

uses: openai/codex-action@v1

with:

prompt: '审查变更'

safety-strategy: 'drop-sudo'

unprivileged-user: 'codex-runner'

allow-users: [ 'maintainers' ]

使用 GitHub Action 时,确保 API Key 作为 Secrets 存储,不要硬编码。


App Server

App Server 将 Codex 能力作为服务端 API 暴露。

启动 App Server

启动服务

# 启动 App Server

codex app-server

# 指定端口

codex app-server --port3000

# 远程访问

codex --remote ws://server:3000

适用场景

  1. 团队共享 Codex 能力
  2. 远程 CI/CD 调用
  3. 集成到内部平台

MCP Server

将 Codex 作为 MCP 工具提供给其他 Agent 调用。

配置 Codex MCP

MCP Server 配置

# 其他 Agent 的配置中

[mcp_servers.codex]

command = "codex"

args = ["mcp-server"]


最佳实践

安全性

  1. 使用只读沙箱模式
  2. API Key 作为 Secrets 存储
  3. 限制触发条件(仅特定事件)
  4. 审查输出后再应用更改

可靠性

  1. 设置合理的超时时间
  2. 使用 --ephemeral 避免状态残留
  3. 验证任务成功后再继续
  4. 处理失败情况的回滚

常见问题

Q: exec 和交互模式的区别?

exec 单次执行后退出,适合自动化;交互模式持续对话。

Q: CI/CD 中如何认证?

使用 CODEX_API_KEY 环境变量,作为 Secrets 存储。

Q: GitHub Action 可以修改文件吗?

可以,设置 sandbox: workspace-write。

Q: 如何在 Docker 中使用?

将 Codex 安装到镜像,配置好认证后调用。

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载