UNPKG

requirements-analysis

Version:

简化的需求分析MCP服务 - 基于AI软件工程(优化版)6步流程

148 lines (137 loc) 3.28 kB
/** * 简化需求分析MCP服务类型定义 */ // 项目基础信息 export interface ProjectInfo { projectName: string; projectType: 'new' | 'upgrade' | 'integration' | 'other'; industry: string; background: string; objectives: string; budget?: string; timeline?: string; teamSize?: string; deployment?: 'cloud' | 'onpremise' | 'hybrid'; specialRequirements?: string; } // 分析会话 export interface AnalysisSession { sessionId: string; projectInfo: ProjectInfo; currentStep: number; totalSteps: number; stepResults: Map<number, StepResult>; startTime: Date; lastUpdateTime: Date; isComplete: boolean; outputDir: string; // 输出目录路径 } // 步骤结果 export interface StepResult { stepNumber: number; stepName: string; prompt: string; result: string; timestamp: Date; filePath: string; // 保存的文件路径 status: 'pending' | 'executing' | 'completed' | 'failed'; } // 步骤定义 export interface StepDefinition { number: number; name: string; description: string; estimatedTime: number; // 分钟 outputFormat: 'markdown' | 'json'; fileName: string; // 输出文件名 } // MCP工具响应 export interface MCPResponse { success: boolean; message: string; data?: any; sessionId?: string; currentStep?: number; nextAction?: string; } // 项目摘要 export interface ProjectSummary { sessionId: string; projectName: string; industry: string; currentStep: number; totalSteps: number; progress: number; // 百分比 startTime: Date; lastUpdateTime: Date; isComplete: boolean; outputDir: string; } // 6步流程定义 export const STEP_DEFINITIONS: StepDefinition[] = [ { number: 1, name: '项目基础信息填写', description: '验证和整理项目基础信息', estimatedTime: 5, outputFormat: 'markdown', fileName: 'step1-项目信息.md' }, { number: 2, name: 'AI智能分析项目全貌', description: '进行全面的项目分析', estimatedTime: 10, outputFormat: 'markdown', fileName: 'step2-AI分析.md' }, { number: 3, name: '生成需求分析文档初版', description: '生成完整的需求分析文档', estimatedTime: 10, outputFormat: 'markdown', fileName: 'step3-需求文档初版.md' }, { number: 4, name: 'AI质量分析', description: '对需求文档进行质量分析', estimatedTime: 8, outputFormat: 'markdown', fileName: 'step4-质量分析.md' }, { number: 5, name: '生成改进建议', description: '基于质量分析生成改进建议', estimatedTime: 5, outputFormat: 'markdown', fileName: 'step5-改进建议.md' }, { number: 6, name: '生成最终文档', description: '生成改进后的最终需求文档', estimatedTime: 10, outputFormat: 'markdown', fileName: 'step6-最终文档.md' } ]; // 验证错误 export interface ValidationError { field: string; message: string; suggestion?: string; } // 日志级别 export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; // 日志条目 export interface LogEntry { level: LogLevel; message: string; timestamp: Date; sessionId?: string; stepNumber?: number; data?: any; }