requirements-analysis
Version:
简化的需求分析MCP服务 - 基于AI软件工程(优化版)6步流程
148 lines (137 loc) • 3.28 kB
text/typescript
/**
* 简化需求分析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;
}