Skip to content

Commit 9c03889

Browse files
committed
feat: 聊天界面支持new session
1 parent 3a164a8 commit 9c03889

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/chatPanel.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as vscode from 'vscode';
22
import { callDeepSeekApi } from './deepseekApi';
3+
import { getCurrentOperationController, resetCurrentOperationController } from './extension';
34

45
class WebviewOutputChannel implements vscode.OutputChannel {
56
private _webview: vscode.Webview;
@@ -177,7 +178,7 @@ export class ChatPanel {
177178
<div id="input-container">
178179
<textarea id="input" placeholder="Type your message here... (Ctrl+Enter to send)"></textarea>
179180
<button id="send">Send</button>
180-
<button id="reset">Reset</button>
181+
<button id="new-session" style="position: absolute; top: 10px; right: 10px;">New Session</button>
181182
</div>
182183
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
183184
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
@@ -246,8 +247,9 @@ export class ChatPanel {
246247
input.value = '';
247248
});
248249
249-
document.getElementById('reset').addEventListener('click', () => {
250-
vscode.postMessage({ command: 'reset' });
250+
document.getElementById('new-session').addEventListener('click', () => {
251+
vscode.postMessage({ command: 'newSession' });
252+
chat.innerHTML = '';
251253
});
252254
253255
input.addEventListener('keydown', (e) => {
@@ -275,7 +277,9 @@ export class ChatPanel {
275277
message.text,
276278
'You are a helpful assistant. Always format answers with Markdown.',
277279
webviewOutputChannel,
278-
true
280+
true,
281+
undefined,
282+
getCurrentOperationController().signal
279283
);
280284

281285
this._conversation.push({ role: 'model', content: response || '' });
@@ -287,9 +291,9 @@ export class ChatPanel {
287291
}
288292
break;
289293

290-
case 'reset':
294+
case 'newSession':
291295
this._conversation = [];
292-
this._panel.webview.postMessage({ command: 'clearHistory' });
296+
resetCurrentOperationController();
293297
break;
294298
}
295299
}

0 commit comments

Comments
 (0)