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

This commit is contained in:
Wendong-Fan 2025-09-03 07:17:24 +08:00 committed by GitHub
commit ffd64e6691

View file

@ -328,7 +328,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") {
@ -498,10 +497,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)
@ -550,11 +553,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],