Files
2026Technology-Competition/AGENTS.md
T

125 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 概要设计书自动生成 Agent
## 项目简介
本项目的目标是开发一个 Web 服务形态的 Agent,能够读取 Excel 版要件定义、概要设计做成说明书、概要设计模板、概要设计书记入规则和图表规则等输入资料,自动生成符合规范的 Word 版概要设计书。
## 交流语言
本项目的所有 AI 交流、文档、注释、代码中的文本,**统一使用中文**。不得使用日文、英文或其他语言进行交流(专有名词、技术术语、代码关键字等不可避免的情况除外)。
## 技术栈
- 后端: PythonFastAPI
- 前端: TypeScript + esbuild(原生 DOM,无框架;打包为单文件 ESM)
- 前端构建: Node + esbuild / tsc(产物入库:`src/genesis/server/static/chat.js``chat.css`
- 前端开发: Vite dev serverHMR,仅开发期;代理 /api、/static 到后端)
- LLM: DeepSeek / Qwen等
- 文档处理: python-docx, docxtpl, openpyxl
- Agent 架构: 多 Agent 协作(Parser / Impact / Writer / QA
## 项目结构
```
Genesis/
├── AGENTS.md # 本文件 - OpenCode 指令文件
├── _AI_USAGE_LOG.md # AI 使用日志(自动生成)
├── docs/ # 设计文档(规范 specs/ 与计划 plans/ 位于 docs/superpowers/ 下)
├── frontend/ # 前端源码(TypeScript):src/ + tests/ + esbuild/tsconfig
├── src/ # 后端源码;src/genesis/server/static/ 含前端打包产物
├── scripts/ # 运行脚本(如 scripts/serve.py
├── tests/ # 后端测试(pytest);前端单测在 frontend/tests/
├── sample/ # 样本输入文件(脱敏)
└── README.md # 安装与运行说明
```
## 前端构建(修改前端时)
前端源码在 `frontend/`(TypeScript),打包产物入库于 `src/genesis/server/static/chat.js`
修改前端后须重新构建(仅运行 Web 服务无需 Node,产物已入库):
```powershell
cd frontend
npm install # 首次
npm run build # 打包到 ../src/genesis/server/static/chat.js
npm run typecheck
npm test # 纯逻辑单测(node --test
```
> 前端改动优先改 `frontend/src/*.ts`,再 `npm run build``?v=__ASSET_VER__` 依据文件 mtime 自动破缓存。
>
> **每次改动 `frontend/` 后必须运行 `npm run verify`typecheck → test → build**,确保入库产物 `src/genesis/server/static/chat.js` 与源码一致;提交时一并包含重建后的 `chat.js`。
> 开发期可用 `npm run watch` + `npm run typecheck:watch` 实现保存即重建/检查。
## 服务启动(前后端同一服务)
前端由后端 FastAPI 直接提供(`/` 页面 + `/static` 资源,产物 `chat.js`/`chat.css` 已入库),
**无需单独启动前端服务**
```powershell
# 离线 Fake 引擎(无需 API key,适合演示/评审)
python scripts/serve.py --fake
# 真实 LLM 模式(需 .env 配置 GENESIS_INFERENCE__API_KEY
python scripts/serve.py
# 可选参数
python scripts/serve.py --host 0.0.0.0 --port 8000 --fake --data-root data/server
```
- 访问 `http://127.0.0.1:8000/`API 文档 `http://127.0.0.1:8000/docs`
- 会话/上传快照/结果存于 `data/server/`SQLite,不入库)
### 前端热更新(开发时,可选)
想要保存即热更新(HMR),开发期开两个终端:
```powershell
# 终端 1:后端(API + 生产页面)
python scripts/serve.py --fake
# 终端 2Vite dev serverHMR/api、/static 代理到 :8000
cd frontend
npm run dev # 打开 http://127.0.0.1:5173/
```
- 开发访问 `http://127.0.0.1:5173/`;改 `frontend/src/*.ts``frontend/src/chat.css` 即时热更新。
- `npm run dev` 先由 `scripts/gen-dev-html.mjs``src/genesis/server/static/chat.html` 生成开发入口
`frontend/index.html`(不入库,勿手改)。
- 发布/交付仍以 `npm run verify` 产出并入库 `chat.js`/`chat.css` 为准。
## 开发范式
本项目的开发遵循以下步骤,每一步骤名称对应 `_AI_USAGE_LOG.md` 中的"范式步骤"列:
1. **需求理解** — 分析大赛规则,理解概要设计书生成需求
2. **架构设计** — AI 生成方案,人工审核设计
3. **Agent 实现** — AI 编码实现各 Agent 模块
4. **测试验证** — 单元测试与集成测试验证
5. **反馈迭代** — 基于测试结果反馈修正
## 日志规则(自动执行)
每次创建或修改代码、文件后,在项目根目录的 `_AI_USAGE_LOG.md` 中追加一条记录,必须包含以下字段:
| 日期时间 | 范式步骤 | 修改摘要 | 涉及文件 | 使用模型 |
|----------|----------|----------|----------|----------|
| 2026-06-29 14:30 | 架构设计 | 完成Agent协作架构设计 | docs/design.md | deepseek-chat |
字段填写说明:
- **日期时间**:AI 自动获取当前时间填写
- **范式步骤**:初始写"待补充",后续替换为上方开发范式中对应的步骤名称
- **修改摘要**:简述本次修改的内容
- **涉及文件**:列出被创建或修改的代码文件路径(每行一个)
- **使用模型**:AI 使用的模型名称,若无法获取则手动填写
## 文档生成规则
所有会话中生成的设计文档、方案、报告等内容,**必须保存到 `docs/` 目录下**(设计规范放 `docs/superpowers/specs/`,实施计划放 `docs/superpowers/plans/`),不得在项目根目录或其他位置创建文档文件。
## 信息安全
- 不得将客户数据、公司信息上传至外部公开仓库
- API Key 配置在环境变量或配置文件中,不得硬编码在源码
- 确认所有依赖的许可证类型,禁止使用盗版软件