From 17f22bca57bdc2d9b54038d994999012349b14e1 Mon Sep 17 00:00:00 2001 From: npmrun <1549469775@qq.com> Date: Sun, 9 Aug 2026 00:17:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=96=B0=E4=BC=9A=E8=AF=9D=E5=A4=84=E7=90=86=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E6=B6=88=E6=81=AF=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/composables/useAgentChat.ts | 9 +++++---- app/pages/index.vue | 15 ++++++++++++++- packages/drizzle-pkg/db.sqlite | Bin 1990656 -> 2035712 bytes 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/composables/useAgentChat.ts b/app/composables/useAgentChat.ts index 5d6cedd..25b17ce 100644 --- a/app/composables/useAgentChat.ts +++ b/app/composables/useAgentChat.ts @@ -78,7 +78,7 @@ export function useAgentChat(options: UseAgentChatOptions) { ); } - async function loadMessages(sid: string) { + async function loadMessages(sid: string, skipResume = false) { messages.value = []; errorMessage.value = ""; try { @@ -91,7 +91,9 @@ export function useAgentChat(options: UseAgentChatOptions) { parts: m.parts ? (typeof m.parts === "string" ? JSON.parse(m.parts) : m.parts) : undefined, })); - await tryResumeStream(sid); + if (!skipResume) { + await tryResumeStream(sid); + } } catch { messages.value = []; } @@ -119,7 +121,6 @@ export function useAgentChat(options: UseAgentChatOptions) { } if (!res.ok) { - await loadMessages(sid); return; } @@ -128,7 +129,7 @@ export function useAgentChat(options: UseAgentChatOptions) { try { const body = await res.json(); if (body?.reason === "already-done" || body?.reason === "no-buffer") { - await loadMessages(sid); + await loadMessages(sid, true); } } catch { /* not JSON */ } return; diff --git a/app/pages/index.vue b/app/pages/index.vue index d5f355f..52f48b0 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -179,6 +179,19 @@ async function handleSend(content: string) { } } +async function handleNewSession() { + const sid = sessions.currentSessionId.value; + if (sid) { + const inst = chat.getInstance(sid); + if (inst.messages.value.length === 0 && !inst.isLoading.value) { + if (isMobile) mobileSidebarOpen.value = false; + return; + } + } + await sessions.newSession(); + if (isMobile) mobileSidebarOpen.value = false; +} + function refreshTitleWithRetry(sid: string) { const delays = [3000, 6000, 10000, 15000, 22000]; delays.forEach((delay) => { @@ -232,7 +245,7 @@ onMounted(async () => { :user="auth.user.value" :collapsed="isMobile ? !mobileSidebarOpen : sidebarCollapsed" :mobile="isMobile" - @new-session="sessions.newSession(); if (isMobile) mobileSidebarOpen = false" + @new-session="handleNewSession" @select="sessions.selectSession($event); if (isMobile) mobileSidebarOpen = false" @rename="sessions.renameSession" @delete="handleDeleteSession" diff --git a/packages/drizzle-pkg/db.sqlite b/packages/drizzle-pkg/db.sqlite index 7f312a2d2e470dbdf763a76651cacb50ef3b1212..92314740c233296e505f0c2771ac46314371bea9 100644 GIT binary patch delta 33048 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 delta 2195 zcma);dvFuS9mjX~o~t|E8e;P>$T-Fc;MPG8>jg9z;ut6d%(FNp9Fk@EDJ;Kan<24X z%F9g{OcIVHlVF$(!!Qt_P_8X$E0UJf5Mt8Fv^0T1Hi6QC#2#Mmke2o*5dEuvRGRO8 zcki>i_nY6{?p{aF`i^+p_Hn{qgz&ZQ?3sA)(KS~-!^(!DKC`F~|7M6+dQiG4#K}8~ z4*tmR_w08 zuo8fl0`*O`e!b1-vsYEsMk^4acT=Fw;aR8KYg(#9ZB?-_fQuRo!9yEPW{H`j+?$bl57bT`CwSACl=T-)4O2B7;faQJ+>-Qo8+D;$m> zfYuZ!i&VAhO%(-BUt>i>0D%4&6x924XLYlyqA66c20(FpiUb;hKHbsS5Q&u4xOE`; zDNqns$>WJp~-zs9*QFJ!@mJp!X$&D&^R)g`POECbAfKJjC#syf*y0xC-m4D(Tz&g8_bXs)XrPS zYPXG|1f6TVouFQ$KS8G&Ly6>rOe7yy-B?)ywhJqZ!Md?h0@j6lVnQoNF7p0 znkVH;BgK2-SK{x)_r)z@L|iO-#7yDe!WH3O+wI&*o^gNSc5@rJ3T{3(m3x8=ldnjeyic~02w6qX*xk)oG4WIG;Sk#U`i#)6k1~FC)kH9t1PoElPwy(L%*bPNa3rrfv%*_(p+kh zhvYxYAIf{>E%I7NaH0UUKc+TkBe`M9b#BqAUee{ z!UN%J;f!!Z*eR?Rg2G(k86lm&&nNiP{6T&P-^#C^!58s)5YRpDBKHxupWDVYaW8U( z+|!&&ZjlS*w~)#%5+y6h43a}+{4M?h{~Gt;O}G{>G4`)f=DB?8vudttfp-CZV>veo zL||>!R67e|b-F(mZgF~>J^0}!`=}4(t2m%clg&go<#F;oe#5-JgKo#0Ewu_r1zABF zh=I~TBS0fTPk_=v8K6<1(V#J)v7k)QIM8_0QfnJtI>8!8s&WXiIO|}A45B;i$NrcGh}MxPw0&hLTF|18;) zEZ>5qPui11COp2SF>7H~hT*tFXBvZPqQrIbrAGfKG2QS4vNU7QSzBSwwVg+<9{$z! w!|xI}`?-l;DC?2uzje4`7JO=ZlkgN0ZOr=AHpS9^&o}$wheGeZK3n&H0Kf2tdjJ3c