SuperAPI AI 工具集

tier-entitlements

编程与开发

查看项目

更新于 10-16 05:05

技能介绍

用途:按订阅层级(free/pro/enterprise)对功能进行门控并追踪用量,适合免费用户功能受限、付费用户不限量、需要统计每日或每月用量、以及需要统一限额检查 API 的场景。

主要能力:集中式层级配置(TIER_LIMITS)作为所有限额的唯一来源;数据库表 user_profiles 记录订阅层级、当日请求数、存储用量等;通过数据库函数 increment_daily_usage 实现原子递增以避免竞态;提供 checkRateLimit、incrementUsage、getRateLimitHeaders、createRateLimitResponse 等函数;前端提供 FeatureGate 与 UsageDisplay 组件;返回标准 HTTP 限流头(X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset、Retry-After)。

使用方式:在 lib/tiers.ts 定义各层级限额;执行 SQL 迁移创建 user_profiles 表与原子递增函数;在 API 路由中先调用 checkRateLimit 检查,超限返回 429,成功后再调用 incrementUsage;前端用 FeatureGate 包裹受限功能,用 UsageDisplay 展示剩余额度。Python 版本提供对应的 dataclass 与 check_rate_limit 实现。

限制与注意:资料未提供安装命令、依赖版本、收费或价格信息;需自行接入 Supabase 等数据库与认证;应避免在操作完成前递增、使用非原子递增导致竞态、跨天未重置计数、响应缺少限流头、以及误拦截不限量层级用户。