# 智能研发流程管理系统设计文档
## 系统概述
本系统实现了端到端的需求管理与开发流程自动化,提供完整的工作流程管理和任务追踪功能。系统采用 TypeScript 实现,确保类型安全和代码质量。
## 核心功能
1. **需求读取与完整性分析**
- 从飞书项目系统提取需求文档
- 执行深度需求分析
- 评估需求完整性
2. **需求完善反馈循环**
- 生成精准的澄清问题清单
- 更新需求状态
- 自动通知相关方
3. **架构设计与技术方案**
- 基于完整需求生成技术方案
- 包含项目影响分析
- 提供架构决策建议
4. **代码实现与质量控制**
- 依据技术方案实现功能
- 应用代码质量标准
- 执行自动化测试
5. **自动化代码提交**
- 调用 Gitlab MCP
- 实现代码自动提交
- 管理版本控制
6. **任务状态更新与通知**
- 自动更新飞书项目状态
- 添加 PR 评论
- 通知相关干系人
## 系统架构
### 工作流管理
工作流系统采用状态机设计,包含以下主要阶段:
```typescript
enum WorkflowStage {
REQUIREMENT_ANALYSIS = 'requirement_analysis',
REQUIREMENT_CLARIFICATION = 'requirement_clarification',
ARCHITECTURE_DESIGN = 'architecture_design',
CODE_IMPLEMENTATION = 'code_implementation',
CODE_SUBMISSION = 'code_submission',
COMPLETION = 'completion',
}
```
### 任务管理
任务系统支持多种任务类型和状态:
```typescript
enum TaskType {
REQUIREMENT_ANALYSIS = 'requirement_analysis',
ARCHITECTURE_DESIGN = 'architecture_design',
CODE_IMPLEMENTATION = 'code_implementation',
CODE_SUBMISSION = 'code_submission',
}
enum TaskStatus {
PENDING = 'pending',
IN_PROGRESS = 'in_progress',
COMPLETED = 'completed',
FAILED = 'failed',
CANCELLED = 'cancelled',
}
```
## 数据模型
### WorkflowState
工作流状态包含以下信息:
```typescript
interface WorkflowState {
id: string;
requirementId: string;
currentStage: WorkflowStage;
startedAt: string;
updatedAt: string;
completedAt?: string;
analysisResult?: RequirementAnalysisResult;
designResult?: ArchitectureDesignResult;
implementationResult?: CodeImplementationResult;
metadata?: Record<string, any>;
}
```
### Task
任务对象包含以下字段:
```typescript
interface Task {
id: string;
type: TaskType;
status: TaskStatus;
description?: string;
itemId: string;
itemType: string;
workflowId?: string;
workflowStage?: WorkflowStage;
created_at: string;
updated_at: string;
started_at?: string;
completed_at?: string;
failed_at?: string;
cancelled_at?: string;
result?: any;
error?: string;
progress?: number;
priority?: number;
assignedTo?: string;
metadata?: Record<string, any>;
}
```
## 工作流程
### 1. 需求分析阶段
- 系统从飞书获取需求文档
- 执行需求完整性分析
- 生成分析报告
- 决定是否需要需求澄清
### 2. 需求澄清阶段(条件触发)
- 生成澄清问题列表
- 更新需求状态
- 等待反馈
- 重新评估需求完整性
### 3. 架构设计阶段
- 分析系统影响
- 生成技术方案
- 提供架构决策建议
- 创建实施计划
### 4. 代码实现阶段
- 按计划开发功能
- 执行代码质量检查
- 运行自动化测试
- 生成测试报告
### 5. 代码提交阶段
- 准备代码提交
- 创建合并请求
- 添加相关文档
- 通知代码审查者
### 6. 完成阶段
- 更新项目状态
- 生成总结报告
- 通知相关方
- 归档文档
## 集成接口
系统提供以下主要集成接口:
1. **飞书项目 API**
- 需求文档读取
- 状态更新
- 评论管理
2. **Gitlab MCP**
- 代码提交
- PR 管理
- 版本控制
3. **任务管理 API**
- 任务创建与更新
- 状态查询
- 进度追踪
4. **通知系统 API**
- 状态变更通知
- 任务分配通知
- 完成提醒
## 配置管理
系统配置包括:
```typescript
interface ServerConfig {
port: number;
host: string;
version: string;
name: string;
feishu: FeishuIntegratorConfig;
storage: {
dir: string;
maxConcurrentTasks: number;
};
}
```
## 扩展性设计
系统支持通过以下方式进行扩展:
1. **新增工作流阶段**
- 在 WorkflowStage 枚举中添加新阶段
- 实现相应的阶段处理逻辑
- 更新工作流转换规则
2. **添加任务类型**
- 在 TaskType 枚举中添加新类型
- 实现对应的任务处理器
- 配置任务生命周期管理
3. **集成新的外部系统**
- 实现新的集成器接口
- 注册系统服务
- 配置相关参数
## 监控与日志
系统提供完整的监控和日志功能:
1. **健康检查**
- 服务状态监控
- 依赖服务检查
- 性能指标收集
2. **日志记录**
- 操作日志
- 错误追踪
- 性能分析
3. **指标统计**
- 任务完成率
- 响应时间
- 资源使用率
## 安全性考虑
系统实现了以下安全措施:
1. **访问控制**
- API 认证
- 权限管理
- 角色分配
2. **数据安全**
- 敏感信息加密
- 数据备份
- 审计日志
3. **错误处理**
- 异常捕获
- 失败重试
- 优雅降级
## 部署说明
系统支持以下部署方式:
1. **Docker 容器化**
- 提供 Dockerfile
- 支持 Docker Compose
- 环境变量配置
2. **Kubernetes 部署**
- 提供部署配置
- 支持水平扩展
- 健康检查集成
3. **传统部署**
- 环境要求说明
- 配置文件模板
- 启动脚本