diff --git a/src/utils/messageHandler.ts b/src/utils/messageHandler.ts index 46dd6bf..0dac3c1 100644 --- a/src/utils/messageHandler.ts +++ b/src/utils/messageHandler.ts @@ -46,7 +46,8 @@ export async function handleUserMessage( text: string, extensionPath?: string, mode?: RunMode, - serviceTier?: ServiceTier // 新增:服务等级参数 + serviceTier?: ServiceTier, // 服务等级参数 + contextItems?: Array<{ id: number; type: string; path: string }> // 上下文项参数 ) { console.log("收到用户消息:", text); @@ -199,7 +200,8 @@ export async function handleUserMessage( extensionPath, mode, undefined, - serviceTier + serviceTier, + contextItems ); return; } catch (error) { @@ -236,10 +238,19 @@ async function handleUserMessageWithBackend( extensionPath: string, mode?: RunMode, reuseTaskId?: string, // 可选,复用现有 taskId(用于 Plan 模式确认后继续执行) - serviceTier?: ServiceTier // 新增:服务等级参数 + serviceTier?: ServiceTier, // 服务等级参数 + contextItems?: Array<{ id: number; type: string; path: string }> // 上下文项参数 ): Promise { const historyManager = ChatHistoryManager.getInstance(); + // 处理上下文项:在消息前附加文件/文件夹路径 + let enhancedText = text; + if (contextItems && contextItems.length > 0) { + console.log("[MessageHandler] 处理上下文项:", contextItems.length); + const paths = contextItems.map(item => item.path).join('\n'); + enhancedText = `${paths}\n\n${text}`; + } + // 获取 historyManager 中的 taskId(由 ICHelperPanel 创建) // 优先使用 reuseTaskId,其次使用 historyManager 的 taskId const taskIdToUse = reuseTaskId || historyManager.getCurrentTaskId(); @@ -267,7 +278,7 @@ async function handleUserMessageWithBackend( return new Promise((resolve, reject) => { currentSession!.sendMessage( - text, + enhancedText, { onText: (fullText, isStreaming) => { // 不再单独处理文本,统一通过 onSegmentUpdate 处理 diff --git a/src/views/inputArea.ts b/src/views/inputArea.ts index 7ce0dfe..e1e41a4 100644 --- a/src/views/inputArea.ts +++ b/src/views/inputArea.ts @@ -296,8 +296,8 @@ export function getInputAreaScript(): string { return ` // 注意:getModeSelectorScript() 已在 webviewContent.ts 开头加载,这里不再重复加载 ${getModelSelectorScript()} - ${getContextButtonScript()} ${getContextDisplayScript()} + ${getContextButtonScript()} ${getContextCompressScript()} ${getOptimizeButtonScript()} @@ -438,6 +438,11 @@ export function getInputAreaScript(): string { autoResizeTextarea(); // 重置输入框高度 messageInput.focus(); + // 清空上下文项 + if (window.clearContextItems) { + window.clearContextItems(); + } + // 重置优化状态 resetOptimizeButton(); } diff --git a/src/views/userInfoComponent.ts b/src/views/userInfoComponent.ts index 246f146..5c5535b 100644 --- a/src/views/userInfoComponent.ts +++ b/src/views/userInfoComponent.ts @@ -26,16 +26,16 @@ export function getUserInfoComponentContent(): string { -
-
+
账户管理 退出登录