# 概要设计书自动生成 Agent ## 项目简介 本项目的目标是开发一个 Web 服务形态的 Agent,能够读取 Excel 版要件定义、概要设计做成说明书、概要设计模板、概要设计书记入规则和图表规则等输入资料,自动生成符合规范的 Word 版概要设计书。 ## 交流语言 本项目的所有 AI 交流、文档、注释、代码中的文本,**统一使用中文**。不得使用日文、英文或其他语言进行交流(专有名词、技术术语、代码关键字等不可避免的情况除外)。 ## 技术栈 - 后端: Python(FastAPI) - 前端: TypeScript + esbuild(原生 DOM,无框架;打包为单文件 ESM) - 前端构建: Node + esbuild / tsc(产物入库:`src/genesis/server/static/chat.js`、`chat.css`) - 前端开发: Vite dev server(HMR,仅开发期;代理 /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 # 终端 2:Vite dev server(HMR;/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 配置在环境变量或配置文件中,不得硬编码在源码 - 确认所有依赖的许可证类型,禁止使用盗版软件