@opensumi/ide-ai-native 3.7.2-next-1740389792.0 → 3.7.2-next-1740450374.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  height: 100%;
5
5
  border-radius: 12px;
6
6
  overflow: hidden;
7
- font-size: 12px;
7
+ font-size: 14px;
8
8
  user-select: text;
9
9
 
10
10
  border-top-left-radius: 12px;
@@ -75,7 +75,7 @@
75
75
 
76
76
  .header_container {
77
77
  height: 36px;
78
- padding: 8px 8px 8px 16px;
78
+ padding: 8px 0 8px 16px;
79
79
  box-sizing: border-box;
80
80
  background-color: var(--editorGroupHeader-tabsBackground);
81
81
  user-select: none;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.view.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmC/B,OAAO,mCAAmC,CAAC;AAuC3C,eAAO,MAAM,UAAU,yBA8oBtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,EACX,mBAAmB,GACpB,EAAE;IACD,WAAW,EAAE,MAAM,GAAG,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,CAAC;CAChC,qBAmJA"}
1
+ {"version":3,"file":"chat.view.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmC/B,OAAO,mCAAmC,CAAC;AAuC3C,eAAO,MAAM,UAAU,yBA4qBtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,EACX,mBAAmB,GACpB,EAAE;IACD,WAAW,EAAE,MAAM,GAAG,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,CAAC;CAChC,qBAsHA"}
@@ -40,9 +40,12 @@ const AIChatView = () => {
40
40
  const contextService = (0, ide_core_browser_1.useInjectable)(llm_context_1.LLMContextServiceToken);
41
41
  const promptProvider = (0, ide_core_browser_1.useInjectable)(context_prompt_provider_1.ChatAgentPromptProvider);
42
42
  const layoutService = (0, ide_core_browser_1.useInjectable)(ide_main_layout_1.IMainLayoutService);
43
+ const mcpServerProxyService = (0, ide_core_browser_1.useInjectable)(common_1.TokenMCPServerProxyService);
43
44
  const msgHistoryManager = aiChatService.sessionModel.history;
44
45
  const containerRef = React.useRef(null);
45
46
  const chatInputRef = React.useRef(null);
47
+ const dialogService = (0, ide_core_browser_1.useInjectable)(ide_overlay_1.IDialogService);
48
+ const aiNativeConfigService = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.AINativeConfigService);
46
49
  const [shortcutCommands, setShortcutCommands] = React.useState([]);
47
50
  const [messageListData, dispatchMessage] = React.useReducer((state, action) => {
48
51
  switch (action.type) {
@@ -61,6 +64,7 @@ const AIChatView = () => {
61
64
  const [defaultAgentId, setDefaultAgentId] = React.useState('');
62
65
  const [command, setCommand] = React.useState('');
63
66
  const [theme, setTheme] = React.useState(null);
67
+ const [mcpToolsCount, setMcpToolsCount] = React.useState(0);
64
68
  React.useEffect(() => {
65
69
  const featureSlashCommands = chatFeatureRegistry.getAllShortcutSlashCommand();
66
70
  const dispose = chatAgentService.onDidChangeAgents(() => {
@@ -428,6 +432,19 @@ const AIChatView = () => {
428
432
  cancellationTokenSource.cancel();
429
433
  };
430
434
  }, [aiChatService.sessionModel]);
435
+ (0, ide_core_browser_1.useEventEffect)(mcpServerProxyService.onChangeMCPServers, () => {
436
+ mcpServerProxyService.getAllMCPTools().then((tools) => {
437
+ setMcpToolsCount(tools.length);
438
+ });
439
+ }, [mcpServerProxyService]);
440
+ const handleShowMCPTools = React.useCallback(async () => {
441
+ const tools = await mcpServerProxyService.getAllMCPTools();
442
+ dialogService.open({
443
+ message: React.createElement(mcp_tools_dialog_view_1.MCPToolsDialog, { tools: tools }),
444
+ type: ide_core_common_1.MessageType.Empty,
445
+ buttons: ['关闭'],
446
+ });
447
+ }, [mcpServerProxyService, dialogService]);
431
448
  return (React.createElement("div", { id: chat_module_less_1.default.ai_chat_view },
432
449
  React.createElement("div", { className: chat_module_less_1.default.header_container },
433
450
  React.createElement(HeaderRender, { handleClear: handleClear, handleCloseChatView: handleCloseChatView })),
@@ -443,7 +460,8 @@ const AIChatView = () => {
443
460
  React.createElement(ChatContext_1.ChatContext, null),
444
461
  React.createElement("div", { className: chat_module_less_1.default.header_operate },
445
462
  React.createElement("div", { className: chat_module_less_1.default.header_operate_left }, shortcutCommands.map((command) => (React.createElement(components_1.Popover, { id: `ai-chat-shortcut-${command.name}`, key: `ai-chat-shortcut-${command.name}`, title: command.tooltip || command.name },
446
- React.createElement("div", { className: chat_module_less_1.default.tag, onClick: () => handleShortcutCommandClick(command) }, command.name)))))),
463
+ React.createElement("div", { className: chat_module_less_1.default.tag, onClick: () => handleShortcutCommandClick(command) }, command.name))))),
464
+ React.createElement("div", { className: chat_module_less_1.default.header_operate_right }, aiNativeConfigService.capabilities.supportsMCP && (React.createElement("div", { className: chat_module_less_1.default.tag, onClick: handleShowMCPTools }, `MCP Tools: ${mcpToolsCount}`)))),
447
465
  React.createElement(ChatInputWrapperRender, { onSend: (value, agentId, command) => handleSend({
448
466
  message: value,
449
467
  agentId,
@@ -456,9 +474,6 @@ const AIChatView = () => {
456
474
  };
457
475
  exports.AIChatView = AIChatView;
458
476
  function DefaultChatViewHeader({ handleClear, handleCloseChatView, }) {
459
- const dialogService = (0, ide_core_browser_1.useInjectable)(ide_overlay_1.IDialogService);
460
- const aiNativeConfigService = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.AINativeConfigService);
461
- const mcpServerProxyService = (0, ide_core_browser_1.useInjectable)(common_1.TokenMCPServerProxyService);
462
477
  const aiChatService = (0, ide_core_browser_1.useInjectable)(common_1.IChatInternalService);
463
478
  const [historyList, setHistoryList] = React.useState([]);
464
479
  const [currentTitle, setCurrentTitle] = React.useState('');
@@ -473,14 +488,6 @@ function DefaultChatViewHeader({ handleClear, handleCloseChatView, }) {
473
488
  const handleHistoryItemDelete = React.useCallback((item) => {
474
489
  aiChatService.clearSessionModel(item.id);
475
490
  }, [aiChatService]);
476
- const handleShowMCPTools = React.useCallback(async () => {
477
- const tools = await mcpServerProxyService.getAllMCPTools();
478
- dialogService.open({
479
- message: React.createElement(mcp_tools_dialog_view_1.MCPToolsDialog, { tools: tools }),
480
- type: ide_core_common_1.MessageType.Empty,
481
- buttons: ['关闭'],
482
- });
483
- }, [mcpServerProxyService, dialogService]);
484
491
  React.useEffect(() => {
485
492
  const getHistoryList = () => {
486
493
  const currentMessages = aiChatService.sessionModel.history.getMessages();
@@ -528,8 +535,6 @@ function DefaultChatViewHeader({ handleClear, handleCloseChatView, }) {
528
535
  currentId: aiChatService.sessionModel.sessionId, title: currentTitle || (0, ide_core_common_1.localize)('aiNative.chat.ai.assistant.name'), historyList: historyList, onNewChat: handleNewChat, onHistoryItemSelect: handleHistoryItemSelect, onHistoryItemDelete: handleHistoryItemDelete, onHistoryItemChange: () => { } }),
529
536
  React.createElement(components_1.Popover, { overlayClassName: chat_module_less_1.default.popover_icon, id: 'ai-chat-header-clear', title: (0, ide_core_common_1.localize)('aiNative.operate.clear.title') },
530
537
  React.createElement(ai_native_1.EnhanceIcon, { wrapperClassName: chat_module_less_1.default.action_btn, className: (0, ide_core_browser_1.getIcon)('clear'), onClick: handleClear, tabIndex: 0, role: 'button', ariaLabel: (0, ide_core_common_1.localize)('aiNative.operate.clear.title') })),
531
- aiNativeConfigService.capabilities.supportsMCP && (React.createElement(components_1.Popover, { overlayClassName: chat_module_less_1.default.popover_icon, id: 'ai-chat-header-tools', position: components_1.PopoverPosition.left, title: (0, ide_core_common_1.localize)('aiNative.operate.tools.title') },
532
- React.createElement(ai_native_1.EnhanceIcon, { wrapperClassName: chat_module_less_1.default.action_btn, className: (0, ide_core_browser_1.getIcon)('menubar-tool'), onClick: handleShowMCPTools, tabIndex: 0, role: 'button', ariaLabel: (0, ide_core_common_1.localize)('aiNative.operate.tools.title') }))),
533
538
  React.createElement(components_1.Popover, { overlayClassName: chat_module_less_1.default.popover_icon, id: 'ai-chat-header-close', position: components_1.PopoverPosition.left, title: (0, ide_core_common_1.localize)('aiNative.operate.close.title') },
534
539
  React.createElement(ai_native_1.EnhanceIcon, { wrapperClassName: chat_module_less_1.default.action_btn, className: (0, ide_core_browser_1.getIcon)('window-close'), onClick: handleCloseChatView, tabIndex: 0, role: 'button', ariaLabel: (0, ide_core_common_1.localize)('aiNative.operate.close.title') }))));
535
540
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat.view.js","sourceRoot":"","sources":["../../../src/browser/chat/chat.view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.view.js","sourceRoot":"","sources":["../../../src/browser/chat/chat.view.tsx"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ exports.ChatContext = (0, react_1.memo)(() => {
31
31
  (0, react_1.useEffect)(() => {
32
32
  const disposable = utils_1.Event.debounce(contextService.onDidContextFilesChangeEvent, (_, e) => e, 50)((files) => {
33
33
  if (files) {
34
- updateAddedFiles(files);
34
+ updateAddedFiles([...files.attached]);
35
35
  }
36
36
  }, contextService);
37
37
  return () => {
@@ -45,7 +45,7 @@ exports.ChatContext = (0, react_1.memo)(() => {
45
45
  contextService.addFileToContext(uri, undefined, true);
46
46
  }, []);
47
47
  const onDidDeselect = (0, react_1.useCallback)((uri) => {
48
- contextService.removeFileFromContext(uri);
48
+ contextService.removeFileFromContext(uri, true);
49
49
  }, []);
50
50
  const onDidClickFile = (0, react_1.useCallback)((uri) => {
51
51
  workbenchEditorService.open(uri);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/components/ChatContext/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/components/ChatContext/index.tsx"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  .dm-chat-history-header-actions {
26
26
  display: flex;
27
27
  align-items: center;
28
- font-size: 12px;
28
+ font-size: 14px;
29
29
 
30
30
  .dm-chat-history-header-actions-history {
31
31
  cursor: pointer;
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .thinking_text {
38
- font-size: 12px;
38
+ font-size: 14px;
39
39
  }
40
40
 
41
41
  .bottom_container {
@@ -480,7 +480,7 @@
480
480
  * welcome
481
481
  */
482
482
  .chat_welcome_head {
483
- font-size: 12px;
483
+ font-size: 14px;
484
484
  line-height: 22px;
485
485
  a {
486
486
  color: #3c8dff;
@@ -9,17 +9,28 @@ export declare class LLMContextServiceImpl extends WithEventBus implements LLMCo
9
9
  protected readonly docModelManager: IEditorDocumentModelService;
10
10
  protected readonly markerService: IMarkerService;
11
11
  private isAutoCollecting;
12
- private contextFiles;
13
- private maxFiles;
14
- private onDidContextFilesChangeEmitter;
15
- onDidContextFilesChangeEvent: import("@opensumi/ide-utils/lib/event").Event<FileContext[]>;
12
+ private readonly maxAttachFilesLimit;
13
+ private readonly maxViewFilesLimit;
14
+ private readonly attachedFiles;
15
+ private readonly recentlyViewFiles;
16
+ private readonly onDidContextFilesChangeEmitter;
17
+ onDidContextFilesChangeEvent: import("@opensumi/ide-utils/lib/event").Event<{
18
+ viewed: FileContext[];
19
+ attached: FileContext[];
20
+ }>;
21
+ private addFileToList;
16
22
  addFileToContext(uri: URI, selection?: [number, number], isManual?: boolean): void;
23
+ private notifyContextChange;
17
24
  cleanFileContext(): void;
18
25
  private getAllContextFiles;
19
- removeFileFromContext(uri: URI): void;
26
+ removeFileFromContext(uri: URI, isManual?: boolean): void;
20
27
  startAutoCollection(): void;
21
28
  private startAutoCollectionInternal;
22
29
  stopAutoCollection(): void;
23
30
  serialize(): SerializedContext;
31
+ private serializeRecentlyViewFiles;
32
+ private serializeAttachedFiles;
33
+ private serializeAttachedFile;
34
+ private getFileErrors;
24
35
  }
25
36
  //# sourceMappingURL=llm-context.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-context.service.d.ts","sourceRoot":"","sources":["../../../src/browser/context/llm-context.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gEAAgE,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAEvF,OAAO,EAAW,GAAG,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAIL,2BAA2B,EAC5B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,qBACa,qBAAsB,SAAQ,YAAa,YAAW,iBAAiB;IAElF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IAEjD,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,QAAQ,CAAc;IAE9B,OAAO,CAAC,8BAA8B,CAAgC;IACtE,4BAA4B,+DAA6C;IAEzE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,UAAO,GAAG,IAAI;IAY/E,gBAAgB;IAKhB,OAAO,CAAC,kBAAkB;IAI1B,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAQrC,mBAAmB,IAAI,IAAI;IAS3B,OAAO,CAAC,2BAA2B;IAiDnC,kBAAkB,IAAI,IAAI;IAI1B,SAAS,IAAI,iBAAiB;CAwC/B"}
1
+ {"version":3,"file":"llm-context.service.d.ts","sourceRoot":"","sources":["../../../src/browser/context/llm-context.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gEAAgE,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAEvF,OAAO,EAAW,GAAG,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAIL,2BAA2B,EAC5B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAqB,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEhH,qBACa,qBAAsB,SAAQ,YAAa,YAAW,iBAAiB;IAElF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IAEjD,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAqE;IACpH,4BAA4B;gBAD4C,WAAW,EAAE;kBAAY,WAAW,EAAE;OACrC;IAEzE,OAAO,CAAC,aAAa;IAYrB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,UAAQ,GAAG,IAAI;IAahF,OAAO,CAAC,mBAAmB;IAI3B,gBAAgB;IAKhB,OAAO,CAAC,kBAAkB;IAO1B,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,UAAQ,GAAG,IAAI;IASvD,mBAAmB,IAAI,IAAI;IAS3B,OAAO,CAAC,2BAA2B;IAmDnC,kBAAkB,IAAI,IAAI;IAI1B,SAAS,IAAI,iBAAiB;IAU9B,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,aAAa;CAStB"}
@@ -14,32 +14,53 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
14
14
  constructor() {
15
15
  super(...arguments);
16
16
  this.isAutoCollecting = false;
17
- this.contextFiles = [];
18
- this.maxFiles = 10; // 上下文的最大长度限制
17
+ this.maxAttachFilesLimit = 10;
18
+ this.maxViewFilesLimit = 20;
19
+ this.attachedFiles = [];
20
+ this.recentlyViewFiles = [];
19
21
  this.onDidContextFilesChangeEmitter = new utils_1.Emitter();
20
22
  this.onDidContextFilesChangeEvent = this.onDidContextFilesChangeEmitter.event;
21
23
  }
22
- addFileToContext(uri, selection, isManual = true) {
23
- this.removeFileFromContext(uri);
24
- this.contextFiles.push({ uri, selection, isManual });
25
- if (this.contextFiles.length > this.maxFiles) {
26
- this.contextFiles.shift();
24
+ addFileToList(file, list, maxLimit) {
25
+ const existingIndex = list.findIndex((f) => f.uri.toString() === file.uri.toString());
26
+ if (existingIndex > -1) {
27
+ list.splice(existingIndex, 1);
27
28
  }
29
+ list.push(file);
30
+ if (list.length > maxLimit) {
31
+ list.shift();
32
+ }
33
+ }
34
+ addFileToContext(uri, selection, isManual = false) {
35
+ if (!uri) {
36
+ return;
37
+ }
38
+ const file = { uri, selection };
39
+ const targetList = isManual ? this.attachedFiles : this.recentlyViewFiles;
40
+ const maxLimit = isManual ? this.maxAttachFilesLimit : this.maxViewFilesLimit;
41
+ this.addFileToList(file, targetList, maxLimit);
42
+ this.notifyContextChange();
43
+ }
44
+ notifyContextChange() {
28
45
  this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
29
46
  }
30
47
  cleanFileContext() {
31
- this.contextFiles = [];
32
- this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
48
+ this.attachedFiles.length = 0;
49
+ this.notifyContextChange();
33
50
  }
34
51
  getAllContextFiles() {
35
- return [...this.contextFiles];
52
+ return {
53
+ viewed: this.recentlyViewFiles,
54
+ attached: this.attachedFiles,
55
+ };
36
56
  }
37
- removeFileFromContext(uri) {
38
- const index = this.contextFiles.findIndex((file) => file.uri.toString() === uri.toString());
57
+ removeFileFromContext(uri, isManual = false) {
58
+ const targetList = isManual ? this.attachedFiles : this.recentlyViewFiles;
59
+ const index = targetList.findIndex((file) => file.uri.toString() === uri.toString());
39
60
  if (index > -1) {
40
- this.contextFiles.splice(index, 1);
41
- this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
61
+ targetList.splice(index, 1);
42
62
  }
63
+ this.notifyContextChange();
43
64
  }
44
65
  startAutoCollection() {
45
66
  if (this.isAutoCollecting) {
@@ -53,13 +74,13 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
53
74
  if (event.payload.uri.scheme !== 'file') {
54
75
  return;
55
76
  }
56
- // FIXME: 暂时不自动添加
57
- // this.addFileToContext(event.payload.uri);
77
+ this.addFileToContext(event.payload.uri, undefined, false);
58
78
  }));
59
79
  this.disposables.push(this.eventBus.on(types_1.EditorDocumentModelRemovalEvent, (event) => {
60
80
  if (event.payload.scheme !== 'file') {
61
81
  return;
62
82
  }
83
+ this.removeFileFromContext(event.payload, false);
63
84
  }));
64
85
  this.disposables.push(this.eventBus.on(types_1.EditorDocumentModelSavedEvent, (event) => {
65
86
  if (event.payload.scheme !== 'file') {
@@ -74,10 +95,10 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
74
95
  event.payload.selections[0].positionLineNumber,
75
96
  ].sort();
76
97
  if (selection[0] === selection[1]) {
77
- this.addFileToContext(event.payload.editorUri, undefined);
98
+ this.addFileToContext(event.payload.editorUri, undefined, false);
78
99
  }
79
100
  else {
80
- this.addFileToContext(event.payload.editorUri, selection.sort((a, b) => a - b));
101
+ this.addFileToContext(event.payload.editorUri, selection.sort((a, b) => a - b), false);
81
102
  }
82
103
  }
83
104
  }));
@@ -87,40 +108,47 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
87
108
  }
88
109
  serialize() {
89
110
  const files = this.getAllContextFiles();
90
- const recentlyViewFiles = files
91
- .filter((v) => !v.selection)
92
- .map((file) => {
93
- const relativePath = utils_1.URI.file(this.appConfig.workspaceDir).relative(file.uri);
94
- if (relativePath) {
95
- return relativePath.toString();
96
- }
97
- return file.uri.parent.toString();
98
- })
111
+ const workspaceRoot = utils_1.URI.file(this.appConfig.workspaceDir);
112
+ return {
113
+ recentlyViewFiles: this.serializeRecentlyViewFiles(files.viewed, workspaceRoot),
114
+ attachedFiles: this.serializeAttachedFiles(files.attached, workspaceRoot),
115
+ };
116
+ }
117
+ serializeRecentlyViewFiles(files, workspaceRoot) {
118
+ return files
119
+ .map((file) => { var _a; return ((_a = workspaceRoot.relative(file.uri)) === null || _a === void 0 ? void 0 : _a.toString()) || file.uri.parent.toString(); })
120
+ .filter(Boolean);
121
+ }
122
+ serializeAttachedFiles(files, workspaceRoot) {
123
+ return files
124
+ .map((file) => this.serializeAttachedFile(file, workspaceRoot))
99
125
  .filter(Boolean);
100
- const attachedFiles = files
101
- .filter((v) => v.selection)
102
- .map((file) => {
126
+ }
127
+ serializeAttachedFile(file, workspaceRoot) {
128
+ try {
103
129
  const ref = this.docModelManager.getModelReference(file.uri);
104
- const content = ref.instance.getText();
105
- const lineErrors = this.markerService
106
- .getManager()
107
- .getMarkers({
108
- resource: file.uri.toString(),
109
- severities: markers_1.MarkerSeverity.Error,
110
- })
111
- .map((marker) => marker.message);
130
+ if (!ref) {
131
+ return null;
132
+ }
112
133
  return {
113
- content,
114
- lineErrors,
115
- path: utils_1.URI.file(this.appConfig.workspaceDir).relative(file.uri).toString(),
116
- language: ref === null || ref === void 0 ? void 0 : ref.instance.languageId,
134
+ content: ref.instance.getText(),
135
+ lineErrors: this.getFileErrors(file.uri),
136
+ path: workspaceRoot.relative(file.uri).toString(),
137
+ language: ref.instance.languageId,
117
138
  };
139
+ }
140
+ catch (e) {
141
+ return null;
142
+ }
143
+ }
144
+ getFileErrors(uri) {
145
+ return this.markerService
146
+ .getManager()
147
+ .getMarkers({
148
+ resource: uri.toString(),
149
+ severities: markers_1.MarkerSeverity.Error,
118
150
  })
119
- .filter(Boolean);
120
- return {
121
- recentlyViewFiles,
122
- attachedFiles,
123
- };
151
+ .map((marker) => marker.message);
124
152
  }
125
153
  };
126
154
  exports.LLMContextServiceImpl = LLMContextServiceImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-context.service.js","sourceRoot":"","sources":["../../../src/browser/context/llm-context.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-context.service.js","sourceRoot":"","sources":["../../../src/browser/context/llm-context.service.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@
23
23
  .rce-mbox-text {
24
24
  line-height: 18px;
25
25
  width: inherit;
26
- font-size: 12px;
26
+ font-size: 14px;
27
27
  }
28
28
 
29
29
  .rce-smsg {
@@ -132,10 +132,6 @@
132
132
  }
133
133
 
134
134
  .run_cmd_tool {
135
- background-color: var(--design-chatInput-background);
136
- padding: 10px;
137
- border-radius: 4px;
138
-
139
135
  .command_title {
140
136
  display: flex;
141
137
  align-items: center;
@@ -10,28 +10,31 @@ export interface LLMContextService {
10
10
  * 清除上下文
11
11
  */
12
12
  cleanFileContext(): void;
13
- onDidContextFilesChangeEvent: Event<FileContext[]>;
13
+ onDidContextFilesChangeEvent: Event<{
14
+ viewed: FileContext[];
15
+ attached: FileContext[];
16
+ }>;
14
17
  /**
15
18
  * 从 context 中移除文件
16
19
  * @param uri URI
17
20
  */
18
- removeFileFromContext(uri: URI): void;
21
+ removeFileFromContext(uri: URI, isManual?: boolean): void;
19
22
  /** 导出为可序列化格式 */
20
23
  serialize(): SerializedContext;
21
24
  }
22
25
  export interface FileContext {
23
26
  uri: URI;
24
27
  selection?: [number, number];
25
- isManual: boolean;
26
28
  }
27
29
  export declare const LLMContextServiceToken: unique symbol;
30
+ export interface AttachFileContext {
31
+ content: string;
32
+ lineErrors: string[];
33
+ path: string;
34
+ language: string;
35
+ }
28
36
  export interface SerializedContext {
29
37
  recentlyViewFiles: string[];
30
- attachedFiles: Array<{
31
- content: string;
32
- lineErrors: string[];
33
- path: string;
34
- language: string;
35
- }>;
38
+ attachedFiles: Array<AttachFileContext>;
36
39
  }
37
40
  //# sourceMappingURL=llm-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,IAAI,IAAI,CAAC;IAE5B,kBAAkB,IAAI,IAAI,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnF;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB,4BAA4B,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnD;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAEtC,gBAAgB;IAChB,SAAS,IAAI,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,sBAAsB,eAA8B,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjG"}
1
+ {"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,IAAI,IAAI,CAAC;IAE5B,kBAAkB,IAAI,IAAI,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnF;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB,4BAA4B,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC,CAAC;IAExF;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE1D,gBAAgB;IAChB,SAAS,IAAI,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,eAA8B,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":";;;AAmCa,QAAA,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":";;;AAkCa,QAAA,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-ai-native",
3
- "version": "3.7.2-next-1740389792.0",
3
+ "version": "3.7.2-next-1740450374.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -23,26 +23,26 @@
23
23
  "@ai-sdk/deepseek": "^0.1.8",
24
24
  "@ai-sdk/openai": "^1.1.9",
25
25
  "@modelcontextprotocol/sdk": "^1.3.1",
26
- "@opensumi/ide-addons": "3.7.2-next-1740389792.0",
27
- "@opensumi/ide-components": "3.7.2-next-1740389792.0",
28
- "@opensumi/ide-connection": "3.7.2-next-1740389792.0",
29
- "@opensumi/ide-core-common": "3.7.2-next-1740389792.0",
30
- "@opensumi/ide-core-node": "3.7.2-next-1740389792.0",
31
- "@opensumi/ide-debug": "3.7.2-next-1740389792.0",
32
- "@opensumi/ide-design": "3.7.2-next-1740389792.0",
33
- "@opensumi/ide-editor": "3.7.2-next-1740389792.0",
34
- "@opensumi/ide-file-search": "3.7.2-next-1740389792.0",
35
- "@opensumi/ide-file-service": "3.7.2-next-1740389792.0",
36
- "@opensumi/ide-main-layout": "3.7.2-next-1740389792.0",
37
- "@opensumi/ide-markers": "3.7.2-next-1740389792.0",
38
- "@opensumi/ide-monaco": "3.7.2-next-1740389792.0",
39
- "@opensumi/ide-overlay": "3.7.2-next-1740389792.0",
40
- "@opensumi/ide-preferences": "3.7.2-next-1740389792.0",
41
- "@opensumi/ide-search": "3.7.2-next-1740389792.0",
42
- "@opensumi/ide-terminal-next": "3.7.2-next-1740389792.0",
43
- "@opensumi/ide-theme": "3.7.2-next-1740389792.0",
44
- "@opensumi/ide-utils": "3.7.2-next-1740389792.0",
45
- "@opensumi/ide-workspace": "3.7.2-next-1740389792.0",
26
+ "@opensumi/ide-addons": "3.7.2-next-1740450374.0",
27
+ "@opensumi/ide-components": "3.7.2-next-1740450374.0",
28
+ "@opensumi/ide-connection": "3.7.2-next-1740450374.0",
29
+ "@opensumi/ide-core-common": "3.7.2-next-1740450374.0",
30
+ "@opensumi/ide-core-node": "3.7.2-next-1740450374.0",
31
+ "@opensumi/ide-debug": "3.7.2-next-1740450374.0",
32
+ "@opensumi/ide-design": "3.7.2-next-1740450374.0",
33
+ "@opensumi/ide-editor": "3.7.2-next-1740450374.0",
34
+ "@opensumi/ide-file-search": "3.7.2-next-1740450374.0",
35
+ "@opensumi/ide-file-service": "3.7.2-next-1740450374.0",
36
+ "@opensumi/ide-main-layout": "3.7.2-next-1740450374.0",
37
+ "@opensumi/ide-markers": "3.7.2-next-1740450374.0",
38
+ "@opensumi/ide-monaco": "3.7.2-next-1740450374.0",
39
+ "@opensumi/ide-overlay": "3.7.2-next-1740450374.0",
40
+ "@opensumi/ide-preferences": "3.7.2-next-1740450374.0",
41
+ "@opensumi/ide-search": "3.7.2-next-1740450374.0",
42
+ "@opensumi/ide-terminal-next": "3.7.2-next-1740450374.0",
43
+ "@opensumi/ide-theme": "3.7.2-next-1740450374.0",
44
+ "@opensumi/ide-utils": "3.7.2-next-1740450374.0",
45
+ "@opensumi/ide-workspace": "3.7.2-next-1740450374.0",
46
46
  "@xterm/xterm": "5.5.0",
47
47
  "ai": "^4.1.21",
48
48
  "ansi-regex": "^2.0.0",
@@ -57,7 +57,7 @@
57
57
  "zod-to-json-schema": "^3.24.1"
58
58
  },
59
59
  "devDependencies": {
60
- "@opensumi/ide-core-browser": "3.7.2-next-1740389792.0"
60
+ "@opensumi/ide-core-browser": "3.7.2-next-1740450374.0"
61
61
  },
62
- "gitHead": "c6c8bce9bd2b03fc2131b9d8c6c9e4c84be1b4bd"
62
+ "gitHead": "12458460da12fc6e96c4942034c7012b2381990c"
63
63
  }
@@ -4,7 +4,7 @@
4
4
  height: 100%;
5
5
  border-radius: 12px;
6
6
  overflow: hidden;
7
- font-size: 12px;
7
+ font-size: 14px;
8
8
  user-select: text;
9
9
 
10
10
  border-top-left-radius: 12px;
@@ -75,7 +75,7 @@
75
75
 
76
76
  .header_container {
77
77
  height: 36px;
78
- padding: 8px 8px 8px 16px;
78
+ padding: 8px 0 8px 16px;
79
79
  box-sizing: border-box;
80
80
  background-color: var(--editorGroupHeader-tabsBackground);
81
81
  user-select: none;
@@ -83,9 +83,12 @@ export const AIChatView = () => {
83
83
  const promptProvider = useInjectable<ChatAgentPromptProvider>(ChatAgentPromptProvider);
84
84
 
85
85
  const layoutService = useInjectable<IMainLayoutService>(IMainLayoutService);
86
+ const mcpServerProxyService = useInjectable<MCPServerProxyService>(TokenMCPServerProxyService);
86
87
  const msgHistoryManager = aiChatService.sessionModel.history;
87
88
  const containerRef = React.useRef<HTMLDivElement>(null);
88
89
  const chatInputRef = React.useRef<{ setInputValue: (v: string) => void } | null>(null);
90
+ const dialogService = useInjectable<IDialogService>(IDialogService);
91
+ const aiNativeConfigService = useInjectable<AINativeConfigService>(AINativeConfigService);
89
92
 
90
93
  const [shortcutCommands, setShortcutCommands] = React.useState<ChatSlashCommandItemModel[]>([]);
91
94
 
@@ -107,6 +110,7 @@ export const AIChatView = () => {
107
110
  const [defaultAgentId, setDefaultAgentId] = React.useState<string>('');
108
111
  const [command, setCommand] = React.useState('');
109
112
  const [theme, setTheme] = React.useState<string | null>(null);
113
+ const [mcpToolsCount, setMcpToolsCount] = React.useState<number>(0);
110
114
 
111
115
  React.useEffect(() => {
112
116
  const featureSlashCommands = chatFeatureRegistry.getAllShortcutSlashCommand();
@@ -658,6 +662,25 @@ export const AIChatView = () => {
658
662
  };
659
663
  }, [aiChatService.sessionModel]);
660
664
 
665
+ useEventEffect(
666
+ mcpServerProxyService.onChangeMCPServers,
667
+ () => {
668
+ mcpServerProxyService.getAllMCPTools().then((tools) => {
669
+ setMcpToolsCount(tools.length);
670
+ });
671
+ },
672
+ [mcpServerProxyService],
673
+ );
674
+
675
+ const handleShowMCPTools = React.useCallback(async () => {
676
+ const tools = await mcpServerProxyService.getAllMCPTools();
677
+ dialogService.open({
678
+ message: <MCPToolsDialog tools={tools} />,
679
+ type: MessageType.Empty,
680
+ buttons: ['关闭'],
681
+ });
682
+ }, [mcpServerProxyService, dialogService]);
683
+
661
684
  return (
662
685
  <div id={styles.ai_chat_view}>
663
686
  <div className={styles.header_container}>
@@ -697,6 +720,13 @@ export const AIChatView = () => {
697
720
  </Popover>
698
721
  ))}
699
722
  </div>
723
+ <div className={styles.header_operate_right}>
724
+ {aiNativeConfigService.capabilities.supportsMCP && (
725
+ <div className={styles.tag} onClick={handleShowMCPTools}>
726
+ {`MCP Tools: ${mcpToolsCount}`}
727
+ </div>
728
+ )}
729
+ </div>
700
730
  </div>
701
731
  <ChatInputWrapperRender
702
732
  onSend={(value, agentId, command) =>
@@ -735,9 +765,6 @@ export function DefaultChatViewHeader({
735
765
  handleClear: () => any;
736
766
  handleCloseChatView: () => any;
737
767
  }) {
738
- const dialogService = useInjectable<IDialogService>(IDialogService);
739
- const aiNativeConfigService = useInjectable<AINativeConfigService>(AINativeConfigService);
740
- const mcpServerProxyService = useInjectable<MCPServerProxyService>(TokenMCPServerProxyService);
741
768
  const aiChatService = useInjectable<ChatInternalService>(IChatInternalService);
742
769
  const [historyList, setHistoryList] = React.useState<IChatHistoryItem[]>([]);
743
770
  const [currentTitle, setCurrentTitle] = React.useState<string>('');
@@ -759,15 +786,6 @@ export function DefaultChatViewHeader({
759
786
  [aiChatService],
760
787
  );
761
788
 
762
- const handleShowMCPTools = React.useCallback(async () => {
763
- const tools = await mcpServerProxyService.getAllMCPTools();
764
- dialogService.open({
765
- message: <MCPToolsDialog tools={tools} />,
766
- type: MessageType.Empty,
767
- buttons: ['关闭'],
768
- });
769
- }, [mcpServerProxyService, dialogService]);
770
-
771
789
  React.useEffect(() => {
772
790
  const getHistoryList = () => {
773
791
  const currentMessages = aiChatService.sessionModel.history.getMessages();
@@ -847,23 +865,6 @@ export function DefaultChatViewHeader({
847
865
  ariaLabel={localize('aiNative.operate.clear.title')}
848
866
  />
849
867
  </Popover>
850
- {aiNativeConfigService.capabilities.supportsMCP && (
851
- <Popover
852
- overlayClassName={styles.popover_icon}
853
- id={'ai-chat-header-tools'}
854
- position={PopoverPosition.left}
855
- title={localize('aiNative.operate.tools.title')}
856
- >
857
- <EnhanceIcon
858
- wrapperClassName={styles.action_btn}
859
- className={getIcon('menubar-tool')}
860
- onClick={handleShowMCPTools}
861
- tabIndex={0}
862
- role='button'
863
- ariaLabel={localize('aiNative.operate.tools.title')}
864
- />
865
- </Popover>
866
- )}
867
868
  <Popover
868
869
  overlayClassName={styles.popover_icon}
869
870
  id={'ai-chat-header-close'}
@@ -39,7 +39,7 @@ export const ChatContext = memo(() => {
39
39
  50,
40
40
  )((files) => {
41
41
  if (files) {
42
- updateAddedFiles(files);
42
+ updateAddedFiles([...files.attached]);
43
43
  }
44
44
  }, contextService);
45
45
 
@@ -57,7 +57,7 @@ export const ChatContext = memo(() => {
57
57
  }, []);
58
58
 
59
59
  const onDidDeselect = useCallback((uri: URI) => {
60
- contextService.removeFileFromContext(uri);
60
+ contextService.removeFileFromContext(uri, true);
61
61
  }, []);
62
62
 
63
63
  const onDidClickFile = useCallback((uri: URI) => {
@@ -25,7 +25,7 @@
25
25
  .dm-chat-history-header-actions {
26
26
  display: flex;
27
27
  align-items: center;
28
- font-size: 12px;
28
+ font-size: 14px;
29
29
 
30
30
  .dm-chat-history-header-actions-history {
31
31
  cursor: pointer;
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .thinking_text {
38
- font-size: 12px;
38
+ font-size: 14px;
39
39
  }
40
40
 
41
41
  .bottom_container {
@@ -480,7 +480,7 @@
480
480
  * welcome
481
481
  */
482
482
  .chat_welcome_head {
483
- font-size: 12px;
483
+ font-size: 14px;
484
484
  line-height: 22px;
485
485
  a {
486
486
  color: #3c8dff;
@@ -12,7 +12,7 @@ import {
12
12
  import { EditorSelectionChangeEvent } from '@opensumi/ide-editor/lib/browser/types';
13
13
  import { IMarkerService } from '@opensumi/ide-markers/lib/common/types';
14
14
 
15
- import { FileContext, LLMContextService, SerializedContext } from '../../common/llm-context';
15
+ import { AttachFileContext, FileContext, LLMContextService, SerializedContext } from '../../common/llm-context';
16
16
 
17
17
  @Injectable()
18
18
  export class LLMContextServiceImpl extends WithEventBus implements LLMContextService {
@@ -27,40 +27,61 @@ export class LLMContextServiceImpl extends WithEventBus implements LLMContextSer
27
27
 
28
28
  private isAutoCollecting = false;
29
29
 
30
- private contextFiles: FileContext[] = [];
31
-
32
- private maxFiles: number = 10; // 上下文的最大长度限制
33
-
34
- private onDidContextFilesChangeEmitter = new Emitter<FileContext[]>();
30
+ private readonly maxAttachFilesLimit = 10;
31
+ private readonly maxViewFilesLimit = 20;
32
+ private readonly attachedFiles: FileContext[] = [];
33
+ private readonly recentlyViewFiles: FileContext[] = [];
34
+ private readonly onDidContextFilesChangeEmitter = new Emitter<{ viewed: FileContext[]; attached: FileContext[] }>();
35
35
  onDidContextFilesChangeEvent = this.onDidContextFilesChangeEmitter.event;
36
36
 
37
- addFileToContext(uri: URI, selection?: [number, number], isManual = true): void {
38
- this.removeFileFromContext(uri);
37
+ private addFileToList(file: FileContext, list: FileContext[], maxLimit: number) {
38
+ const existingIndex = list.findIndex((f) => f.uri.toString() === file.uri.toString());
39
+ if (existingIndex > -1) {
40
+ list.splice(existingIndex, 1);
41
+ }
39
42
 
40
- this.contextFiles.push({ uri, selection, isManual });
43
+ list.push(file);
44
+ if (list.length > maxLimit) {
45
+ list.shift();
46
+ }
47
+ }
41
48
 
42
- if (this.contextFiles.length > this.maxFiles) {
43
- this.contextFiles.shift();
49
+ addFileToContext(uri: URI, selection?: [number, number], isManual = false): void {
50
+ if (!uri) {
51
+ return;
44
52
  }
45
53
 
54
+ const file = { uri, selection };
55
+ const targetList = isManual ? this.attachedFiles : this.recentlyViewFiles;
56
+ const maxLimit = isManual ? this.maxAttachFilesLimit : this.maxViewFilesLimit;
57
+
58
+ this.addFileToList(file, targetList, maxLimit);
59
+ this.notifyContextChange();
60
+ }
61
+
62
+ private notifyContextChange(): void {
46
63
  this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
47
64
  }
48
65
 
49
66
  cleanFileContext() {
50
- this.contextFiles = [];
51
- this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
67
+ this.attachedFiles.length = 0;
68
+ this.notifyContextChange();
52
69
  }
53
70
 
54
71
  private getAllContextFiles() {
55
- return [...this.contextFiles];
72
+ return {
73
+ viewed: this.recentlyViewFiles,
74
+ attached: this.attachedFiles,
75
+ };
56
76
  }
57
77
 
58
- removeFileFromContext(uri: URI): void {
59
- const index = this.contextFiles.findIndex((file) => file.uri.toString() === uri.toString());
78
+ removeFileFromContext(uri: URI, isManual = false): void {
79
+ const targetList = isManual ? this.attachedFiles : this.recentlyViewFiles;
80
+ const index = targetList.findIndex((file) => file.uri.toString() === uri.toString());
60
81
  if (index > -1) {
61
- this.contextFiles.splice(index, 1);
62
- this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
82
+ targetList.splice(index, 1);
63
83
  }
84
+ this.notifyContextChange();
64
85
  }
65
86
 
66
87
  startAutoCollection(): void {
@@ -78,8 +99,7 @@ export class LLMContextServiceImpl extends WithEventBus implements LLMContextSer
78
99
  if (event.payload.uri.scheme !== 'file') {
79
100
  return;
80
101
  }
81
- // FIXME: 暂时不自动添加
82
- // this.addFileToContext(event.payload.uri);
102
+ this.addFileToContext(event.payload.uri, undefined, false);
83
103
  }),
84
104
  );
85
105
 
@@ -88,6 +108,8 @@ export class LLMContextServiceImpl extends WithEventBus implements LLMContextSer
88
108
  if (event.payload.scheme !== 'file') {
89
109
  return;
90
110
  }
111
+
112
+ this.removeFileFromContext(event.payload, false);
91
113
  }),
92
114
  );
93
115
 
@@ -109,11 +131,12 @@ export class LLMContextServiceImpl extends WithEventBus implements LLMContextSer
109
131
  ].sort() as [number, number];
110
132
 
111
133
  if (selection[0] === selection[1]) {
112
- this.addFileToContext(event.payload.editorUri, undefined);
134
+ this.addFileToContext(event.payload.editorUri, undefined, false);
113
135
  } else {
114
136
  this.addFileToContext(
115
137
  event.payload.editorUri,
116
138
  selection.sort((a, b) => a - b),
139
+ false,
117
140
  );
118
141
  }
119
142
  }
@@ -127,42 +150,51 @@ export class LLMContextServiceImpl extends WithEventBus implements LLMContextSer
127
150
 
128
151
  serialize(): SerializedContext {
129
152
  const files = this.getAllContextFiles();
130
- const recentlyViewFiles = files
131
- .filter((v) => !v.selection)
132
- .map((file) => {
133
- const relativePath = URI.file(this.appConfig.workspaceDir).relative(file.uri);
134
- if (relativePath) {
135
- return relativePath.toString();
136
- }
137
- return file.uri.parent.toString();
138
- })
139
- .filter(Boolean);
140
-
141
- const attachedFiles = files
142
- .filter((v) => v.selection)
143
- .map((file) => {
144
- const ref = this.docModelManager.getModelReference(file.uri);
145
- const content = ref!.instance.getText();
146
- const lineErrors = this.markerService
147
- .getManager()
148
- .getMarkers({
149
- resource: file.uri.toString(),
150
- severities: MarkerSeverity.Error,
151
- })
152
- .map((marker) => marker.message);
153
-
154
- return {
155
- content,
156
- lineErrors,
157
- path: URI.file(this.appConfig.workspaceDir).relative(file.uri)!.toString(),
158
- language: ref?.instance.languageId!,
159
- };
160
- })
161
- .filter(Boolean);
153
+ const workspaceRoot = URI.file(this.appConfig.workspaceDir);
162
154
 
163
155
  return {
164
- recentlyViewFiles,
165
- attachedFiles,
156
+ recentlyViewFiles: this.serializeRecentlyViewFiles(files.viewed, workspaceRoot),
157
+ attachedFiles: this.serializeAttachedFiles(files.attached, workspaceRoot),
166
158
  };
167
159
  }
160
+
161
+ private serializeRecentlyViewFiles(files: FileContext[], workspaceRoot: URI): string[] {
162
+ return files
163
+ .map((file) => workspaceRoot.relative(file.uri)?.toString() || file.uri.parent.toString())
164
+ .filter(Boolean);
165
+ }
166
+
167
+ private serializeAttachedFiles(files: FileContext[], workspaceRoot: URI): AttachFileContext[] {
168
+ return files
169
+ .map((file) => this.serializeAttachedFile(file, workspaceRoot))
170
+ .filter(Boolean) as unknown as AttachFileContext[];
171
+ }
172
+
173
+ private serializeAttachedFile(file: FileContext, workspaceRoot: URI) {
174
+ try {
175
+ const ref = this.docModelManager.getModelReference(file.uri);
176
+ if (!ref) {
177
+ return null;
178
+ }
179
+
180
+ return {
181
+ content: ref.instance.getText(),
182
+ lineErrors: this.getFileErrors(file.uri),
183
+ path: workspaceRoot.relative(file.uri)!.toString(),
184
+ language: ref.instance.languageId!,
185
+ };
186
+ } catch (e) {
187
+ return null;
188
+ }
189
+ }
190
+
191
+ private getFileErrors(uri: URI): string[] {
192
+ return this.markerService
193
+ .getManager()
194
+ .getMarkers({
195
+ resource: uri.toString(),
196
+ severities: MarkerSeverity.Error,
197
+ })
198
+ .map((marker) => marker.message);
199
+ }
168
200
  }
@@ -23,7 +23,7 @@
23
23
  .rce-mbox-text {
24
24
  line-height: 18px;
25
25
  width: inherit;
26
- font-size: 12px;
26
+ font-size: 14px;
27
27
  }
28
28
 
29
29
  .rce-smsg {
@@ -132,10 +132,6 @@
132
132
  }
133
133
 
134
134
  .run_cmd_tool {
135
- background-color: var(--design-chatInput-background);
136
- padding: 10px;
137
- border-radius: 4px;
138
-
139
135
  .command_title {
140
136
  display: flex;
141
137
  align-items: center;
@@ -15,13 +15,13 @@ export interface LLMContextService {
15
15
  */
16
16
  cleanFileContext(): void;
17
17
 
18
- onDidContextFilesChangeEvent: Event<FileContext[]>;
18
+ onDidContextFilesChangeEvent: Event<{ viewed: FileContext[]; attached: FileContext[] }>;
19
19
 
20
20
  /**
21
21
  * 从 context 中移除文件
22
22
  * @param uri URI
23
23
  */
24
- removeFileFromContext(uri: URI): void;
24
+ removeFileFromContext(uri: URI, isManual?: boolean): void;
25
25
 
26
26
  /** 导出为可序列化格式 */
27
27
  serialize(): SerializedContext;
@@ -30,12 +30,18 @@ export interface LLMContextService {
30
30
  export interface FileContext {
31
31
  uri: URI;
32
32
  selection?: [number, number];
33
- isManual: boolean;
34
33
  }
35
34
 
36
35
  export const LLMContextServiceToken = Symbol('LLMContextService');
37
36
 
37
+ export interface AttachFileContext {
38
+ content: string;
39
+ lineErrors: string[];
40
+ path: string;
41
+ language: string;
42
+ }
43
+
38
44
  export interface SerializedContext {
39
45
  recentlyViewFiles: string[];
40
- attachedFiles: Array<{ content: string; lineErrors: string[]; path: string; language: string }>;
46
+ attachedFiles: Array<AttachFileContext>;
41
47
  }