diff --git a/src/views/home/agent/components/Agent.vue b/src/views/home/agent/components/Agent.vue index 1c1aab6..2493257 100644 --- a/src/views/home/agent/components/Agent.vue +++ b/src/views/home/agent/components/Agent.vue @@ -176,8 +176,22 @@ return abort } + let debouncedWebAddress: string[] | null = null + let openUrlsTimer: ReturnType | null = null + const triggerOpenUrls = (list: string[]) => { + debouncedWebAddress = list + if (openUrlsTimer) clearTimeout(openUrlsTimer) + openUrlsTimer = setTimeout(() => { + if (debouncedWebAddress) { + MyEvent.emit('openUrls', debouncedWebAddress) + debouncedWebAddress = null + } + }, 400) + } + onUnmounted(() => { // abort?.abort() + if (openUrlsTimer) clearTimeout(openUrlsTimer) MyEvent.remove('resetAgent', handleReset) }) @@ -458,7 +472,7 @@ aiMessage.webAddress = parsed hasUrlEvent = true if (String(aiMessage.sessionId) === String(projectStore.state.id)) { - MyEvent.emit('openUrls', parsed) + triggerOpenUrls(parsed) } } if (jsonData.title) {