4.2 KiB
概要设计书自动生成 Agent
项目简介
本项目的目标是开发一个 Web 服务形态的 Agent,能够读取 Excel 版要件定义、概要设计做成说明书、概要设计模板、概要设计书记入规则和图表规则等输入资料,自动生成符合规范的 Word 版概要设计书。
交流语言
本项目的所有 AI 交流、文档、注释、代码中的文本,统一使用中文。不得使用日文、英文或其他语言进行交流(专有名词、技术术语、代码关键字等不可避免的情况除外)。
技术栈
- 后端: Python(FastAPI)
- 前端: TypeScript + esbuild(原生 DOM,无框架;打包为单文件 ESM)
- 前端构建: Node + esbuild / tsc(产物入库:
src/genesis/server/static/chat.js) - 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,产物已入库):
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实现保存即重建/检查。
开发范式
本项目的开发遵循以下步骤,每一步骤名称对应 _AI_USAGE_LOG.md 中的"范式步骤"列:
- 需求理解 — 分析大赛规则,理解概要设计书生成需求
- 架构设计 — AI 生成方案,人工审核设计
- Agent 实现 — AI 编码实现各 Agent 模块
- 测试验证 — 单元测试与集成测试验证
- 反馈迭代 — 基于测试结果反馈修正
日志规则(自动执行)
每次创建或修改代码、文件后,在项目根目录的 _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 配置在环境变量或配置文件中,不得硬编码在源码
- 确认所有依赖的许可证类型,禁止使用盗版软件