From 4fff6f09565de09c4594844385bf19c3e8f1ec63 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Thu, 8 May 2025 10:54:49 +0800 Subject: [PATCH] update --- src/views/AIAgentView.vue | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/views/AIAgentView.vue b/src/views/AIAgentView.vue index 8cc0b51..fbfdcad 100644 --- a/src/views/AIAgentView.vue +++ b/src/views/AIAgentView.vue @@ -95,6 +95,7 @@ interface ChatMessage { tool: string tool_input: string } + tools?: string[] } const userInput = ref('') @@ -164,6 +165,7 @@ const sendMessage = async () => { role: 'assistant', content: 'AI 正在思考...', files: [], + tools: [], }) await scrollToBottom() @@ -217,14 +219,42 @@ const sendMessage = async () => { switch (data.event) { case 'agent_thought': - // 忽略思考过程 + // 记录使用的工具 + if (data.tool) { + if (!chatHistory.value[tempMessageIndex].tools) { + chatHistory.value[tempMessageIndex].tools = [] + } + chatHistory.value[tempMessageIndex].tools?.push(data.tool) + + // 更新显示的工具列表 + let toolsText = '' + chatHistory.value[tempMessageIndex].tools?.forEach((tool, index) => { + toolsText += `${index + 1}.已使用 ${tool}\n` + }) + + if (responseText) { + chatHistory.value[tempMessageIndex].content = toolsText + '\n' + responseText + } else { + chatHistory.value[tempMessageIndex].content = toolsText + } + await scrollToBottom() + } break case 'agent_message': if (data.answer) { responseText += data.answer - // 更新临时助手消息的内容 - chatHistory.value[tempMessageIndex].content = responseText + + // 更新临时助手消息的内容,保留工具列表 + let toolsText = '' + if (chatHistory.value[tempMessageIndex].tools?.length) { + chatHistory.value[tempMessageIndex].tools?.forEach((tool, index) => { + toolsText += `${index + 1}.已使用 ${tool}\n` + }) + chatHistory.value[tempMessageIndex].content = toolsText + '\n' + responseText + } else { + chatHistory.value[tempMessageIndex].content = responseText + } await scrollToBottom() } break