fix: correct token count for multibyte and trailing segments (fixes #252)

This commit is contained in:
sw3205933776 2025-09-01 11:39:44 +08:00
parent cf003632c8
commit 08a9982014

View file

@ -327,7 +327,6 @@ const chatStore = create<ChatStore>()(
};
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<ChatStore>()(
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<ChatStore>()(
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],