Codex 执行自动化测试后需强制落盘报告:在 Prompt 末尾添加指定保存路径指令,选用 Worktree 模式避免覆盖,并通过时间戳/Git 信息区分版本,最后人工从日志提取路径归档至共享目录。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让 Codex 在每次执行自动化测试任务后,把生成的覆盖率报告、失败用例列表、执行耗时等关键结果自动保存到本地指定位置,而不是只在对话窗口里一闪而过,方便后续比对趋势或接入 CI 系统。
设置 Automations 时强制输出测试报告文件
打开 Codex 客户端 → 左侧点击【Automations】→ 点击【+ 新建】→ 在“执行时间”下方的 Prompt 编辑框中,粘贴包含明确文件写入指令的完整提示词。
必须在 Prompt 末尾加上这句:【请将本次 pytest 运行的完整 stdout、覆盖率 HTML 报告(含 index.html 和 assets 子目录)、以及失败用例摘要(failures.txt)全部保存到 ./reports/automations/任务名/ 下,路径不存在时自动创建】。
不加这句,Codex 默认只返回文本摘要,不会落盘任何文件;加了之后它会在隔离环境里调用 shell 命令 mkdir -p 并重定向输出,确保报告可被外部程序读取。
用 Worktree 模式保障报告不被覆盖
在“运行环境”选项中,必须选择【Worktree(推荐新手)】。
选 Local Project 模式时,如果多个 Automation 共享同一工作目录,它们生成的 ./reports/ 目录会相互覆盖;Worktree 每次都克隆全新副本,./reports/ 路径天然隔离,且任务结束后该副本自动归档,报告文件永久保留在 Codex 的 automations_history 文件夹中。
这一步跳过会导致不同日期的报告混在一起,无法做周维度对比。
让报告自动带时间戳和 Git 提交信息
方法一:在 Prompt 中嵌入动态变量
把原本的“保存到 ./reports/automations/任务名/”改成:“保存到 ./reports/automations/任务名/$(date +%Y%m%d_%H%M)_$(git rev-parse --short HEAD)/”。Codex 在 Worktree 环境中能正确解析并执行这个 shell 片段。
通过 codex-reset-radar.pages.dev 监控 Codex 使用重置窗口。轮询 current.json,检测窗口开启/关闭、预测等级变化以及概率跳变。
方法二:用 post-run hook 脚本补全
在项目根目录下新建 .codex/hooks/post-test-report.sh,内容为:mv ./reports/automations/任务名/index.html ./reports/automations/任务名/index_$(date +%s).html。Codex 执行完主 Prompt 后会自动查找并运行该脚本。
注意:post-run hook 只在 Worktree 模式下生效,Local Project 模式因权限限制无法触发。
从日志中提取并归档历史报告路径
第一步:在 Codex 客户端中,进入【Settings】→【Logs】→ 找到最近一次 Automations 的执行日志条目。
第二步:复制其中形如 “Report saved to: /Users/xxx/.codex/automations_history/20261012-153022-my-test-run/reports/automations/daily-coverage/index.html” 的完整路径。
第三步:把这个路径粘贴进终端,执行 cp -r $(dirname $PATH) /your/team/shared/reports/,即可把本次报告同步到团队共享目录。
这一步不能靠 Codex 自动完成,因为跨用户文件系统写入涉及权限策略,必须由人工显式触发归档动作。










