Version: 0.6.7.dev.260317

 feat(agent): 新增 Token 配额门禁中间件(Redis 快照 + 封禁键 + 7 天懒重置)

- 🚪 在 `POST /api/v1/agent/chat` 挂载 `TokenQuotaGuard`,在请求进入业务逻辑前完成额度校验
-  新增 Redis 配额快照与封禁键机制:超额用户命中封禁键后可快速拦截,降低重复查库带来的开销
- 🗃️ 新增用户配额 DAO 能力:按需读取 `token_limit`、`token_usage`、`last_reset_at`,并支持基于“到期条件更新”的懒重置
- 🔄 实现 7 天懒重置策略:用户访问时若检测到配额周期已到期,则重置 `token_usage` 并清理封禁状态
- 🚫 新增超额响应码 `40051`,用于标识 `token usage exceeds limit`
This commit is contained in:
LoveLosita
2026-03-17 19:46:08 +08:00
parent 96be3e2a02
commit bc56d471a8
6 changed files with 324 additions and 3 deletions

View File

@@ -116,6 +116,6 @@ func Start() {
AgentHandler: agentApi,
}
r := routers.RegisterRouters(handlers, cacheRepo, limiter)
r := routers.RegisterRouters(handlers, cacheRepo, userRepo, limiter)
routers.StartEngine(r)
}