4.3 KiB
4.3 KiB
AI 文档模板生成系统 · 任务拆解清单
总工期估算:5-6 周(两人并行:前端 + 后端)
第一阶段:架构与规范(第 1 周)
- 搭建前端脚手架(Vue 3 + Vite + TS + Ant Design Vue + Pinia + Router)
- 搭建后端脚手架(FastAPI + SQLAlchemy async + SQLite)
- 数据库表设计与建表
- 模板格式规范定稿(段落边界规则、标题样式要求、表格归属)
- AI 输出格式规范定稿(JSON 结构、表格标记、错误兜底)
- 导出策略定稿(基于原模板替换内容)
- 前后端 API 接口约定
第二阶段:后端核心开发(第 2-3 周)
Word 解析器(5-7 天)
- python-docx 打开模板,逐段落遍历
- 标题样式识别(Heading 1~6)→ 段落边界
- 正文内容捕获 → 合并到上一标题
- 表格结构提取(行列数、合并单元格、边框、底纹)
- 样式捕获(字体名、字号、加粗、颜色、对齐、缩进、间距、行距)
- 段落索引记录(在文档中的位置,用于导出定位)
- 输出结构化 JSON
AI 服务层(5-7 天)
- OpenAI 格式适配(GPT-4o、DeepSeek-V3、通义千问)
- Anthropic 格式适配(Claude 3.5 Sonnet)
- 统一接口:call_ai(paragraph, files, callback) → content
- 提示词拼接:系统提示词 + 段落预设提示词 + 文件摘要
- 超时/重试/错误处理
- 并发控制(asyncio.Semaphore)
- 文件摘要生成(Excel 解析 + 数据统计)
文档生成器(3 天)
- 单段落生成流程
- 多段落并行生成编排(asyncio.gather)
- SSE 进度推送
- 取消生成支持
- 生成结果入库
Word 导出引擎(5-7 天)
- 复制原模板文件作为骨架
- 段落定位(按索引/xpath/标题文本三级匹配)
- 纯文本替换(保留原样式)
- 表格填充(删除占位表格 → 创建新表格 → 填充数据 → 应用样式)
- 混合内容处理(文字 + 表格交替)
- PDF 导出(调用 LibreOffice 命令)
路由与 API(3 天)
- 模板 CRUD 路由
- 模型 CRUD 路由
- 生成相关路由(测试/全量/进度SSE/取消)
- 导出路由(Word/PDF)
- 文件上传/管理
第三阶段:前端核心开发(第 2-4 周)
通用组件(3 天)
- FileUploader 组件(拖拽 + 点击上传)
- ModelModal 组件(添加/编辑模型弹窗)
- TestModal 组件(段落测试三步弹窗)
- 状态标签、加载状态、空状态组件
模板管理页(5-7 天)
- 模板列表:卡片布局 + 搜索 + 分页
- 三栏编辑器布局
- 左栏:段落列表(点击高亮 + 滚动联动)
- 中栏:文档预览(A4 纸样式,段落可点击选择)
- 右栏:段落配置面板(编辑方式/模型/提示词/文件/格式)
- 保存模板
模型管理页(2 天)
- 模型卡片列表 + 启用/禁用
- 添加/编辑弹窗表单
执行生成页(3 天)
- 双栏布局:左模板选择 + 右段落列表
- 文件上传区(按段落分列)
- 生成按钮 + 进度展示
- 完成跳转
生成记录页(2 天)
- 统计卡片
- 卡片式历史列表 + 筛选
- 预览/下载按钮
预览编辑页(3-4 天)
- 富文本编辑器(contenteditable + 自定义工具栏)
- AI 内容紫色高亮标注
- 重新生成单段落
- 保存/导出按钮
第四阶段:联调与修边(第 5-6 周)
- 文件上传 → 解析 → 保存 → 生成 → 导出全流程联调
- 模板不同格式兼容性测试(不同字体、不同布局、含表格/图片/页眉页脚)
- AI 不同模型的输出格式兼容性
- 错误处理完善(网络中断、模型不可用、文件格式错误)
- 边界情况处理(空模板、超大文件、特殊字符)
- 响应式适配
- 加载状态/骨架屏
- 操作提示/Toast
阶段交付物
| 阶段 | 交付物 |
|---|---|
| 第 1 周 | 项目脚手架、数据库表、API 接口文档 |
| 第 2-3 周 | 后端全部功能可用(可通过 API 测试) |
| 第 4-5 周 | 前端全部页面可用,可联调 |
| 第 6 周 | 全流程跑通,交付验收 |