必须先建立项目坐标系再让Codex介入,包括确认项目边界、规则、执行与应用入口、业务入口五项;运行测试明确环境状态;复现问题锁定调用链;启用对应插件并验证环境连通性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让Codex安全、准确地接手一个已上线的前后端分离项目,必须避开“直接读src就开改”的陷阱,先建立项目坐标系,否则它可能把H5页面当成管理后台来修,或在Vue项目里生成React代码。
确认项目边界与真实应用根目录
打开终端,进入仓库最外层目录,执行 ls -la,重点查看是否存在多个 package.json 或多个 src 文件夹。很多老项目在根目录下混着前端工程、后端服务、CLI工具甚至文档站点。
运行 cat package.json | grep -E "(name|private|workspaces)",识别出真正被当作“主应用”发布的那个子项目。若发现 "private": true 且无 "publishConfig",大概率不是发布入口。
【必须区分清楚:当前终端所在路径 ≠ 实际运行的应用根目录】。比如根目录下有 frontend/ 和 backend/,但开发文档明确写“前端部署在 Nginx 的 /admin 路径”,那就说明 frontend/ 才是 Codex 应该专注的上下文范围。
定位五个关键入口点
向 Codex 发送指令:“分析当前目录结构,只基于已存在文件,确认以下五项:① 项目边界(哪个子目录是本次任务对应的应用);② 项目规则(CONTRIBUTING.md、.eslintrc.cjs、vue.config.js 或 tsconfig.json 中强制约束);③ 执行入口(package.json 中 dev/start/build 脚本实际调用的命令和参数);④ 应用启动入口(main.ts、main.js 或 _app.tsx 等初始化文件路径);⑤ 当前业务入口(路由定义文件,如 router/index.ts 或 pages/_app.tsx 中的 routes 配置)。”
这一步不能跳过。曾有项目在 src/router/modules/ 下同时存在 user.ts(新版)和 user_old.ts(未删),Codex 若未被明确限定范围,会默认分析全部匹配文件,导致后续修改指向废弃模块。
运行现有测试并记录原始状态
方法一:前端侧执行 npm run test 或 pnpm test:unit,观察是否报错“无法解析 @/utils/request”之类——这说明测试环境缺失别名配置,需先让 Codex 补全 jest.config.js 中的 moduleNameMapper。
方法二:后端侧进入 backend/ 目录,运行 python -m pytest tests/ -v --tb=short。若提示 ModuleNotFoundError: No module named 'fastapi',说明虚拟环境未激活或依赖未安装,此时必须先执行 pip install -r requirements.txt 再让 Codex 继续。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
注意:不要让 Codex 自动修复失败测试。它的第一职责是报告“哪些测试能跑、哪些因环境缺失失败、哪些因逻辑错误失败”,三类原因必须分开标注。
复现一个具体问题,锁定修改现场
第一步:选一个可稳定触发的线上问题,例如“用户点击导出按钮后,CSV 文件缺少创建时间列”。
第二步:告诉 Codex:“在 frontend/ 目录下,找到导出功能对应的组件(搜索关键词 export、downloadCSV、handleExport),定位其调用的数据获取函数,再顺藤摸到 API 请求封装层(如 api/export.ts 或 utils/request.ts)。”
第三步:要求它输出完整调用链,格式为:用户点击 → ExportButton.vue → exportData() → api/exportOrderList() → request(‘/api/v1/export/orders’) → axios 实例拦截器 → 最终发送。
第四步:让它检查该请求返回的数据结构,比对 CSV 生成逻辑中是否遗漏了 created_at 字段映射。若发现字段名不一致(如后端返回 created_time),这就是必须同步修改的耦合点。
启用插件并验证环境连通性
若项目使用 Supabase,必须先在 Codex 中启用 Supabase 插件,否则它无法识别 supabase.client() 调用或自动生成 auth 相关逻辑。
检查 Codex 右下角状态栏是否有 Supabase 图标,悬停显示 “Connected to Supabase CLI”。若无,需手动运行 codex plugin enable supabase 并重启。
若项目用的是自建 FastAPI + SQLite,需确认 Codex 已加载数据库 Schema。执行指令:“读取 backend/app/database.py 和 models/ 目录,生成当前数据表字段清单,特别标注外键关系和非空约束。” 这一步直接影响后续接口修改时是否生成合法的 Pydantic 模型。














