Skip to content

Commit b6492c2

Browse files
committed
fix(): handle done immediately
1 parent 3298a98 commit b6492c2

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

bricks/ai/src/chat-view/ChatService.ts

+17-1
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,7 @@ export class ChatService {
385385
async chat(msg: string | ChatBody): Promise<void> {
386386
this.#ctrl = new AbortController();
387387
let hadMatchMessage = false;
388+
let hadUsefulMessage = false;
388389
this.#chatting = true;
389390
await fetchEventSource(
390391
`${getBasePath()}api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions`,
@@ -423,9 +424,24 @@ export class ChatService {
423424
const { data } = msg;
424425
hadMatchMessage = true;
425426
if (data === "[DONE]") {
427+
if (!hadUsefulMessage) {
428+
this.enqueue({
429+
topic: "add",
430+
message: {
431+
created: moment().format("YYYY-MM-DD HH:mm:ss"),
432+
delta: {
433+
role: "assistant",
434+
content: "",
435+
},
436+
agentId: this.#agentId,
437+
robotId: this.#robotId,
438+
},
439+
});
440+
}
426441
this.#ctrl!.abort();
427442
return;
428443
}
444+
hadUsefulMessage = true;
429445
let result = {} as SSEMessageItem;
430446
try {
431447
result = JSON.parse(data);
@@ -538,7 +554,7 @@ export class ChatService {
538554

539555
stop() {
540556
clearTimeout(this.#emitTimer);
541-
this.#ctrl && this.#ctrl?.abort();
557+
this.#ctrl?.abort();
542558
this.#chatting = false;
543559
this.#emitTimer = undefined;
544560
this.#isStartEmitEvent = false;

0 commit comments

Comments
 (0)