mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-04-30 13:21:44 +00:00
fix: 添加对 ephemeral 5m 和 1h 令牌的支持,优化费用计算逻辑
This commit is contained in:
@@ -472,7 +472,9 @@ router.get('/model-stats', authenticateAdmin, async (req, res) => {
|
||||
outputTokens: 0,
|
||||
cacheCreateTokens: 0,
|
||||
cacheReadTokens: 0,
|
||||
allTokens: 0
|
||||
allTokens: 0,
|
||||
ephemeral5mTokens: 0,
|
||||
ephemeral1hTokens: 0
|
||||
}
|
||||
|
||||
stats.requests += parseInt(data.requests) || 0
|
||||
@@ -481,6 +483,8 @@ router.get('/model-stats', authenticateAdmin, async (req, res) => {
|
||||
stats.cacheCreateTokens += parseInt(data.cacheCreateTokens) || 0
|
||||
stats.cacheReadTokens += parseInt(data.cacheReadTokens) || 0
|
||||
stats.allTokens += parseInt(data.allTokens) || 0
|
||||
stats.ephemeral5mTokens += parseInt(data.ephemeral5mTokens) || 0
|
||||
stats.ephemeral1hTokens += parseInt(data.ephemeral1hTokens) || 0
|
||||
|
||||
modelStatsMap.set(normalizedModel, stats)
|
||||
}
|
||||
@@ -497,6 +501,14 @@ router.get('/model-stats', authenticateAdmin, async (req, res) => {
|
||||
cache_read_input_tokens: stats.cacheReadTokens
|
||||
}
|
||||
|
||||
// 如果有 ephemeral 5m/1h 拆分数据,添加 cache_creation 子对象以实现精确计费
|
||||
if (stats.ephemeral5mTokens > 0 || stats.ephemeral1hTokens > 0) {
|
||||
usage.cache_creation = {
|
||||
ephemeral_5m_input_tokens: stats.ephemeral5mTokens,
|
||||
ephemeral_1h_input_tokens: stats.ephemeral1hTokens
|
||||
}
|
||||
}
|
||||
|
||||
// 计算费用
|
||||
const costData = CostCalculator.calculateCost(usage, model)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user