需先结构化提交记录再交codex处理:导出200条精简log至changelog-input.txt,格式为“短哈希 提交标题”,剔除merge/chore/docs/test/含中文括号或emoji的条目;用指定prompt约束归类feat/fix/perf/refactor为「新增」「修复」「优化」「重构」四类,每类≤8条、动词现在时、禁用哈希与日期;最后人工核对或grep验证,补全关键fix。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用Codex根据Git提交记录自动生成更新日志,需要先让模型能稳定读取结构化提交信息,再按语义归类、去重、提炼用户可读的变更点。直接喂原始log容易漏掉修复项或混淆feat/chore边界。
准备结构清晰的提交历史
在项目根目录运行 git log --pretty=format:"%h %s" -n 200 > changelog-input.txt,这一步导出最近200条精简提交,避免Codex因历史过长而截断或混淆上下文。
确保每行格式为“短哈希 提交标题”,例如“a1b2c3d feat(api): add rate limit header”。不带空行、不带body、不含merge提交——Codex对非标准格式解析极不稳定,【含中文括号或emoji的提交标题必须手动清理,否则会触发token截断】。
用Prompt约束输出格式
向Codex发送以下完整Prompt(复制粘贴,勿改标点):
你是一个版本日志生成器。输入是git log --pretty=format:"%h %s"输出的200行记录。请严格按以下规则处理:①忽略所有 merge、chore、docs、test 开头的提交;②将 feat、fix、perf、refactor 归类为「新增」「修复」「优化」「重构」四类;③每类下列出不超过8条,每条用短横线开头,动词用现在时(如“支持多语言切换”而非“增加了多语言切换”);④禁用版本号、日期、哈希值;⑤不添加任何解释性文字。输入数据如下:
(此处粘贴 changelog-input.txt 全文)
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
过滤并校验生成结果
方法一:人工快速核对
检查生成内容中是否出现“chore”“ci”“style”等被排除类型——一旦发现,说明Prompt未生效,需在Prompt开头加一句“你必须严格遵守第①条,哪怕输入里有100条chore也一条都不能列”。
方法二:用grep反向验证
把Codex输出保存为 changelog-draft.md,执行 grep -E "^\-.*chore|^\-.*ci" changelog-draft.md,若返回非空则整份日志作废重跑。
方法三:补全遗漏的关键修复
翻看原始 changelog-input.txt 中以 “fix:” 开头但未出现在日志里的条目,挑出影响用户行为的(如“fix: 登录后跳转错误页面”),手动加到「修复」类末尾——Codex常忽略无上下文的单行fix。










