Codex 在单仓库前后端共存时易混淆技术栈,需通过分离目录(如 frontend/、backend/)、各自配置 AGENTS.md 文件、分工作区加载并严格验证来解决。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在同一个 Git 仓库里同时维护前端和后端代码时,Codex 容易把 Vue 页面当 Java 接口改、把 src/api 当成 src/main/java 来处理,导致文件写错目录、技术栈混用、包管理命令跑崩。
确认项目结构是否支持前后端共存
打开终端,进入仓库根目录,执行 git status 确认当前处于干净状态;再运行 ls -la 查看是否存在明显分离的前后端目录,例如:【frontend/】 和 【backend/】(或 client/ + server/、web/ + api/)。若只有单一 src/ 目录且无明确分层,Codex 无法自动识别职责边界,必须先人工补全结构。
如果目录已分离,但 frontend/package.json 和 backend/pom.xml 同时存在,说明项目已按多模块设计,Codex 可基于子目录自动切换上下文;若缺失任一配置文件,它会默认使用全局或历史记忆中的技术栈,大概率出错。
为前后端子目录分别配置 AGENTS.md
在 【frontend/】 目录下新建 AGENTS.md,内容必须包含:
# 前端规范
## 技术栈
Vue 3 + TypeScript + Vite
## 包管理器
pnpm
## 入口文件
src/main.ts
## 禁止事项
- 不修改 public/index.html 的 base 属性
- 不新增 vite 插件依赖(除非明示)
- 不动 backend/ 下任何文件
在 【backend/】 目录下新建 AGENTS.md,内容必须包含:
# 后端规范
## 技术栈
Spring Boot 3.3 + Java 17
## 构建工具
Maven(pom.xml)
## 主启动类
com.example.Application
## 禁止事项
- 不修改 frontend/ 下任何文件
- 不删除 @RestControllerAdvice 类
- 不绕过 Spring Validation 直接操作 HttpServletRequest
这两份文件必须各自放在对应子目录下,不能只放一份在根目录。Codex 每次读取文件前,会优先查找当前路径下的 AGENTS.md,找不到才向上递归——所以根目录的 AGENTS.md 对子目录无效。
让 Codex 明确切换工作区
第一步:在 Codex 界面左侧项目入口中,点击「添加文件夹」→ 选择 【frontend/】 → 点击确认。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
第二步:等待 Codex 加载完成,在聊天框输入:“请确认当前工作目录、技术栈、包管理器、构建命令”。它应输出类似:“当前目录:/project/frontend;技术栈:Vue 3 + TS + Vite;包管理器:pnpm;构建命令:pnpm build”。若输出含 “Spring” 或 “Maven”,说明它没读到 frontend/ 下的 AGENTS.md,立刻检查文件是否存在、名称是否全大写、有无隐藏空格。
第三步:关闭当前工作区 → 再次「添加文件夹」→ 选择 【backend/】 → 重复确认指令。两次确认输出必须严格区分技术栈,否则后续所有操作都会串线。
注意:不要在同一个 Codex 会话中连续加载 frontend 和 backend。每次切换必须关闭旧工作区、重新添加新路径,强制 Codex 重载上下文。这是唯一能防止规则污染的方式。
前后端协同开发时的指令写法
方法一:前端先行,带接口清单
对 Codex(当前工作区为 frontend/)说:“帮我写一个用户权限配置页面,含角色列表、权限树勾选、提交按钮。请在页面末尾自动生成前端接口请求清单,包含接口地址、请求方式、入参字段、出参字段、字段类型。”
方法二:后端接收,精准生成
复制整段输出(含页面代码+接口清单)→ 切换 Codex 工作区到 backend/ → 输入:“根据下面的前端接口清单,生成 Controller、DTO、Service 实现、Mapper 接口及 XML,要求符合 Spring Boot 3.3 规范,数据库字段名用下划线,Java 字段用驼峰。” → 粘贴刚才复制的内容。
方法三:跨目录验证(关键步骤)
后端代码生成完毕后,在 backend/ 下执行:mvn compile;成功后,切回 frontend/,执行:pnpm run dev;打开浏览器访问页面,观察控制台是否报 404 或 CORS 错误。若报 404,说明后端接口路径与前端请求地址不一致,需立即比对 AGENTS.md 中的 baseUrl 配置和 Controller @RequestMapping 值。














