Bläddra i källkod

feat: 优化AI总结功能

1. 将页面总结内容添加到AI对话上下文
2. 保存页面信息用于后续对话
3. 优化AI回复的上下文理解
alibct 7 månader sedan
förälder
incheckning
93d5057dc9
3 ändrade filer med 23 tillägg och 1 borttagningar
  1. 14 0
      js/ai-service.js
  2. 8 0
      js/chat-ui.js
  3. 1 1
      manifest.json

+ 14 - 0
js/ai-service.js

@@ -11,6 +11,7 @@ class AIService {
     // 使用默认API密钥
     this.apiKey = CONFIG.AI_API.DEFAULT_API_KEY;
     this.controller = null; // 用于中断请求的 AbortController
+    this.currentPageInfo = null; // 保存当前页面信息
   }
 
   /**
@@ -97,6 +98,11 @@ class AIService {
       content: msg.content,
     }));
 
+    // 如果存在页面信息,添加到当前消息的上下文
+    if (this.currentPageInfo) {
+      currentMessage = `基于之前总结的页面内容(标题:${this.currentPageInfo.title}),${currentMessage}`;
+    }
+
     messages.push({
       role: "user",
       content: currentMessage,
@@ -180,6 +186,14 @@ ${pageInfo.mainContent}
   setExcelData(data) {
     this.currentExcelData = data;
   }
+
+  /**
+   * 设置当前页面信息
+   * @param {Object} pageInfo 页面信息
+   */
+  setPageInfo(pageInfo) {
+    this.currentPageInfo = pageInfo;
+  }
 }
 
 // 确保在DOM加载完成后再创建实例

+ 8 - 0
js/chat-ui.js

@@ -705,6 +705,14 @@ ${message}`;
       }
 
       await this.addMessage(response, "assistant", true);
+
+      // 将总结内容添加到上下文
+      this.aiService.updateContext(prompt, "user");
+      this.aiService.updateContext(response, "assistant");
+
+      // 保存页面信息到上下文
+      this.aiService.setPageInfo(pageInfo);
+
       this.setInputState(false);
     } catch (error) {
       console.error("Failed to summarize page:", error);

+ 1 - 1
manifest.json

@@ -1,7 +1,7 @@
 {
   "manifest_version": 3,
   "name": "派维斯智能体助手",
-  "version": "0.1.2",
+  "version": "0.1.3",
   "description": "一个辅助用户处理业务流程的智能体助手",
   "author": "Paiwise Team",
   "permissions": [