第一次用 Codex 自动化时,我最大的困惑不是 Prompt 怎么写,而是模型 Key 从哪来。后来我直接在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 上创建了一把 Key,通过 TaoToken 的统一 API 通道跑 Codex 的定时 Agent,一直稳定到现在。Codex 自动化本质上是按固定时间调起一个 Agent,在指定工作目录(CWD)里执行你写好的 Prompt,再把结果输出成文本。这个 Agent 会在长周期里反复调度模型,所以模型通道稳不稳,直接决定巡检任务能不能连续跑下去。下面从自动化是什么开始,把“每周发布前巡检”的完整配置过程走一遍,包括 CWD 怎么填、Prompt 怎么写、Codex 的 config.toml 里如何接入。
1. Codex 自动化是什么:定时 Agent 的三个零件
1.1 Prompt、执行周期与 CWD
Codex 自动化一句话可以讲清楚:让 Codex 按固定时间,自动执行你定义的任务。它由三个核心部分组成。
做什么,对应任务 Prompt。Prompt 决定 Agent 拿到代码库之后按什么思路检查、输出什么结构的结果。什么时候做,对应执行周期,比如每周一 09:30 或者每天 16:30,按你本地时区触发。在哪做,对应工作目录 CWD,也就是 Codex 运行时要读取的项目根路径。
另外,每一个定时任务都可以单独指定模型和推理程度。模型决定 Agent 的理解能力,推理程度决定它在输出前愿意花多少步去阅读代码、检查差异。两个参数加在一起,影响的是巡检结果的深度和 Token 消耗速度。
1.2 长周期调度为什么先解决模型 Key
定时 Agent 和一次性对话不一样:对话时你可以手动换模型、换 Key,但定时任务是无人值守的。到了触发时间,Codex 会用配置好的 Key 去请求模型,如果这个 Key 额度打满、被限流或者填错了 Base URL,任务直接失败,而且往往是第二天打开 Codex 才发现昨天根本没跑。
多 Key 分散管理在定时任务里是最大的隐患。有人给 Codex 配一个 Key,给聊天工具配另一个 Key,用着用着就忘了哪个是哪个。Codex 自动化需要在长周期里稳定调度模型,我选择把模型 Key 统一收敛到 TaoToken 通道,在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建一把 Key,填进 Codex 的模型配置里,之后所有定时任务都走同一个入口消耗 Token。这样即使某个上游模型临时不可用,也可以在 TaoToken 的模型广场换一个可用模型 ID,不用改 CWD,也不用重写 Prompt。
2. 实操目标与准备:每周发布前巡检要输出什么
2.1 巡检任务的目标形态
我们做一个高频且实用的自动化:每周发布前巡检。它的目标不是让 Codex 帮忙写代码,而是让它在固定的时间把项目整体检查一遍,输出一份可读的风险清单。
你可以先想清楚输出长什么样,再倒推怎么配置。对于发布前巡检,我期望的输出包含五块:最近变更概览,按模块列出改了什么;风险清单,分高、中、低三级并附原因;必查项,包括数据库迁移、配置变更、外部依赖、鉴权与限流;测试状态,列出已有测试、缺失测试和建议补测点;发布建议,明确说“建议发布”或“暂缓发布”,并给出前置条件。
最后把这份结果转成文本格式,方便人工复核或者发到群里讨论。Codex 自动化不只能输出聊天内容,它可以写文件,所以你也可以在 Prompt 里要求它把巡检结果保存到docs/release-check.md。
2.2 在 TaoToken 上创建 API Key
在开始配置自动化之前,先准备模型侧的钥匙。这一步对应原文里“申请或复制 API Key”的位置:打开 TaoToken 注册并登录,在控制台里创建一个 API Key,复制后保存到本地。
创建时不需要选复杂的权限,定时任务只需要一个能调用模型的 Key。Key 的格式是一长串随机字符,后续填进 Codex 的环境变量里。如果之后发现 Key 泄露或者想轮换,回控制台重新生成一把即可,Codex 那边只需要改一个值。
我建议创建完 Key 后顺手打开模型广场看一眼当前可用的模型 ID。Codex 自动化配置界面里会要求你填模型名,不是让你随便编一个,而是以 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 模型广场当时列表为准。不同时间段模型列表可能有调整,配置前确认一下没有坏处。
2.3 进入 Codex 自动化页面
打开 Codex 客户端,按你当前界面操作:左侧栏点击“自动化”,右上角点击“+ 新建”。Codex 会自动列出一些模板,你也可以直接选择空白任务。
这里有一个容易被忽略的点:进入自动化页面时,Codex 会要求你选择一个工作目录。原文里这一步是“选择 D:\java_dev\idea_workspace\flashsalehub”,实际操作时选你当前项目的根目录即可。工作目录选错,后面所有巡检结果都会跑偏。
3. 新建自动化:CWD、执行周期与 Prompt
3.1 基础配置:名称、状态、工作目录、执行时间
新建自动化的第一个表单区域是基础配置。
名称填写“每周发布前巡检”。状态保持 ACTIVE,创建后默认就是启用状态,不需要额外点击启动。工作目录 CWD 填写项目根路径,注意是根目录,不是src子目录。Codex 会递归读取该目录下的代码文件,如果你把它指到src/main/java,那前端代码、配置文件、数据库脚本就全都看不到了,巡检范围直接少了一大半。
执行时间可以设成每天 16:30,也可以按你的发布节奏调整。如果你习惯早上发版,建议设成 09:30,这样发布前还有时间处理发现的问题。执行时间按你本地时区计算,跨时区办公的话以 Codex 所在机器的时间为准。
3.2 模型与推理程度怎么选
原文提到每一个定时任务都可以指定模型和推理程度。在 Codex 新建自动化的界面里,模型下拉框选择你在 TaoToken 模型广场确认过的那个模型 ID。推理程度选项一般分低、中、高三档。
发布巡检这类任务建议选高推理,因为 Agent 需要阅读变更文件、比对测试、判断风险,推理不够时它只会列表面现象,不会追到深层原因。代价是 Token 消耗更快。如果你对成本敏感,可以先选中等推理跑一次,看输出质量再决定要不要调高。
3.3 Prompt:发布前巡检(直接可用)
下面这段 Prompt 是从原文整理出来的,结构上保留了“结论摘要在前、明细在后”的原则,配置时可以直接粘进去使用。
请对当前项目做一次发布前巡检,输出结构化结论: 1) 最近变更概览:按模块列出本次涉及改动的文件与功能点。 2) 风险清单:按高、中、低三级列出风险,每一条必须说明风险原因。 3) 固定检查项:数据库迁移脚本、配置文件变更、外部依赖版本、鉴权与限流逻辑。 4) 测试状态:分别列出已有测试覆盖的部分、缺失测试的部分、建议补充的测试点。 5) 发布结论:明确给出“建议发布”或“暂缓发布”,并列出前置条件。 输出要求: - 使用中文; - 先给“结论摘要”,再展开明细; - 每条风险必须附带可执行建议,不要只说“存在风险”; - 巡检完成后,把完整结果保存到 docs/release-check.md。最后一行“保存到 docs/release-check.md”是我在原版基础上加的。Codex 自动化输出内容会保留在任务记录里,但如果想让更多人看到结果,写进仓库文档更方便。
3.4 Codex 的 config.toml 里接入 TaoToken
自动化任务界面之外,Codex CLI 本身需要知道模型请求发到哪里。Codex 读取的是~/.codex/config.toml,打开这个文件,在末尾追加以下配置。
model = "YOUR_MODEL_ID" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "CODEX_API_KEY"注意这里的 Base URL 是https://taotoken.net/api,末尾不要加/v1。Codex 会自动拼接补全版本路径,你加了反而会多出一层导致请求失败。模型 ID 不要照抄网上的历史配置,以 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 模型广场当时列表为准。
保存 config.toml 后,设置环境变量。
export CODEX_API_KEY="YOUR_API_KEY"YOUR_API_KEY 替换成你在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建的那把 Key。之后每次跑自动化,Codex 都会通过 TaoToken 通道调用模型。如果你用的是 Codex 桌面客户端,也可以在设置界面里把 API Key 填到对应输入框,相当于做了同一件事。
4. 第一次运行后看什么
4.1 三个检查点:结论是否明确、风险是否分级、建议是否可执行
触发第一次运行后,重点看三件事:有没有明确给出“能不能发”的结论;风险是否按高、中、低分级;每条建议是不是可以直接执行,而不是“注意安全”这类空话。
符合预期的输出大致长这样,我用一段简化示例说明:
结论摘要: 当前版本存在 2 个高风险项和 3 个中风险项,其中数据库迁移脚本未回滚验证,建议暂缓发布。 高风险: 1. 数据库迁移脚本 V20240610__add_order_index.sql 未在空库上验证回滚,存在索引创建失败风险。 建议:在预发布库执行该脚本,并测试 ROLLBACK。 中风险: 1. 外部依赖 com.example:payment-sdk 从 1.2.0 升级到 1.3.0,未确认鉴权接口兼容。 建议:查看该依赖 CHANGELOG,并用现有测试用例跑一遍支付模块。 测试状态: - 已有测试:订单创建、库存扣减; - 缺失测试:支付回调幂等; - 建议补测点:并发下单场景。如果输出里没有这种颗粒度,说明 Prompt 还需要收紧。
4.2 顺路去控制台核对这次调用的 Token 消耗
第一次跑通后,顺手做一件小事:打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 看这次定时任务消耗了多少 Token、调用了哪个模型。这一步能帮你确认配置真的走的是 TaoToken 通道,而不是 Codex 内置的某个默认通道。
如果控制台里一条记录都没有,说明 Codex 还在用其他配置,回去检查 config.toml 里的model_provider是不是没有生效。出现这种情况,通常是环境变量没设置,或者 Codex 版本太旧不认[model_providers]字段。升级 Codex 到最新版再试。
5. 两个常见坑
5.1 Prompt 太宽泛
坑 1 是 Prompt 宽泛到输出什么都像“有道理”,但落不了地。比如只写“检查项目风险”,Codex 会给你列一堆泛泛的话:注意数据库迁移、注意配置变更、注意测试覆盖。这些都对,但都没有具体文件路径和修复动作。
修正方式就是给 Prompt 加固定结构、必查清单、结论判定标准。原文的 Prompt 里列了 5 个章节,我自己用下来还建议把判定标准写死。比如在 Prompt 末尾加一句:“如果存在未验证的数据库迁移脚本,或存在高风险项未关闭,发布结论必须为暂缓发布。”有了这个硬性条件,Agent 就不会含糊其辞。
5.2 CWD 设置不对
坑 2 是 CWD 没设对。自动化跑在错误目录,输出与项目无关,典型表现是它分析了一堆代码,但分析的代码根本不是你们当前项目的,或者它说“当前目录没有找到测试文件”,而你们的测试文件明明就在src/test下。
修正方法没别的,CWD 一定填项目根目录,首次运行后确认读取的是当前仓库。你可以在 Prompt 里要求 Codex 第一行先输出“当前分析目录:xxx”,这样一眼就能看出有没有跑错地方。
5.3 Base URL 末尾多了 /v1
额外提醒一个 Codex 专属的坑。config.toml 的base_url写成https://taotoken.net/api是对的,写成https://taotoken.net/api/v1反而会出问题。因为 Codex 会在 Base URL 后自动拼出完整的请求路径,多写一层 v1 就会重复。如果你遇到请求 404,先检查这一项。
6. 可以继续扩展的 3 个自动化与任务关闭
6.1 每周代码质量摘要
跑通发布巡检后,可以接着做一个每周代码质量摘要。任务 Prompt 让 Codex 统计本周合并的 PR、涉及的模块、标注风险点,并列出待补测试。执行周期设成每周五 17:00,CWD 还是同一个项目根目录。输出可以要求生成 Markdown 表格,方便周会直接投屏。
6.2 CI 失败归因
第二个推荐做的是 CI 失败归因。把 Codex 指向 CI 日志目录或者让它读取流水线配置文件,Prompt 里要求它归并最近失败的用例,给出 Top 原因和修复优先级。这个任务不需要每天跑,每周跑三次信息量就够用了。
6.3 周报草稿生成
第三个是周报草稿生成。Prompt 里让 Codex 按“完成事项、风险与阻塞、下周计划”三段生成初稿,输出保存为docs/weekly-report.md。它没有权限替你发邮件,但生成的草稿可以复制到邮箱里改改就发,比从空白页开始写快很多。
6.4 如何关闭自动化任务
关闭任务有两种方式。在 Codex 自动化列表里找到对应任务,把它停用或删除。停用比较保险,保留任务历史,想再次启用时改回 ACTIVE 即可。如果确认不再需要了,直接删除,同时清理环境变量里对应的CODEX_API_KEY。
7. 跑通之后去控制台对一下这次调用
7.1 用同一把 Key 在模型对话里发一条消息
保存配置并跑通第一次巡检后,建议再做一个验证:打开 TaoToken 模型对话,用同一把 Key 发一条测试消息。这样可以把问题拆成两层:对话能用,说明 Key 和模型 ID 没问题;对话能用但 Codex 报错,问题就在 Codex 的 config.toml 配置上,不用两头猜。
7.2 Coding Plan、创建 Key 与接入文档
如果你的定时任务比较多,每天要跑好几次巡检和摘要,可以先看看 Coding Plan 是否适合你的消耗节奏,按需选套餐能控制成本。需要补充或更换 Key 时,去 控制台 API Keys 页面创建,整个流程和第一次一样快。Codex 的 model_provider 字段虽然和 Claude Code 的环境变量写法不同,但 Base URL 规则一致,具体字段可以对照 接入文档 里的说明确认。
Codex 自动化从 0 到 1 不难,难的是让它稳定地周而复始地跑。把模型 Key 统一放到 TaoToken 之后,你只需要关注 Prompt 和 CWD 这两个真正影响输出的变量。剩下的事情,交给定时任务在后台完成就好。