From cd83e8b49f2aa72ec5ef49e3a70ae66dc7f3c68c Mon Sep 17 00:00:00 2001 From: wusumac <736139669@qq.com> Date: Mon, 14 Sep 2026 01:03:04 +0800 Subject: [PATCH] fix(web): hide cumulative OpenCode cache counters --- web/src/chat/normalizeAgent.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/web/src/chat/normalizeAgent.ts b/web/src/chat/normalizeAgent.ts index 5a826a9c..3fbf747f 100644 --- a/web/src/chat/normalizeAgent.ts +++ b/web/src/chat/normalizeAgent.ts @@ -171,12 +171,17 @@ function normalizeCodexTokenUsage(value: unknown, data?: Record // Codex `inputTokens` already includes cached input tokens; expose cache // hits for display, but use `context_tokens` to avoid double-counting. cache_creation_input_tokens: undefined, - cache_read_input_tokens: asNumber( - usageSource.cachedInputTokens - ?? usageSource.cached_input_tokens - ?? usageSource.cacheReadInputTokens - ?? usageSource.cache_read_input_tokens - ) ?? undefined, + // OpenCode's native cache counter is cumulative session accounting; + // never show it as the current context cache, even when the same + // payload also carries an explicit contextTokens value. + cache_read_input_tokens: isOpenCodeNativeUsage + ? undefined + : asNumber( + usageSource.cachedInputTokens + ?? usageSource.cached_input_tokens + ?? usageSource.cacheReadInputTokens + ?? usageSource.cache_read_input_tokens + ) ?? undefined, context_tokens: explicitContextTokens ?? asNumber(usageSource.contextTokens ?? usageSource.context_tokens) ?? inputTokens,