feat(ui): implement per-task token tracking in LoadingIndicator

This commit is contained in:
qqqys 2026-03-18 17:35:37 +08:00
parent 3a92be09e0
commit 40485c59ac
6 changed files with 150 additions and 12 deletions

View file

@ -27,7 +27,7 @@ export const Composer = () => {
const uiActions = useUIActions();
const { vimEnabled } = useVimMode();
const { showAutoAcceptIndicator, sessionStats } = uiState;
const { showAutoAcceptIndicator, sessionStats, taskStartTokens } = uiState;
const tokens = Object.values(sessionStats.metrics?.models ?? {}).reduce(
(acc, model) => ({
@ -37,6 +37,8 @@ export const Composer = () => {
{ prompt: 0, candidates: 0 },
);
const taskTokens = tokens.candidates - taskStartTokens;
// State for keyboard shortcuts display toggle
const [showShortcuts, setShowShortcuts] = useState(false);
const handleToggleShortcuts = useCallback(() => {
@ -72,7 +74,7 @@ export const Composer = () => {
: uiState.currentLoadingPhrase
}
elapsedTime={uiState.elapsedTime}
candidatesTokens={tokens.candidates}
candidatesTokens={taskTokens}
/>
)}