From 4070f85214abb3d4fd943ef9a1b0f91cae0ea063 Mon Sep 17 00:00:00 2001 From: thzxx Date: Thu, 23 Apr 2026 17:04:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=99=AE=E9=80=9A=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E6=B5=81=E5=BC=8F=E6=A8=A1=E5=BC=8F=E6=9C=AA=E6=8D=95=E8=8E=B7?= =?UTF-8?q?=20prompt=5Feval=5Fcount=20=E5=AF=BC=E8=87=B4=E8=B6=8B=E5=8A=BF?= =?UTF-8?q?=E5=9B=BE=E6=97=A0=E6=B3=95=E5=8C=BA=E5=88=86=E8=BE=93=E5=85=A5?= =?UTF-8?q?/=E8=BE=93=E5=87=BA=20token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/components/input-area.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/renderer/components/input-area.ts b/src/renderer/components/input-area.ts index 36be12a..1de4521 100644 --- a/src/renderer/components/input-area.ts +++ b/src/renderer/components/input-area.ts @@ -672,7 +672,7 @@ export async function sendMessage(): Promise { let assistantContent = ''; let thinkContent = ''; - let finalStats: { eval_count?: number; total_duration?: number } | null = null; + let finalStats: { eval_count?: number; prompt_eval_count?: number; total_duration?: number } | null = null; let modelName = ''; try { @@ -711,9 +711,10 @@ export async function sendMessage(): Promise { } if (chunk.model) modelName = chunk.model; // 捕获任何包含统计的 chunk(不限于 done) - if (chunk.eval_count || chunk.total_duration) { + if (chunk.eval_count || chunk.prompt_eval_count || chunk.total_duration) { finalStats = { eval_count: chunk.eval_count ?? finalStats?.eval_count, + prompt_eval_count: chunk.prompt_eval_count ?? finalStats?.prompt_eval_count, total_duration: chunk.total_duration ?? finalStats?.total_duration, }; } @@ -722,6 +723,7 @@ export async function sendMessage(): Promise { // done chunk 优先使用其统计,保留之前的兜底 finalStats = { eval_count: chunk.eval_count ?? finalStats?.eval_count, + prompt_eval_count: chunk.prompt_eval_count ?? finalStats?.prompt_eval_count, total_duration: chunk.total_duration ?? finalStats?.total_duration, }; } @@ -740,7 +742,7 @@ export async function sendMessage(): Promise { timestamp: Date.now(), ...(modelName && { model: modelName }), ...(thinkContent && { think: thinkContent }), - ...(finalStats && { eval_count: finalStats.eval_count, total_duration: finalStats.total_duration }) + ...(finalStats && { eval_count: finalStats.eval_count, prompt_eval_count: finalStats.prompt_eval_count, total_duration: finalStats.total_duration }) }; state.update(KEYS.CURRENT_SESSION, (session: ChatSession | null) => ({ ...session,