@@ -835,12 +844,29 @@ async function stopStreamResponse() {
currentStreamResponse = null;
currentStreamReader = null;
- // 隐藏打字指示器
- hideTypingIndicator();
+ // 更新助手消息内容,替换打字指示器
+ let assistantMessageElement = currentAssistantMessageElement;
+ // 如果 currentAssistantMessageElement 为 null,尝试查找最新的助手消息元素
+ if (!assistantMessageElement) {
+ const messageElements = elements.messagesContainer.querySelectorAll('.message.assistant');
+ if (messageElements.length > 0) {
+ assistantMessageElement = messageElements[messageElements.length - 1];
+ }
+ }
+
+ if (assistantMessageElement) {
+ updateAssistantMessageContent(assistantMessageElement, '流式响应已中止');
+ }
+
+ // 重置全局变量
+ currentAssistantMessageElement = null;
// 更新按钮状态
updateSendButtonState(false);
+ // 滚动到底部
+ scrollToBottom();
+
} catch (error) {
console.error('Error stopping stream:', error);
}
diff --git a/static/chat/style.css b/static/chat/style.css
index 2ec9752..5ffbb52 100644
--- a/static/chat/style.css
+++ b/static/chat/style.css
@@ -490,6 +490,7 @@ body {
.message.text .typing-dots .dot:nth-child(3) {
animation-delay: 0s;
+ transform: translateY(0);
}
@keyframes typing {