构造函数
constructor
-
new ChatService( dataDir: string, projectRoot: string, toolRegistry: ToolRegistry, llmConfig?: LLMConfig, sharedLLMService?: LLMService, mcpConfigService?: MCPConfigService, sharedMCPClientManager?: MCPClientManager, agentConfig?: Partial<AgentConfig>, sharedToolRegistry?: ToolRegistry, executor?: ITestExecutor,): ChatService
参数
- dataDir: string
- projectRoot: string
- toolRegistry: ToolRegistry
可选llmConfig: LLMConfig
可选sharedLLMService: LLMService
可选mcpConfigService: MCPConfigService
可选sharedMCPClientManager: MCPClientManager
可选agentConfig: Partial<AgentConfig>
可选sharedToolRegistry: ToolRegistry
可选executor: ITestExecutor
方法
updateLLMConfig
-
updateLLMConfig(config: LLMConfig): void
返回 void
getLLMConnectionStatus
-
getLLMConnectionStatus(): Promise< { configured: boolean; connected: boolean; status: "green" | "yellow" | "red"; },>
返回 Promise<
{
configured: boolean;
connected: boolean;
status: "green"
| "yellow"
| "red";
},
>
setProjectRoot
-
setProjectRoot(root: string): void
返回 void
createConversation
-
createConversation(title?: string): Conversation
返回 Conversation
getConversation
-
getConversation(id: string): Conversation | null
返回 Conversation | null
listConversations
-
listConversations(): ConversationSummary[]
返回 ConversationSummary[]
deleteConversation
-
deleteConversation(id: string): boolean
返回 boolean
initMCP
-
返回 Promise<void>
reconnectMCP
-
reconnectMCP(): Promise<void>
返回 Promise<void>
toggleMCPConnection
-
toggleMCPConnection(id: string, enabled: boolean): Promise<void>
参数
- id: string
- enabled: boolean
返回 Promise<void>
getMCPStatus
-
getMCPStatus(): MCPConnectionStatus
返回 MCPConnectionStatus
-
返回 { name: string; description: string; source: "builtin" | "mcp" }[]
sendMessage
-
sendMessage( conversationId: string, userMessage: string, onEvent: (event: SSEEvent) => void, signal?: AbortSignal,): Promise<void>
参数
- conversationId: string
- userMessage: string
- onEvent: (event: SSEEvent) => void
可选signal: AbortSignal
返回 Promise<void>
initAgents
-
generate
-
generate( planContent: string, options?: { outputDir?: string; seedTest?: string },): Promise<AgentResult<string[]>>
参数
- planContent: string
可选options: { outputDir?: string; seedTest?: string }
heal
-
heal( testFilePath: string, options?: { runId?: string; testId?: string; error?: string; stackTrace?: string; },): Promise<AgentResult<AgentHealResult>>
参数
- testFilePath: string
可选options: { runId?: string; testId?: string; error?: string; stackTrace?: string }
setPrompts
-
setPrompts(prompts: Partial<AgentPrompts> | null): void
参数
- prompts: Partial<AgentPrompts> | null
返回 void
getProjectRoot
-
返回 string
getProjectContext
-
getProjectContext(): ProjectContext | null
返回 ProjectContext | null
getConfig
-
updateConfig
-
返回 void
parseMarkdownPlan
-
parseMarkdownPlan(filePath: string): TestPlan | null
createSessionContext
-
createSessionContext(): AgentSessionContext
返回 AgentSessionContext
on
-
on(eventName: string, listener: (payload: unknown) => void): () => void
参数
- eventName: string
- listener: (payload: unknown) => void
返回 () => void
unsubscribe 函数
once
-
once(eventName: string, listener: (payload: unknown) => void): () => void
参数
- eventName: string
- listener: (payload: unknown) => void
返回 () => void
getAgentEventBus
-
getAgentEventBus(): EventEmitter
返回 EventEmitter
UnifiedAIService — 统一 AI 服务。
完全合并 ChatService(对话管理 + MCP 连接)和 AgentService(测试管线编排), 所有子管理器归该类直接持有,不存在内部委托。
聊天系统(sendMessage)的 executeTool 可直接调用 this.plan() / this.heal() 等 Agent 管线方法,无需经过 ToolRegistry 桥接。