From 08a99820149865cf3e7b93d891c02c5d23da23cf Mon Sep 17 00:00:00 2001 From: sw3205933776 <3205933776@qq.com> Date: Mon, 1 Sep 2025 11:39:44 +0800 Subject: [PATCH] fix: correct token count for multibyte and trailing segments (fixes #252) --- src/store/chatStore.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/store/chatStore.ts b/src/store/chatStore.ts index 0d15af765..feb91c4bd 100644 --- a/src/store/chatStore.ts +++ b/src/store/chatStore.ts @@ -327,7 +327,6 @@ const chatStore = create()( }; const { setNuwFileNum, setCotList, getTokens, setUpdateCount, addTokens, setStatus, addWebViewUrl, setIsPending, addMessages, setHasWaitComfirm, setSummaryTask, setTaskAssigning, setTaskInfo, setTaskRunning, addTerminal, addFileList, setActiveAsk, setActiveAskList, tasks, create, setActiveTaskId } = get() // if (tasks[taskId].status === 'finished') return - if (agentMessages.step === "to_sub_tasks") { @@ -496,10 +495,14 @@ const chatStore = create()( setTaskAssigning(taskId, taskAssigning) return; } + // Activate agent if (agentMessages.step === "activate_agent" || agentMessages.step === "deactivate_agent") { let taskAssigning = [...tasks[taskId].taskAssigning] let taskRunning = [...tasks[taskId].taskRunning] + if (agentMessages.data.tokens) { + addTokens(taskId, agentMessages.data.tokens) + } const { state, agent_id, process_task_id } = agentMessages.data; if (!state && !agent_id && !process_task_id) return const agentIndex = taskAssigning.findIndex((agent) => agent.agent_id === agent_id) @@ -548,11 +551,10 @@ const chatStore = create()( const taskIndex = taskRunning.findIndex((task) => task.id === process_task_id); if (taskIndex !== -1) { taskRunning![taskIndex].agent!.status = "completed"; - taskRunning![taskIndex]!.status = "completed"; - } - if (agentMessages.data.tokens) { - addTokens(taskId, agentMessages.data.tokens) + taskRunning![taskIndex]!.status = "completed";~ } + + if (!type && historyId) { const obj = { "project_name": tasks[taskId].summaryTask.split('|')[0],