feat: header 增加当前会话总 token 消耗统计

- 新增 totalTokens 元素(帮助按钮右侧,🪙 图标 + 数字)
- chat-area.ts 新增 updateTotalTokens() 函数
- 四个触发点:新消息完成、新建会话、加载历史、应用初始化
- 数字自动格式化(toLocaleString)
This commit is contained in:
thzxx
2026-04-07 02:00:27 +08:00
parent a80baf363c
commit 79e4cac19b
6 changed files with 35 additions and 3 deletions
+3 -1
View File
@@ -15,7 +15,7 @@ import { initToast, showToast } from './components/toast.js';
import { initLightbox, closeLightbox } from './components/lightbox.js';
import { initHeader, checkConnection } from './components/header.js';
import { initModelBar, loadModels, setSelectedModel } from './components/model-bar.js';
import { initChatArea, renderMessages, clearMessages, enableAutoScroll } from './components/chat-area.js';
import { initChatArea, renderMessages, clearMessages, enableAutoScroll, updateTotalTokens } from './components/chat-area.js';
import { initInputArea } from './components/input-area.js';
import { initSettingsModal, closeSettingsModal } from './components/settings-modal.js';
import { initHistoryModal, closeHistoryModal } from './components/history-modal.js';
@@ -148,6 +148,7 @@ async function startNewSession(): Promise<void> {
clearMessages();
enableAutoScroll();
renderMessages();
updateTotalTokens();
(document.querySelector('#chatInput') as HTMLElement)?.focus();
}
@@ -242,6 +243,7 @@ async function init(): Promise<void> {
state.set('memoryEnabled', memoryEnabled);
(document.querySelector('#chatInput') as HTMLElement)?.focus();
updateTotalTokens();
logSuccess('应用初始化完成');
} catch (err) {