应使用git worktree为codex自动化任务创建隔离环境,避免覆盖本地未提交改动;需禁用local project模式,配置post-execution脚本校验工作区干净性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在本地开发分支上调试接口、修改组件逻辑时,Codex的自动化任务如果直接跑在同一个工作目录里,可能覆盖你未提交的改动、污染Git状态、让git diff变成一团乱麻。这种干扰不是偶然,而是默认行为下的必然结果。
用Worktree为每个任务创建隔离沙盒
第一步:打开终端,进入你的项目根目录,执行:git worktree add ../backend-api-codex-fix login-fix-20261014。这会在项目同级目录下新建一个独立文件夹,它拥有完整的代码副本,但不共享.git/index等运行时状态。
第二步:在Codex客户端中,新建自动化任务时,将【工作目录】设为刚刚生成的../backend-api-codex-fix路径,而不是你日常开发用的D:\work\backend-api。
第三步:任务执行完毕后,不要直接合并。先切回主工作区,运行git worktree prune清理残留引用;再用git diff login-fix-20261014 -- src/api/auth.ts精准比对目标文件改动,确认无误后再手动复制或cherry-pick。
【必须确保主工作区git status干净,否则worktree创建会失败】。如果当前有未提交修改,先git stash或提交临时分支。
任务配置时禁用Local Project模式
在Codex Automations新建任务的配置窗口中,找到【执行环境】选项。
方法一:勾选【Use Worktree】并指定上一步创建的路径;
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
方法二:若未提前建好worktree,选择【Create new Worktree】,Codex会自动生成带时间戳的隔离目录;
方法三:绝对不要选【Local Project】——这个模式会让Codex直接写入你正在编辑的项目目录,【所有未暂存的开发进度都可能被静默覆盖】。
设置任务完成后的自动校验钩子
在自动化任务的【高级设置】中,启用【Post-execution script】,填入以下PowerShell命令:
if (git status --porcelain) { Write-Error "Worktree contains uncommitted changes"; exit 1 } else { git log -1 --oneline }
这行脚本会在Codex写完代码后立即检查隔离目录是否残留未提交内容。如果有,整个任务标记为失败,不会触发后续流程,避免把半成品推进CI或通知你验收。
这一步能拦住因Codex中途报错、人工干预中断导致的“脏worktree”问题。










