UNPKG

taskflow-ai

Version:

TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具

195 lines (194 loc) 4.45 kB
import { ModelType, MultiModelConfig } from '../../types/config'; import { ModelCallOptions, ModelRequestParams, ModelResponse } from '../../types/model'; import { ModelAdapter } from './adapter/base'; /** * 复杂任务定义 */ interface ComplexTask { description: string; type: 'code_generation' | 'documentation' | 'testing' | 'analysis' | 'planning' | 'review'; context: { projectType?: string; technologies?: string[]; constraints?: string[]; deadline?: string; priority?: 'low' | 'medium' | 'high' | 'critical'; }; options: { useMultipleModels?: boolean; qualityCheck?: boolean; fallbackEnabled?: boolean; parallelProcessing?: boolean; }; } /** * 任务分解结果 */ interface TaskBreakdownResult { subtasks: SubTask[]; dependencies: TaskDependency[]; estimatedTime: number; recommendedModels: ModelType[]; executionPlan: ExecutionStep[]; } /** * 子任务定义 */ interface SubTask { id: string; title: string; description: string; type: string; estimatedHours: number; priority: 'low' | 'medium' | 'high' | 'critical'; requiredSkills: string[]; recommendedModel: ModelType; dependencies: string[]; } /** * 任务依赖关系 */ interface TaskDependency { from: string; to: string; type: 'blocking' | 'soft' | 'parallel'; } /** * 执行步骤 */ interface ExecutionStep { step: number; tasks: string[]; parallelExecution: boolean; estimatedDuration: number; } /** * 模型性能指标 */ interface ModelMetrics { responseTime: number; successRate: number; costPerToken: number; lastUsed: Date; errorCount: number; } /** * 多模型协作编排器 * 实现智能模型选择、负载均衡和故障转移 */ export declare class MultiModelOrchestrator { private adapters; private config; private metrics; private loadBalanceIndex; constructor(config: MultiModelConfig); /** * 注册模型适配器 */ registerAdapter(modelType: ModelType, adapter: ModelAdapter): void; /** * 智能模型选择 */ chat(params: ModelRequestParams, options?: ModelCallOptions): Promise<ModelResponse>; /** * 流式聊天请求 */ chatStream(params: ModelRequestParams, onData: (content: string, done: boolean) => void, options?: ModelCallOptions): Promise<void>; /** * 评估任务复杂度 */ private assessTaskComplexity; /** * 选择最优模型 */ private selectOptimalModel; /** * 负载均衡模型选择 */ private getLoadBalancedModel; /** * 成本优化模型选择 */ private getCostOptimalModel; /** * 性能优化模型选择 */ private getPerformanceOptimalModel; /** * 执行请求并处理故障转移 */ private executeWithFallback; /** * 执行请求并记录指标 */ private executeWithMetrics; /** * 初始化模型指标 */ private initializeMetrics; /** * 更新模型指标 */ private updateMetrics; /** * 获取模型性能报告 */ getPerformanceReport(): Record<string, ModelMetrics>; /** * 重置模型指标 */ resetMetrics(): void; /** * 处理复杂任务 - 类似AugmentCode的任务分解功能 */ processComplexTask(task: ComplexTask): Promise<TaskBreakdownResult>; /** * 分析任务复杂度 */ private analyzeTaskComplexity; /** * 智能任务分解 */ private decomposeTask; /** * 分解代码生成任务 */ private decomposeCodeGenerationTask; /** * 分解分析任务 */ private decomposeAnalysisTask; /** * 分解规划任务 */ private decomposePlanningTask; /** * 分解文档任务 */ private decomposeDocumentationTask; /** * 分解测试任务 */ private decomposeTestingTask; /** * 分解审核任务 */ private decomposeReviewTask; /** * 生成任务依赖关系 */ private generateDependencies; /** * 估算执行时间 */ private estimateExecutionTime; /** * 为任务推荐模型 */ private recommendModelsForTask; /** * 生成执行计划 */ private generateExecutionPlan; } export {};