taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
213 lines (212 loc) • 7.78 kB
TypeScript
/**
* MCP (Model Context Protocol) 相关类型定义
*/
/**
* 支持的编辑器类型
*/
export type EditorType = 'windsurf' | 'trae' | 'cursor' | 'vscode';
/**
* MCP服务器配置
*/
export interface MCPServerConfig {
command: string;
args: string[];
timeout?: number;
retries?: number;
}
/**
* MCP能力声明
*/
export interface MCPCapabilities {
resources: boolean;
tools: boolean;
prompts: boolean;
streaming: boolean;
}
/**
* MCP配置接口
*/
export interface MCPConfig {
editor: EditorType;
serverConfig: MCPServerConfig;
capabilities: MCPCapabilities;
environment: Record<string, string>;
}
/**
* Cursor编辑器MCP配置格式
*/
export interface CursorMCPConfig {
mcpServers: {
'taskflow-ai': {
command: string;
args: string[];
env: Record<string, string>;
};
};
}
/**
* Windsurf编辑器MCP配置格式
*/
export interface WindsurfMCPConfig {
mcpServers: {
'taskflow-ai': {
command: string;
args: string[];
env: Record<string, string>;
capabilities: MCPCapabilities;
timeout?: number;
retries?: number;
};
};
}
/**
* Trae编辑器MCP配置格式
*/
export interface TraeMCPConfig {
mcp: {
version: string;
servers: {
taskflow: {
command: string;
args: string[];
environment: Record<string, string>;
capabilities: string[];
healthCheck?: {
enabled: boolean;
interval: number;
timeout: number;
};
};
};
client: {
name: string;
version: string;
features: {
streaming: boolean;
contextWindow: number;
multiModel: boolean;
codeCompletion?: boolean;
semanticSearch?: boolean;
};
};
};
}
/**
* VSCode编辑器MCP配置格式
*/
export interface VSCodeMCPConfig {
'taskflow.mcp.enabled': boolean;
'taskflow.mcp.server': {
command: string;
args: string[];
env: Record<string, string>;
autoRestart?: boolean;
healthCheck?: boolean;
};
'taskflow.ai.models': {
primary: string;
fallback: string[];
specialized: {
code: string;
chinese: string;
general: string;
creative: string;
longText: string;
multimodal: string;
};
loadBalancing?: {
enabled: boolean;
strategy: string;
weights: Record<string, number>;
};
};
'taskflow.integration': {
autoParseOnSave: boolean;
showTaskProgress: boolean;
enableCodeLens: boolean;
contextMenuIntegration: boolean;
statusBarIntegration: boolean;
sidebarPanel: boolean;
};
'taskflow.ui': {
showStatusBar: boolean;
enableNotifications: boolean;
theme: string;
compactMode: boolean;
};
'files.associations': Record<string, string>;
}
/**
* 验证结果
*/
export interface ValidationResult {
valid: boolean;
errors?: string[];
warnings?: string[];
}
/**
* 测试结果
*/
export interface TestResult {
valid: boolean;
errors?: string[];
warnings?: string[];
latency?: number;
}
/**
* MCP配置生成选项
*/
export interface MCPConfigOptions {
includeAllModels?: boolean;
enableStreaming?: boolean;
enableHealthCheck?: boolean;
customEnvironment?: Record<string, string>;
timeout?: number;
retries?: number;
}
/**
* 环境变量映射
*/
export declare const MCP_ENVIRONMENT_VARIABLES: {
readonly DEEPSEEK_API_KEY: "${DEEPSEEK_API_KEY}";
readonly ZHIPU_API_KEY: "${ZHIPU_API_KEY}";
readonly QWEN_API_KEY: "${QWEN_API_KEY}";
readonly BAIDU_API_KEY: "${BAIDU_API_KEY}";
readonly BAIDU_SECRET_KEY: "${BAIDU_SECRET_KEY}";
readonly MOONSHOT_API_KEY: "${MOONSHOT_API_KEY}";
readonly SPARK_APP_ID: "${SPARK_APP_ID}";
readonly SPARK_API_KEY: "${SPARK_API_KEY}";
readonly SPARK_API_SECRET: "${SPARK_API_SECRET}";
readonly TASKFLOW_PROJECT_ROOT: "${workspaceFolder}";
readonly TASKFLOW_CONFIG_PATH: ".taskflow/config.json";
readonly TASKFLOW_LOG_LEVEL: "info";
readonly TASKFLOW_CACHE_ENABLED: "true";
readonly TASKFLOW_AUTO_START: "true";
};
/**
* 默认MCP能力
*/
export declare const DEFAULT_MCP_CAPABILITIES: MCPCapabilities;
/**
* 编辑器配置文件路径映射
*/
export declare const EDITOR_CONFIG_PATHS: Record<EditorType, string>;
/**
* 编辑器扩展推荐文件路径
*/
export declare const EDITOR_EXTENSIONS_PATHS: Record<EditorType, string | null>;
/**
* VSCode扩展推荐配置
*/
export interface VSCodeExtensionsConfig {
recommendations: string[];
unwantedRecommendations?: string[];
}
/**
* 默认VSCode扩展推荐
*/
export declare const DEFAULT_VSCODE_EXTENSIONS: VSCodeExtensionsConfig;
/**
* Cursor规则文件内容
*/
export declare const CURSOR_RULES_CONTENT = "# TaskFlow AI Cursor \u96C6\u6210\u89C4\u5219\n\n## \u9879\u76EE\u914D\u7F6E\n- \u4F7F\u7528 TaskFlow AI \u8FDB\u884C\u667A\u80FD PRD \u89E3\u6790\u548C\u4EFB\u52A1\u7BA1\u7406\n- \u652F\u6301 6 \u79CD AI \u6A21\u578B\uFF1ADeepSeek\u3001\u667A\u8C31AI\u3001\u901A\u4E49\u5343\u95EE\u3001\u6587\u5FC3\u4E00\u8A00\u3001\u6708\u4E4B\u6697\u9762\u3001\u8BAF\u98DE\u661F\u706B\n- MCP \u670D\u52A1\u7AEF\u70B9\uFF1A\u901A\u8FC7\u914D\u7F6E\u6587\u4EF6\u81EA\u52A8\u542F\u52A8\n\n## AI \u6A21\u578B\u4F7F\u7528\u7B56\u7565\n- **DeepSeek**: \u4EE3\u7801\u751F\u6210\u3001\u91CD\u6784\u3001\u6280\u672F\u5206\u6790\n- **\u667A\u8C31AI**: \u4E2D\u6587\u5185\u5BB9\u5904\u7406\u3001\u4E1A\u52A1\u903B\u8F91\u5206\u6790\n- **\u901A\u4E49\u5343\u95EE**: \u901A\u7528\u5206\u6790\u3001\u6587\u6863\u5904\u7406\n- **\u6587\u5FC3\u4E00\u8A00**: \u521B\u610F\u4EFB\u52A1\u3001\u5185\u5BB9\u4F18\u5316\n- **\u6708\u4E4B\u6697\u9762**: \u957F\u6587\u6863\u5904\u7406\u3001\u6DF1\u5EA6\u5206\u6790\n- **\u8BAF\u98DE\u661F\u706B**: \u591A\u6A21\u6001\u4EFB\u52A1\u3001\u7EFC\u5408\u5904\u7406\n\n## \u5DE5\u4F5C\u6D41\u7A0B\n1. PRD \u89E3\u6790 \u2192 \u667A\u8C31AI \u5904\u7406\u4E2D\u6587\u9700\u6C42\n2. \u67B6\u6784\u8BBE\u8BA1 \u2192 DeepSeek \u6280\u672F\u65B9\u6848\u8BBE\u8BA1\n3. \u4EE3\u7801\u5B9E\u73B0 \u2192 DeepSeek \u4EE3\u7801\u751F\u6210\u548C\u4F18\u5316\n4. \u6D4B\u8BD5\u7F16\u5199 \u2192 DeepSeek \u6D4B\u8BD5\u7528\u4F8B\u751F\u6210\n5. \u6587\u6863\u751F\u6210 \u2192 \u901A\u4E49\u5343\u95EE \u6280\u672F\u6587\u6863\u7F16\u5199\n\n## \u4EE3\u7801\u89C4\u8303\n- \u4E25\u683C TypeScript \u7C7B\u578B\u5B89\u5168\n- \u51FD\u6570\u5F0F\u7F16\u7A0B\u4F18\u5148\n- 80%+ \u6D4B\u8BD5\u8986\u76D6\u7387\n- ESLint + Prettier \u4EE3\u7801\u683C\u5F0F\u5316\n\n## \u96C6\u6210\u529F\u80FD\n- \u81EA\u52A8 PRD \u89E3\u6790\u548C\u4EFB\u52A1\u521B\u5EFA\n- \u667A\u80FD\u4EE3\u7801\u751F\u6210\u548C\u91CD\u6784\n- \u591A\u6A21\u578B\u534F\u540C\u5DE5\u4F5C\n- \u5B9E\u65F6\u4EFB\u52A1\u72B6\u6001\u540C\u6B65\n\n## \u6027\u80FD\u4F18\u5316\n- \u542F\u7528 MCP \u8BF7\u6C42\u7F13\u5B58\n- \u4F7F\u7528\u6D41\u5F0F\u54CD\u5E94\u63D0\u5347\u7528\u6237\u4F53\u9A8C\n- \u667A\u80FD\u6A21\u578B\u9009\u62E9\u51CF\u5C11\u5EF6\u8FDF\n- \u6279\u91CF\u5904\u7406\u76F8\u4F3C\u8BF7\u6C42\n\n## \u5B89\u5168\u8003\u8651\n- API \u5BC6\u94A5\u901A\u8FC7\u73AF\u5883\u53D8\u91CF\u7BA1\u7406\n- \u654F\u611F\u4FE1\u606F\u4E0D\u5199\u5165\u4EE3\u7801\n- \u4F7F\u7528 HTTPS \u8FDB\u884C API \u901A\u4FE1\n- \u5B9A\u671F\u8F6E\u6362 API \u5BC6\u94A5\n";