应从ci失败日志底部提取含文件路径、行号、异常类型及上下文的完整错误堆栈,用codex exec --skill gh-fix-ci喂入,核对diff、验证测试后手动提交修复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

从CI失败日志提取关键错误信息
打开CI流水线的失败构建详情页,定位到「Build Log」或「Tests」标签页,滚动到底部找到最后出现的红色ERROR块。不要只复制第一行“Error: …”,必须向下拉出完整堆栈——至少包含文件路径、行号、异常类型(如TypeError)、以及紧邻其上的1~2行调用上下文。漏掉这一段,Codex会把Null Pointer误判成配置缺失。
用鼠标框选后按Ctrl+C复制整段日志文本,注意避开时间戳和无关的INFO日志行;如果日志过长(超过500行),先用浏览器搜索“FAILED”或“error”快速定位最后一处失败点。
用codex exec非交互模式喂入日志
在项目根目录终端中执行:codex exec --model codex-2026-q3 --skill gh-fix-ci。
粘贴刚才复制的日志内容,回车确认。这一步必须使用--skill gh-fix-ci而非通用指令,否则Codex会默认走代码生成路径,忽略CI环境约束、测试运行逻辑和PR提交规范。
【不加--skill参数将导致输出不可用于直接修复】。该Skill内置了对jest/vitest/pyest等主流测试框架的解析器,能自动识别“Expected 2 but received 1”这类断言失败与真实代码缺陷的映射关系。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
检查并落地修复建议
第一步:等待输出中出现--- src/utils/dateFormatter.ts开头的diff块,核对修改是否仅发生在报错所指文件内;
第二步:确认diff中未引入新依赖(如没出现import { format } from 'date-fns'这类未在package.json声明的导入);
第三步:手动执行npm test -- --testNamePattern="date formatter handles null"验证该用例是否通过;
第四步:若测试通过,运行git add src/utils/dateFormatter.ts && git commit -m "fix(date): handle null input in formatDate"提交;
这一步操作起来很简单,直接把文件拖进去就行。但注意:Codex不会自动加git commit,它只输出可审查的补丁和验证命令——这是设计使然,避免绕过人工确认直接污染主干。










