feat: 对话id补充

This commit is contained in:
Gsh
2026-02-01 19:23:21 +08:00
parent 6d54c650f0
commit 7f809e0718
2 changed files with 36 additions and 0 deletions

View File

@@ -138,6 +138,28 @@ function scrollToBottom() {
function handleDataChunk(chunk: AnyObject) { function handleDataChunk(chunk: AnyObject) {
try { try {
const parsed = parseStreamChunk(chunk, currentRequestApiType.value || 'Completions'); const parsed = parseStreamChunk(chunk, currentRequestApiType.value || 'Completions');
// 处理消息ID和创建时间
// UserMessage 对应用户消息倒数第二条SystemMessage 对应AI消息最后一条
if (parsed.type === 'UserMessage' && parsed.messageId) {
const userMessage = bubbleItems.value[bubbleItems.value.length - 2];
if (userMessage) {
userMessage.id = parsed.messageId;
if (parsed.creationTime) {
userMessage.creationTime = parsed.creationTime;
}
}
}
else if (parsed.type === 'SystemMessage' && parsed.messageId) {
const aiMessage = bubbleItems.value[bubbleItems.value.length - 1];
if (aiMessage) {
aiMessage.id = parsed.messageId;
if (parsed.creationTime) {
aiMessage.creationTime = parsed.creationTime;
}
}
}
const latest = bubbleItems.value[bubbleItems.value.length - 1]; const latest = bubbleItems.value[bubbleItems.value.length - 1];
// 处理 token 使用情况 // 处理 token 使用情况

View File

@@ -230,6 +230,9 @@ export interface UnifiedStreamChunk {
total_tokens?: number; total_tokens?: number;
}; };
finish_reason?: string; finish_reason?: string;
messageId?: string;
creationTime?: string;
type?: string;
} }
/** /**
@@ -259,6 +262,17 @@ export function parseCompletionsStreamChunk(chunk: any): UnifiedStreamChunk {
result.finish_reason = chunk.choices[0].finish_reason; result.finish_reason = chunk.choices[0].finish_reason;
} }
// 解析消息ID和创建时间UserMessage 或 SystemMessage 类型)
if (chunk.type === 'UserMessage' || chunk.type === 'SystemMessage') {
result.type = chunk.type;
if (chunk.messageId) {
result.messageId = chunk.messageId;
}
if (chunk.creationTime) {
result.creationTime = chunk.creationTime;
}
}
return result; return result;
} }