shaw
a817cafe3d
feat: 区分 Anthropic 5m/1h 缓存创建 token 的差异化计费
Anthropic API 的 cache_creation 对象区分了 ephemeral_5m 和 ephemeral_1h
两种缓存创建 token,1h 单价远高于 5m(如 claude-3-5-haiku: 5m=$1/MTok,
1h=$6/MTok)。此前系统统一按 5m 单价计费,导致计费偏低。
后端:
- pricing_service: 加载 LiteLLM 的 cache_creation_input_token_cost_above_1hr
- billing_service: GetModelPricing 启用分类计费(安全守卫 1h>5m),
CalculateCost 按 5m/1h 分别计费,无明细时回退到 5m 单价
- gateway_service: parseSSEUsage/handleNonStreamingResponse 用 gjson
提取嵌套 cache_creation 对象的 ephemeral_5m/1h_input_tokens
- antigravity_gateway_service: extractSSEUsage/extractClaudeUsage 同步提取
- usage_log: 修复 GORM column tag 确保写入正确的数据库列
- 新增迁移 054: 删除 GORM 自动生成的重复列
前端:
- 使用记录 tooltip 展示 5m/1h 缓存创建明细(带彩色 badge 区分)
- 表格单元格缓存写入数值旁显示 1h 标识
2026-02-14 18:15:35 +08:00
..
2026-01-13 11:14:32 +08:00
2026-02-08 13:06:25 +08:00
2026-01-15 15:14:44 +08:00
2026-01-07 16:59:35 +08:00
2025-12-26 16:45:40 +08:00
2026-02-12 03:47:06 +08:00
2026-02-12 03:47:06 +08:00
2026-02-08 13:26:28 +08:00
2026-02-05 11:45:54 +08:00
2026-02-07 12:31:10 +08:00
2026-02-08 13:06:25 +08:00
2026-01-15 15:14:44 +08:00
2026-01-01 18:59:38 +08:00
2026-02-08 16:53:45 +08:00
2026-02-08 16:53:45 +08:00
2026-02-12 03:47:06 +08:00
2026-01-11 10:55:25 +08:00
2026-02-12 03:47:06 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-09 07:02:12 +08:00
2026-02-09 07:02:12 +08:00
2026-02-11 15:41:54 +08:00
2026-02-14 18:15:35 +08:00
2026-01-05 17:14:06 +08:00
2026-02-07 14:42:28 +08:00
2026-02-11 13:41:55 +08:00
2026-02-11 19:59:52 +08:00
2026-01-16 11:57:14 +08:00
2026-02-09 08:19:01 +08:00
2026-02-10 21:52:33 +08:00
2026-02-10 22:08:49 +08:00
2026-02-10 02:03:06 +08:00
2026-02-07 12:31:10 +08:00
2026-02-07 14:39:25 +08:00
2026-02-11 13:41:55 +08:00
2026-02-02 22:13:50 +08:00
2026-02-03 21:43:41 +08:00
2026-01-11 10:55:25 +08:00
2026-02-03 21:43:41 +08:00
2026-02-05 16:05:42 +08:00
2026-02-03 20:00:43 +08:00
2026-02-05 16:05:42 +08:00
2026-02-03 19:49:31 +08:00
2026-01-11 10:55:26 +08:00
2026-02-05 12:42:54 +08:00
2026-02-05 12:42:54 +08:00
2025-12-25 17:15:01 +08:00
2025-12-31 08:50:12 +08:00
2026-01-04 22:10:32 +08:00
2026-01-05 17:07:29 +08:00
2026-02-14 18:15:35 +08:00
2026-02-07 19:04:08 +08:00
2026-02-07 19:04:08 +08:00
2026-01-16 17:35:17 +08:00
2026-02-02 22:13:50 +08:00
2026-02-07 12:31:10 +08:00
2026-02-09 10:39:09 +08:00
2026-02-09 10:39:09 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2025-12-28 09:49:54 +08:00
2026-02-09 07:02:12 +08:00
2026-02-09 07:02:12 +08:00
2026-02-03 15:36:17 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-10 22:08:49 +08:00
2026-02-10 11:42:39 +08:00
2026-02-10 21:40:31 +08:00
2026-02-10 22:08:49 +08:00
2026-02-09 19:54:54 +08:00
2026-02-09 19:54:54 +08:00
2026-02-07 12:31:10 +08:00
2026-01-29 02:36:28 +08:00
2026-02-06 09:54:29 +08:00
2026-02-12 03:47:06 +08:00
2026-01-29 01:49:51 +08:00
2026-01-29 02:03:54 +08:00
2026-02-11 10:31:16 +08:00
2026-02-11 10:31:16 +08:00
2026-02-06 16:09:58 +08:00
2026-02-07 14:32:08 +08:00
2026-02-09 06:47:22 +08:00
2026-02-14 18:15:35 +08:00
2026-02-09 06:55:45 +08:00
2026-02-11 15:41:54 +08:00
2026-02-11 15:41:54 +08:00
2026-02-12 03:47:06 +08:00
2026-02-03 21:34:55 +08:00
2026-01-08 23:47:29 +08:00
2026-02-05 13:57:02 +08:00
2025-12-26 00:11:03 -08:00
2026-01-04 15:36:00 +08:00
2026-02-09 07:02:12 +08:00
2026-02-09 07:02:12 +08:00
2026-02-09 07:02:12 +08:00
2026-01-14 15:55:44 +08:00
2026-02-02 22:13:50 +08:00
2025-12-31 16:25:45 +08:00
2025-12-26 00:11:03 -08:00
2026-02-09 06:47:22 +08:00
2026-02-08 16:53:45 +08:00
2026-01-05 17:07:29 +08:00
2026-02-08 16:53:45 +08:00
2026-02-02 22:13:50 +08:00
2026-02-03 16:15:37 +08:00
2026-02-09 08:19:01 +08:00
2026-02-07 12:31:10 +08:00
2026-02-02 22:13:50 +08:00
2026-02-07 12:31:10 +08:00
2026-02-07 12:31:10 +08:00
2026-02-09 08:19:01 +08:00
2026-01-15 23:52:50 +08:00
2026-02-09 07:33:17 +08:00
2026-02-02 22:13:50 +08:00
2026-01-16 17:35:17 +08:00
2026-02-02 22:13:50 +08:00
2026-01-13 16:47:35 +08:00
2026-01-13 16:47:35 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-09 08:19:01 +08:00
2026-01-10 01:38:47 +08:00
2026-01-15 21:31:55 +08:00
2026-01-11 20:55:44 +08:00
2026-01-15 21:31:55 +08:00
2026-01-15 15:14:44 +08:00
2026-01-15 15:14:44 +08:00
2026-01-15 21:31:55 +08:00
2026-02-12 03:47:06 +08:00
2026-01-10 01:38:47 +08:00
2026-01-10 01:38:47 +08:00
2026-01-09 20:53:44 +08:00
2026-01-15 15:14:44 +08:00
2026-01-15 23:02:15 +08:00
2026-01-09 20:53:44 +08:00
2026-02-03 16:55:13 +08:00
2026-01-15 15:14:44 +08:00
2026-02-03 17:03:54 +08:00
2026-01-09 20:53:44 +08:00
2026-02-09 08:27:14 +08:00
2026-01-12 14:17:42 +08:00
2026-01-12 14:17:42 +08:00
2026-01-09 20:53:44 +08:00
2026-01-11 23:57:20 +08:00
2026-02-09 06:47:22 +08:00
2026-01-15 21:31:55 +08:00
2026-02-07 12:31:10 +08:00
2026-02-07 12:31:10 +08:00
2026-02-02 22:13:50 +08:00
2026-01-15 15:14:44 +08:00
2026-01-23 19:39:48 +08:00
2026-01-12 00:02:19 +08:00
2026-02-10 20:56:01 +08:00
2026-01-09 20:53:44 +08:00
2026-02-14 18:15:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-10 13:14:35 +08:00
2026-01-11 10:55:25 +08:00
2026-01-15 15:15:20 +08:00
2026-02-05 18:40:49 +08:00
2026-01-15 15:15:20 +08:00
2026-01-03 06:29:02 -08:00
2026-01-15 15:06:34 +08:00
2026-02-14 00:21:56 +08:00
2026-02-02 22:13:50 +08:00
2026-02-14 00:21:56 +08:00
2025-12-26 16:45:40 +08:00
2026-02-03 20:37:30 +08:00
2026-02-05 12:42:54 +08:00
2026-01-12 14:19:06 +08:00
2026-01-12 14:19:06 +08:00
2026-02-07 12:31:10 +08:00
2026-01-12 14:19:06 +08:00
2026-02-09 07:33:17 +08:00
2026-02-07 12:31:10 +08:00
2026-02-02 22:13:50 +08:00
2026-02-03 17:03:54 +08:00
2025-12-26 16:45:40 +08:00
2026-02-03 13:38:44 +08:00
2026-02-07 17:06:49 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-07 12:31:10 +08:00
2026-01-11 21:54:52 -08:00
2026-01-16 15:25:33 +08:00
2026-01-16 15:25:33 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-01-15 19:08:07 +08:00
2026-01-15 18:27:06 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-01-04 19:28:20 +08:00
2025-12-31 16:25:45 +08:00
2026-02-02 22:13:50 +08:00
2025-12-31 23:42:01 +08:00
2026-01-04 19:28:20 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-02 22:13:50 +08:00
2026-02-14 18:15:35 +08:00
2026-02-05 11:45:54 +08:00
2026-01-03 06:37:08 -08:00
2026-01-01 18:58:34 +08:00
2026-02-05 16:05:42 +08:00
2026-02-02 22:20:08 +08:00
2026-02-02 22:13:50 +08:00
2025-12-26 16:45:40 +08:00
2026-02-05 16:05:42 +08:00
2026-01-16 15:25:33 +08:00
2026-02-09 07:02:12 +08:00