Project Snapshot
Overview
本skill帮助你从对话上下文中提取项目规划信息,生成结构化的项目文档。适用于项目规划完成后,需要整理成正式文档的场景。
Trigger Conditions
当用户表达以下意图时使用本skill:
- "总结一下这个项目"
- "生成项目文档"
- "导出项目说明"
- "整理项目规划"
- "把我们的讨论整理成文档"
Installation
基础依赖
# 安装文档生成依赖
pip install python-docx python-pptx openpyxl
# 安装图表生成依赖(可选)
pip install matplotlib graphviz
可选依赖
# 语音识别(多模态输入)
pip install openai-whisper
# 图片OCR(多模态输入)
pip install pytesseract
# PDF解析(多模态输入)
pip install PyPDF2
Workflow
Step 1: 确定分析范围
询问用户需要分析的对话范围:
- 当前会话的全部历史
- 最近N条消息
- 指定时间段的对话
- 特定主题的对话
请确认需要分析的对话范围:
1. 当前会话的全部对话历史
2. 最近的对话(请指定消息数量或时间段)
3. 特定主题的对话(请描述关键词)
Step 2: 收集对话历史
使用 sessions_history 工具获取对话记录:
# 示例:获取当前会话历史
sessions_history(sessionKey="current", limit=100)
如果需要分析其他会话,先使用 sessions_list 查找会话。
Step 2.5: 多模态输入处理(可选)
如果对话包含多媒体内容,进行预处理:
语音对话
- 使用语音识别API(如Whisper)转录音频文件
- 支持格式:MP3、WAV、M4A、OGG
- 输出:带时间戳的文本对话记录
图片/图表
- 使用OCR技术提取图片中的文字
- 识别架构图、流程图、表格等
- 支持格式:PNG、JPG、JPEG、GIF、BMP
文档附件
- 解析PDF、Word、PPT中的文本内容
- 提取表格数据、图表说明
- 支持格式:PDF、DOCX、PPTX、XLSX
Step 3: 分析对话内容
从对话中提取以下信息:
3.1 项目基本信息
- 项目名称
- 项目描述
- 项目目标
- 技术栈
- 开发语言
3.2 项目架构
- 整体架构模式(单体/微服务/前后端分离等)
- 分层架构(Controller/Service/DAO等)
- 模块划分
3.3 功能需求
- 核心功能列表
- 用户角色
- 业务流程
3.4 技术实现
- 数据库设计
- API设计
- 第三方集成
- 部署架构
3.5 项目目录结构
根据讨论内容推断合理的目录结构:
project-root/
├── src/
│ ├── main/
│ │ ├── java/
│ │ ├── resources/
│ │ └── webapp/
│ └── test/
├── pom.xml
└── README.md
3.6 智能分析(高级功能)
技术栈匹配度评估
- 评估技术组合的成熟度和兼容性
- 识别潜在的技术债务和升级路径
- 推荐最佳实践和替代方案
风险识别
- 技术风险:新技术学习曲线、社区支持不足
- 架构风险:单点故障、扩展性瓶颈
- 安全风险:数据泄露、权限漏洞
- 性能风险:响应时间、并发处理能力
成本估算
- 开发成本:人力、时间、工具
- 运维成本:服务器、带宽、监控
- 第三方成本:API调用、云服务、许可证
- 培训成本:团队学习、技术转移
时间线生成
- 基于功能复杂度估算开发周期
- 识别关键路径和依赖关系
- 生成里程碑和交付时间点
- 考虑测试、部署、培训时间
完整性检查
- 检查需求覆盖度
- 验证架构可行性
- 确认技术栈完整性
- 评估文档规范性
Step 4: 生成文档
4.1 Markdown文档
生成标准格式的Markdown文档:
# {项目名称}
## 项目概述
{项目描述}
## 技术架构
### 技术栈
- 后端:{后端技术}
- 前端:{前端技术}
- 数据库:{数据库}
- 中间件:{中间件}
### 架构设计
{架构图或描述}
## 功能模块
### 模块1:{模块名称}
- 功能描述:{描述}
- 主要接口:{接口列表}
### 模块2:{模块名称}
- 功能描述:{描述}
- 主要接口:{接口列表}
## 数据库设计
### 表结构
{表结构描述}
## API设计
### 接口列表
{接口列表}
## 部署说明
{部署要求}
## 项目目录
{目录结构}
4.2 Word文档
方案A:使用python-docx(推荐)
如果环境中已安装 python-docx:
from docx import Document
from docx.shared import Inches, Pt
from docx.enum.text import WD_ALIGN_PARAGRAPH
doc = Document()
doc.add_heading('项目文档', 0)
doc.add_paragraph('项目概述')
# ... 添加更多内容
doc.save('project_document.docx')
方案B:Markdown转Word
如果安装了pandoc:
pandoc project.md -o project.docx
方案C:生成HTML
生成HTML文件,用户可以用Word打开并另存为docx格式。
4.3 PPT演示文稿
使用python-pptx(需安装)
pip install python-pptx
生成项目汇报PPT:
- 封面页:项目名称、日期、版本
- 目录页:文档结构
- 项目概述:背景、目标、价值
- 技术架构:架构图、技术栈
- 功能模块:核心功能展示
- 时间线:项目里程碑
- 团队分工:角色职责
- 风险评估:风险点与应对
- 总结与展望
4.4 Excel数据表
使用openpyxl(需安装)
pip install openpyxl
生成结构化数据表:
- 数据库设计表:表名、字段、类型、说明
- API接口清单:方法、路径、参数、响应
- 功能模块清单:模块、功能、优先级、状态
- 技术栈清单:技术、版本、用途、许可证
- 风险评估表:风险、影响、概率、应对
4.5 图表生成
使用Mermaid语法
自动生成图表代码,支持:
- 架构图:graph TD 或 graph LR
- 流程图:flowchart TD
- 时序图:sequenceDiagram
- ER图:erDiagram
- 甘特图:gantt
- 类图:classDiagram
示例:系统架构图
graph TD
A[用户] --> B[前端 Vue]
B --> C[API网关]
C --> D[用户服务]
C --> E[订单服务]
C --> F[支付服务]
D --> G[(用户数据库)]
E --> H[(订单数据库)]
F --> I[(支付数据库)]
4.6 HTML交互文档
生成单页HTML文档:
- 响应式设计,支持移动端
- 可折叠/展开章节
- 代码高亮显示
- 图表动态渲染
- 打印友好样式
Step 5: 保存文件
将生成的文档保存到工作目录:
# 保存Markdown文件
write(path="project_snapshot.md", content=markdown_content)
# 保存Word文件(如果可行)
write(path="project_snapshot.docx", content=word_content)
Output Formats
Markdown (.md)
- 清晰的标题层级
- 代码块用于目录结构和代码示例
- 表格用于结构化数据
- 列表用于功能点
Word (.docx)
- 专业的文档格式
- 自动目录(如果使用python-docx)
- 样式化的标题和段落
- 适合正式文档提交
Scripts
analyze_conversation.py
分析对话内容,提取项目信息。需要LLM能力,由agent直接处理。
generate_docx.py
使用python-docx生成Word文档。需要安装python-docx:
pip install python-docx
generate_pptx.py
使用python-pptx生成PPT演示文稿。需要安装python-pptx:
pip install python-pptx
generate_xlsx.py
使用openpyxl生成Excel数据表。需要安装openpyxl:
pip install openpyxl
generate_mermaid.py
生成Mermaid图表代码,支持架构图、流程图等。
generate_html.py
生成交互式HTML文档,支持响应式设计和动态内容。
risk_assessment.py
项目风险评估,识别技术、架构、安全风险。
cost_estimation.py
项目成本估算,包括开发、运维、第三方成本。
timeline_generator.py
项目时间线生成,基于功能复杂度估算开发周期。
References
文档模板
references/template.md- Markdown模板references/template.docx- Word模板(如果可用)
最佳实践
- 提取信息时关注技术术语和需求描述
- 目录结构参考项目类型和框架
- 架构设计基于讨论的部署和扩展需求
Examples
示例对话
用户:我们规划一个SpringBoot + Vue的后台管理系统,包含用户管理、角色管理、菜单管理...
助手:[分析对话,生成项目文档]
示例输出
# 后台管理系统
## 项目概述
基于SpringBoot + Vue的后台管理系统,实现用户、角色、菜单的权限管理。
## 技术架构
- 后端:SpringBoot 2.7 + MyBatis-Plus
- 前端:Vue 3 + Element Plus
- 数据库:MySQL 8.0
- 缓存:Redis
## 功能模块
### 用户管理
- 用户CRUD
- 密码加密
- 状态管理
### 角色管理
- 角色CRUD
- 权限分配
### 菜单管理
- 菜单CRUD
- 动态路由
Advanced Features
多格式输出
- Markdown (.md):标准文档格式,便于版本控制
- Word (.docx):正式文档,适合打印和分享
- PPT (.pptx):项目汇报演示文稿(需python-pptx)
- Excel (.xlsx):数据库设计表、API清单(需openpyxl)
- HTML:交互式文档,支持图表和动态内容
- Mermaid:自动生成架构图、流程图、时序图
智能增强
- 技术栈推荐:根据项目需求推荐最佳技术组合
- 风险评估:自动识别技术方案潜在风险
- 成本估算:基于架构估算开发、运维成本
- 时间线生成:自动生成项目里程碑和时间线
- 完整性检查:确保文档无关键信息遗漏
协作功能
- 多人对话分析:支持团队讨论记录分析
- 版本对比:对比不同版本的项目规划差异
- 评论批注:在生成的文档上添加批注和建议
- 实时协作:支持多人同时编辑文档
集成能力
- 项目管理工具:Jira、Trello、Asana、飞书项目
- 文档平台:Confluence、Notion、语雀、飞书文档
- 代码平台:GitHub、GitLab、Gitee Issues
- 通信工具:Slack、Teams、钉钉、飞书消息
交互式生成
- 实时预览:边对话边生成文档预览
- 选择性编辑:用户可选择性修改生成内容
- 模板选择:提供多种行业/架构模板
- 智能引导:主动询问缺失信息,推荐补充内容
图表自动生成
- 架构图:系统架构、部署架构、网络拓扑
- 流程图:业务流程、数据流、审批流程
- 时序图:接口调用、消息传递、状态流转
- ER图:数据库实体关系图
- 甘特图:项目时间线、任务依赖关系
Notes
- 对话质量影响文档质量,建议在规划时明确技术细节
- 复杂项目可能需要多次迭代完善文档
- 生成的文档为初稿,建议人工审核后使用
- 大型项目建议分模块生成文档
- 高级功能可能需要额外依赖,请根据需要安装
Troubleshooting
无法生成Word文档
- 检查python-docx是否安装:
pip install python-docx - 检查pandoc是否安装:
pandoc --version - 如果都不可用,使用Markdown格式
信息提取不完整
- 要求用户提供更详细的对话
- 参考项目代码(如果已创建)
- 使用现有项目分析工具(analyze_project.py)
目录结构不合理
- 参考框架官方示例
- 使用analyze_project.py分析类似项目
- 根据项目规模调整深度