Outcome
你可以解释 WorkspacePlan、PlanStrategy 和 PlanStrategyBinding 的分工,并在调整套餐时保留 Access、Key 和历史 Usage 的稳定性。
A plan is the stable product offer
WorkspacePlan 属于一个 Workspace,保存稳定的 Plan Key、名称、MONTH | YEAR Billing Interval 和生命周期状态。WorkspaceAccess 绑定 Plan,而不是直接绑定一组 Quota 字段。
WorkspaceAccess
→ WorkspacePlan
→ PlanStrategyBinding
→ PlanStrategy(type = QUOTA)
→ QuotaStrategyFree、Pro 只是常见名称;真正的额度和倍率来自已发布的 QuotaStrategy。
Bind typed strategies
PlanStrategy 是 Workspace 拥有、可版本化的策略资源。PlanStrategyBinding 定义某个 Plan 在一个生效区间内启用哪个 Strategy 版本。
MVP 每个 Plan 同一时刻最多启用一个 QUOTA 类型 Strategy。策略必须先发布;已发布版本不可修改。切换版本时关闭旧 Binding,并创建新 Binding,而不是覆盖历史配置。
What a plan does not contain
WorkspacePlan 不保存:
- API Key 或 Provider Secret。
- Token 倍率与当前余额。
- 模型列表、模型级成本或上游选择规则。
- Stripe/Creem Price、Currency、Tax 或 Invoice。
支付 Product/Price 映射到 WorkspacePlan;Plan 再解析其策略。支付 Connector 不能绕过 Plan 直接授予 QuotaStrategy。
Plan changes and existing periods
Access 变更 Plan 不要求重签 Inference Key。已经 ACTIVE 的 QuotaPeriod 保留创建时的 Plan/Strategy ID 和倍率快照;新 Binding 默认在下一 Period 生效。这样历史 Usage 不会因后续配置变化而改变含义。