编辑 | blame | 历史 | 原始文档

AGENTS.md — trafficAudit 项目运行须知

项目概览

交通货运统计审核系统(湖北货运量/周转量等)。
- 后端:Spring Boot,目录 traffic-audit-server,端口 8090。
- 前端:Vue 2 + Element UI,目录 traffic-audit-web,端口 8080,/api 代理到 8090。
- 需求文档在 requirement/docs/;用户全程中文交流。

启动前后端(最重要)

统一使用一键脚本 start-dev.ps1(项目根目录),且必须**在沙箱外(require_escalated)运行**:
powershell -NoProfile -ExecutionPolicy Bypass -File start-dev.ps1

  • 脚本会自动检测 8090/8080 是否已监听(已在跑则跳过),并等待验证就绪。
  • 后端等价命令:cmd /c mvn.cmd -q spring-boot:run -f traffic-audit-server\pom.xml > backend.log 2>&1
  • 成功标志:backend.log 出现 Started TrafficAuditApplicationTomcat started on port(s): 8090
  • 前端等价命令(工作目录 traffic-audit-web):cmd /c npm.cmd run serve > frontend.log 2>&1
  • 成功标志:frontend.log 出现 Compiled successfullyApp running at:

必须避开的三个坑(历史教训)

  1. 本机(Codex 子进程环境)同时存在 PathPATH 两个环境变量(值相同)。
    Start-ProcessGet-Item env:Path 会报“已添加了具有相同键的项”。
    对策:一律用 cmd.exe /c ... > log 2>&1 + [System.Diagnostics.ProcessStartInfo] 启动,绝不用 Start-Process
  2. node 在沙箱内访问 C:\Users\jcxiong 会被拒(EPERM: lstat),导致前端起不来。
    对策:启动脚本整体在沙箱外(require_escalated)运行。
  3. 嵌套 powershell.exe -Command "..." 的引号会被外层 shell 解析破坏。
    对策:直接运行 .ps1 文件,不做嵌套。

重启(停旧起新)

  1. 按 PID 精确停旧进程:后端链 cmd→java(maven)→java(app);前端链 cmd→node(npm)→cmd→node(vue-cli-service)
  2. 不要杀 node_repl(Codex MCP 内核)和用户自己开的 cmd 窗口。
  3. 停干净后运行 start-dev.ps1

验证注意

  • 沙箱内 Get-NetTCPConnection 会因权限“拒绝访问”而静默失败,**不要**据此判定端口未监听;判断服务状态以 backend.log / frontend.log 为准。
  • 用户要求:临时脚本/文件未经同意不删;导入失败要在页面显示行号;AI 分析结果要给结构化排版 + 逐字输出动画。