+
+
+
+
+
+
+ {appLabel && (
+ <>
+
+ {appLabel}
+
+ •
+ >
+ )}
+ {t("usage.realTotal", "真实消耗 Tokens")}
+
+
+
+ {realTotal.toLocaleString()}
- ·
- >
- )}
- {t("usage.realTotal", "真实消耗 Tokens")}
-
-
-
-
-
- {t("usage.totalRequests")}
-
-
-
- {requests.toLocaleString()}
-
+
+ ≈ {formatTokensShort(realTotal, lang, 2)}
+
+
+
-
-
- {t("usage.totalCost")}
-
-
- {totalCost == null ? "--" : fmtUsd(totalCost, 4)}
-
+
+
+
+
+ {t("usage.totalRequests")}
+
+
+
+ {requests.toLocaleString()}
+
+
+
+
+
+ {t("usage.totalCost")}
+
+
+ {totalCost == null ? "--" : fmtUsd(totalCost, 4)}
+
+
-
- {/* Hero number */}
-
-
- {realTotal.toLocaleString()}
-
-
- ≈ {formatTokensShort(realTotal, lang, 2)}{" "}
- {t("usage.tokensSuffix", "tokens")}
-
-
-
- {/* Breakdown row: 4 mini stats */}
-
- }
- label={t("usage.freshInput", "新增输入")}
- value={formatTokensShort(input, lang)}
- accent="text-blue-500"
- />
- }
- label={t("usage.output")}
- value={formatTokensShort(output, lang)}
- accent="text-purple-500"
- />
- }
- label={t("usage.cacheWrite", "缓存写入")}
- value={cacheWriteDisplay.value}
- accent="text-amber-500"
- muted={cacheWriteDisplay.muted}
- tooltip={cacheWriteDisplay.tooltip}
- />
- }
- label={t("usage.cacheRead", "缓存命中")}
- value={formatTokensShort(cacheRead, lang)}
- accent="text-emerald-500"
- />
-
-
- {/* Hit rate progress */}
-
-
-
- {t("usage.cacheHitRate", "缓存命中率")}
-
-
- {hitPercentLabel}%
-
-
-
-
+ }
+ label={t("usage.freshInput", "新增输入")}
+ value={formatTokensShort(input, lang)}
+ accent="text-blue-500"
/>
+ }
+ label={t("usage.output")}
+ value={formatTokensShort(output, lang)}
+ accent="text-purple-500"
+ />
+ }
+ label={t("usage.cacheWrite", "缓存写入")}
+ value={cacheWriteDisplay.value}
+ accent="text-amber-500"
+ muted={cacheWriteDisplay.muted}
+ tooltip={cacheWriteDisplay.tooltip}
+ />
+ }
+ label={t("usage.cacheRead", "缓存命中")}
+ value={formatTokensShort(cacheRead, lang)}
+ accent="text-emerald-500"
+ />
+
+
+
+
+ {t("usage.cacheHitRate", "缓存命中率")}
+
+
+ {hitPercentLabel}%
+
+
+
+
+
+
@@ -336,21 +345,21 @@ function MiniStat({
}: MiniStatProps) {
return (
{icon}
- {label}
+ {label}
{tooltip && (
-
+
)}
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
index 8fb4a8256..af0a09d4e 100644
--- a/src/i18n/locales/en.json
+++ b/src/i18n/locales/en.json
@@ -1345,7 +1345,6 @@
"cacheTokens": "Cache Tokens",
"realTotal": "Tokens Processed",
"realTotalHint": "Input + Output + Cache Write + Cache Read",
- "tokensSuffix": "tokens",
"freshInput": "Fresh Input",
"cacheHitRate": "Cache Hit Rate",
"requestLogs": "Request Logs",
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json
index c59ca40a3..45d2556ae 100644
--- a/src/i18n/locales/ja.json
+++ b/src/i18n/locales/ja.json
@@ -1345,7 +1345,6 @@
"cacheTokens": "キャッシュトークン",
"realTotal": "実消費トークン",
"realTotalHint": "Input + Output + キャッシュ書込 + キャッシュ命中",
- "tokensSuffix": "tokens",
"freshInput": "新規入力",
"cacheHitRate": "キャッシュヒット率",
"requestLogs": "リクエストログ",
diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json
index 8ef165340..5e0e908cc 100644
--- a/src/i18n/locales/zh-TW.json
+++ b/src/i18n/locales/zh-TW.json
@@ -1291,7 +1291,6 @@
"cacheTokens": "快取 Token",
"realTotal": "真實消耗 Tokens",
"realTotalHint": "Input + Output + 快取建立 + 快取命中",
- "tokensSuffix": "Tokens",
"freshInput": "新增輸入",
"cacheHitRate": "快取命中率",
"requestLogs": "請求日誌",
diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json
index e416252d0..3eaabcaa1 100644
--- a/src/i18n/locales/zh.json
+++ b/src/i18n/locales/zh.json
@@ -1345,7 +1345,6 @@
"cacheTokens": "缓存 Token",
"realTotal": "真实消耗 Tokens",
"realTotalHint": "Input + Output + 缓存写入 + 缓存命中",
- "tokensSuffix": "tokens",
"freshInput": "新增输入",
"cacheHitRate": "缓存命中率",
"requestLogs": "请求日志",