Files
silk/AGENTS.md
T

5.4 KiB
Raw Blame History

AGENTS

沟通规则

  1. 先说明结论,再说明影响和后续操作。
  2. 除非项目约定另有要求,否则使用用户偏好的语言。
  3. 交付说明应聚焦于修改的文件、验证结果和风险。
  4. 对不清楚的需求或不可逆选择,执行前先向用户确认。
  5. 创建或重写本指令文件前,询问用户该文件应使用哪种语言。

项目结构

本仓库是「智慧蚕房环境监测与智能调控系统」多模块 monorepo,各目录职责边界如下:

  1. server-go/ — Go 后端(Go 1.23Gin + GORM),入口为 cmd/server/main.go;提供 REST API(默认 :3000)、WebSocket /ws、视频代理 /live/proxy;消费 MQTT 遥测并处理阈值告警、设备控制、RBAC;依赖 PostgreSQL、IoTDB、Valkey/Redis、Ceph S3、WVP/ZLM、recorder-go。
  2. web/ — Web 后台前端(Vite + React + TypeScript + Ant Design),开发端口 5173/api 代理到后端 :3000。
  3. app/ — React Native 移动端(RN 0.74),后端地址通过 .env 配置(参考 .env.exampleAPI_BASE_URL)。
  4. miniapp/ — 微信小程序(Taro 4 + React + TypeScript + Sass);project.config.jsonminiprogramRoot 指向 dist/,该目录是 Taro 构建产物,不得手改。
  5. wvp/ — WVP-PRO + ZLMediaKit 视频平台(docker-compose.yml 包含 WVP、ZLMediaKit、MySQL、Redis),并含 recorder-go(Go 连续录制服务,默认 :9090)与 Dockerfile。
  6. 根目录文档 — README.md部署指南(物理机).md变更记录.md故障排查处理记录.md物联网设备接口和数据格式.md后续工作计划.md(规格书 V2.1 的工作清单与技术选型决策)等为项目说明、规划与部署运维依据。
  7. ai-service/(规划中)— Python FastAPI + ONNX Runtime AI 推理微服务(YOLO 蚕病检测、图像/光谱分析),独立部署于 Tesla P4 GPU 服务器,与 Go 后端通过 HTTP/gRPC 通信;技术方向为「现有 Go 底座 + Python AI 微服务」混合架构,详细规划见 后续工作计划.md

生成文件及其来源命令:

  1. miniapp/dist/ — 由 npm run dev:weapp / npm run build:weapp 生成。
  2. web/dist/ — 由 npm run build 生成。
  3. app/android/app/build/outputs/apk/release/app-release.apk — 由 cd android && gradlew assembleRelease 生成。
  4. server-go/server-go-linux — 由 go build -o server-go-linux ./cmd/server 交叉编译生成。

编码规则

  1. 遵循现有命名、分层、错误处理和格式化约定。
  2. 将修改范围限制在用户请求的任务内。
  3. 不得覆盖用户无关的已有修改。
  4. 不得猜测或编造缺失的需求、事实、约定或技术决策。
  5. 根据用户明确输入、仓库文件、配置、文档或命令输出验证相关结论。
  6. 如果相关细节不确定、有歧义、存在冲突或无法验证,必须停止并先向用户确认,再继续操作。
  7. 不得手改生成产物(如 miniapp/dist/web/dist/、编译后的 APK、server-go-linux);需要改动时先修改源文件或源 schema,再重新生成。

安装与配置

  1. 后端:cd server-go && go build -o server-go-linux ./cmd/server;开发运行用 go run ./cmd/server。必需环境变量以 README「Go 后端环境变量」为准:PGREDISJWT_SECRETJWT_EXPIRES_INMQTTIOTDB_URLWVP_API_BASEZLM_API_BASERECORDER_API_BASES3_ENDPOINTS3_ACCESS_KEYS3_SECRET_KEYS3_BUCKETPORTDEFAULT_ADMIN_USERNAMEDEFAULT_ADMIN_PASSWORD
  2. Web 前端:cd web && npm install && npm run dev;生产构建 npm run build
  3. React Native APPcd app && npm install,按 app/.env.example 配置 API_BASE_URL,然后 npm start / npm run android
  4. 微信小程序:cd miniapp && npm install && npm run dev:weapp;生产构建 npm run build:weapp,产物输出到 dist/
  5. WVP 视频平台:cd wvp && docker compose up -d
  6. 选择未明确指定的技术栈、包管理器、数据库、运行时、部署目标或外部服务前,必须先获得用户确认。
  7. 初始化项目时,如果技术栈尚未明确,应先让用户选择技术栈,再创建项目文件。
  8. 不得将密钥写入需要提交的文件;需要环境配置时使用占位值创建 .env.example
  9. AI 推理服务(规划中):Python 3.11 + 虚拟环境,PyTorchcu121/cu124 wheel,兼容 Tesla P4+ ultralytics;训练与推理在远程 fnOS 服务器(i7-8700T / 62G / Tesla P4 8G)上进行,模型导出 ONNX 后由 FastAPI 服务加载;数据集路径 /vol1/ai/datasets

验证

  1. 常规修改的针对性检查:Go 后端 go build ./...Web npm run lintnpm run buildAPP npm run lintnpm run tsc;小程序 npm run build:weapp
  2. 共享行为修改或发布工作执行更广泛检查:后端 go test ./...go vet ./...,前端构建产物可用性检查。
  3. 如果检查无法运行(缺少依赖、网络受限等),必须清楚报告确切命令和失败原因。

代码审查

  1. 审查修改的正确性、回归风险、安全性、可维护性和测试覆盖率。
  2. 按严重程度排列审查发现,并尽可能提供文件和行号引用。
  3. 具体问题优先于总结;如果没有发现问题,应明确说明。
  4. 指出影响发布风险的未验证行为、缺失测试或尚未解决的不确定项。