perf: 优化 Agent 流式会话处理
- 合并流式通知与持久化写入,限制浏览器会话缓存 - 增量投影轮次事件并稳定关联异步工具任务
This commit is contained in:
@@ -114,6 +114,7 @@ export function useAgentTryoutStream() {
|
||||
const sessionChanged = activeSessionId !== sessionId;
|
||||
activeSessionId = sessionId;
|
||||
if (!rawRounds || sessionChanged) {
|
||||
rawRounds?.flush();
|
||||
rawRounds = useAgentTryoutRawRounds({
|
||||
mode: 'draft',
|
||||
sessionId,
|
||||
@@ -174,12 +175,18 @@ export function useAgentTryoutStream() {
|
||||
const payload = envelope.payload || {};
|
||||
|
||||
if (activeRoundId) {
|
||||
rawRounds?.recordEvent(activeRoundId, {
|
||||
const runtimeEvent = rawRounds?.recordEvent(activeRoundId, {
|
||||
domain,
|
||||
payload,
|
||||
type,
|
||||
});
|
||||
rebuildTimeline();
|
||||
if (runtimeEvent) {
|
||||
rawRounds?.projectEvent(
|
||||
timelineItems.value,
|
||||
activeRoundId,
|
||||
runtimeEvent,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (domain === 'LLM' && type === 'MESSAGE') {
|
||||
@@ -340,12 +347,23 @@ export function useAgentTryoutStream() {
|
||||
finishStoppedRun();
|
||||
}
|
||||
|
||||
function dispose() {
|
||||
if (loading.value) {
|
||||
userStopped = true;
|
||||
sseClient.abort();
|
||||
finishStoppedRun();
|
||||
return;
|
||||
}
|
||||
rawRounds?.flush();
|
||||
}
|
||||
|
||||
return {
|
||||
loading,
|
||||
clearDraftSession,
|
||||
markToolApproving,
|
||||
markToolRejected,
|
||||
copyMessageText,
|
||||
dispose,
|
||||
regenerateDraft,
|
||||
selectVariant,
|
||||
syncDraftContext,
|
||||
|
||||
Reference in New Issue
Block a user