taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
195 lines (194 loc) • 4.45 kB
TypeScript
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 {};