diff --git a/src/services/apiKeyService.js b/src/services/apiKeyService.js index 8656c5e9..930fccc8 100644 --- a/src/services/apiKeyService.js +++ b/src/services/apiKeyService.js @@ -192,6 +192,7 @@ class ApiKeyService { async getAllApiKeys() { try { const apiKeys = await redis.getAllApiKeys(); + const client = redis.getClientSafe(); // 为每个key添加使用统计和当前并发数 for (const key of apiKeys) { @@ -207,6 +208,19 @@ class ApiKeyService { key.permissions = key.permissions || 'all'; // 兼容旧数据 key.dailyCostLimit = parseFloat(key.dailyCostLimit || 0); key.dailyCost = await redis.getDailyCost(key.id) || 0; + + // 获取当前时间窗口的请求次数和Token使用量 + if (key.rateLimitWindow > 0) { + const requestCountKey = `rate_limit:requests:${key.id}`; + const tokenCountKey = `rate_limit:tokens:${key.id}`; + + key.currentWindowRequests = parseInt(await client.get(requestCountKey) || '0'); + key.currentWindowTokens = parseInt(await client.get(tokenCountKey) || '0'); + } else { + key.currentWindowRequests = 0; + key.currentWindowTokens = 0; + } + try { key.restrictedModels = key.restrictedModels ? JSON.parse(key.restrictedModels) : []; } catch (e) { diff --git a/web/admin-spa/src/components/apikeys/UsageDetailModal.vue b/web/admin-spa/src/components/apikeys/UsageDetailModal.vue index 749f2550..f9c4b64d 100644 --- a/web/admin-spa/src/components/apikeys/UsageDetailModal.vue +++ b/web/admin-spa/src/components/apikeys/UsageDetailModal.vue @@ -46,10 +46,10 @@
- {{ formatNumber(totalTokens) }} + {{ formatTokenCount(totalTokens) }}
- 今日: {{ formatNumber(dailyTokens) }} + 今日: {{ formatTokenCount(dailyTokens) }}
@@ -99,7 +99,7 @@ 输入 Token - {{ formatNumber(inputTokens) }} + {{ formatTokenCount(inputTokens) }}
@@ -108,7 +108,7 @@ 输出 Token
- {{ formatNumber(outputTokens) }} + {{ formatTokenCount(outputTokens) }}
缓存创建 Token
- {{ formatNumber(cacheCreateTokens) }} + {{ formatTokenCount(cacheCreateTokens) }}
缓存读取 Token
- {{ formatNumber(cacheReadTokens) }} + {{ formatTokenCount(cacheReadTokens) }} diff --git a/web/admin-spa/src/views/ApiKeysView.vue b/web/admin-spa/src/views/ApiKeysView.vue index 97e2accb..217180bd 100644 --- a/web/admin-spa/src/views/ApiKeysView.vue +++ b/web/admin-spa/src/views/ApiKeysView.vue @@ -546,7 +546,7 @@ 总Token: - {{ formatNumber(stat.allTokens) }} + {{ formatTokenCount(stat.allTokens) }}
@@ -561,14 +561,14 @@ 输入: - {{ formatNumber(stat.inputTokens) }} + {{ formatTokenCount(stat.inputTokens) }}
输出: - {{ formatNumber(stat.outputTokens) }} + {{ formatTokenCount(stat.outputTokens) }}
缓存创建: - {{ formatNumber(stat.cacheCreateTokens) }} + {{ formatTokenCount(stat.cacheCreateTokens) }}
缓存读取: - {{ formatNumber(stat.cacheReadTokens) }} + {{ formatTokenCount(stat.cacheReadTokens) }}
@@ -623,7 +623,7 @@ 总请求: {{ apiKeyModelStats[key.id].reduce((sum, stat) => sum + stat.requests, 0) }} - 总Token: {{ formatNumber(apiKeyModelStats[key.id].reduce((sum, stat) => sum + stat.allTokens, 0)) }} + 总Token: {{ formatTokenCount(apiKeyModelStats[key.id].reduce((sum, stat) => sum + stat.allTokens, 0)) }}