背景
Xpert 同时支持租户级和组织级的智能能力配置:- 租户可以提供统一的大语言模型,作为整个平台的默认智能能力。
- 组织可以配置自己的大语言模型,用于满足本组织的模型、成本、合规或私有化需求。
- 用户在组织内使用智能助手、ClawXpert、工作空间助手或其它智能助理能力时,需要明确由哪一层会员计划控制额度、限流和用量统计。
- 组织配置了自己的模型但没有初始化组织会员计划时,用户可能因为作用域不匹配被拒绝。
- 组织移除租户计划后,希望进入组织自管模式,但模型列表和聊天仍可能按照租户回退逻辑工作。
- 用量统计可能落在错误作用域,导致“使用概览”和“使用情况和计费”无法解释。
- 产品上无法清晰表达“租户统一供给”和“组织自管智能能力成本”两种模式。
产品目标
目标
- 明确租户会员计划与组织会员计划的边界。
- 让组织可以在“继承租户智能能力”和“组织自管智能能力”之间平滑切换。
- 当组织启用本地大语言模型时,系统自动补齐组织会员初始化,避免用户聊天被技术性错误阻断。
- 所有额度限制、速率限制、用量台账和使用概览都落到可解释的作用域。
- 支持无限量计划,用于组织自有模型或内部成本不需要按点数限制的场景。
非目标
- 不把租户计划与组织计划做叠加扣费。
- 不允许组织会员限制租户大语言模型,也不允许租户会员直接限制组织大语言模型。
- 不在用户聊天链路里创建复杂的计划选择交互。
- 不在这次设计里引入真实支付、订阅续费或发票能力。
核心概念
| 概念 | 说明 |
|---|---|
| 租户会员计划 | 租户作用域的计划,控制租户提供的大语言模型。 |
| 组织会员计划 | 组织作用域的计划,控制当前组织自己的大语言模型。 |
| 有效会员作用域 | 当前请求最终命中的会员作用域,决定可用模型、限制和记账位置。 |
| 租户大语言模型 | organizationId = null 的模型,由租户提供。 |
| 组织大语言模型 | organizationId = 当前组织 ID 的模型,由组织提供。 |
| 计费用户 | 实际被扣点或记录用量的用户。普通聊天是当前用户;使用数字专家时可按数字专家创建者解析。 |
| 无限量计划 | includedPoints = null 的计划,不限制总点数,但仍记录用量并执行显式速率限制。 |
产品模式
1. 租户统一供给模式
适用场景:- 新租户初始化后希望快速让所有组织使用统一智能能力。
- 平台方统一配置模型供应商和大语言模型。
- 组织不需要自定义模型,也不独立承担智能能力成本。
- 租户管理员在租户作用域配置会员计划。
- 新用户默认获得租户作用域会员。
- 组织内没有启用中的组织会员计划时,组织用户回退使用租户会员。
- 用户只能看到租户作用域下已启用的大语言模型。
- 聊天、用量、台账都记录在租户会员上。
2. 组织自管模式
适用场景:- 组织管理员配置了自己的模型供应商或大语言模型。
- 组织希望自己控制模型可用性、额度、速率限制和用量统计。
- 组织希望移除租户统一额度限制,改用自己的无限量或定额计划。
- 当前组织只要存在启用中的组织会员计划,就进入组织自管模式。
- 组织请求优先使用组织会员,不再回退租户会员。
- 用户只能看到当前组织作用域下已启用的大语言模型。
- 聊天、用量、台账都记录在组织会员上。
- 如果组织没有已启用的本地大语言模型,即使存在组织计划,也返回空模型列表,不回退租户模型。
3. 组织本地模型自动自愈模式
适用场景:- 历史数据中组织已经配置了本地大语言模型,但没有初始化组织会员计划。
- 组织管理员在首次登录向导或设置页移除了租户会员计划,希望组织进入自管模式。
- 用户已经在组织里打开 ClawXpert 或智能助手并开始对话。
- 系统发现组织作用域下存在已启用的本地大语言模型,且组织没有会员计划时,会执行一次幂等初始化。
- 初始化会创建组织默认无限量计划,并给当前组织所有活跃成员分配会员。
- 初始化完成后,只返回组织大语言模型。
- 后续聊天、限制和台账都落在组织作用域。
作用域决策规则
组织请求
组织作用域下的请求按以下顺序解析有效会员:- 查找当前组织作用域的启用中会员。
- 如果存在,使用组织会员。
- 如果当前组织存在启用中的会员计划,但当前用户没有会员,则拒绝使用,不回退租户。
- 如果当前组织没有启用中的会员计划,查找租户作用域会员。
- 如果存在租户会员,使用租户会员。
- 如果两者都不存在,不返回可用模型,也不能聊天。
租户请求
租户作用域请求只查找租户会员:- 查找租户作用域的启用中会员。
- 如果存在,使用租户会员。
- 如果不存在,不返回可用模型,也不能聊天。
大语言模型作用域校验
有效会员作用域必须与大语言模型作用域一致:| 请求作用域 | 有效会员 | 大语言模型 | 结果 |
|---|---|---|---|
| 租户 | 租户 | 租户大语言模型 | 允许 |
| 租户 | 租户 | 组织大语言模型 | 拒绝 |
| 组织 | 租户回退 | 租户大语言模型 | 允许 |
| 组织 | 租户回退 | 组织大语言模型 | 触发组织自愈或拒绝 |
| 组织 | 组织 | 组织大语言模型 | 允许 |
| 组织 | 组织 | 租户大语言模型 | 拒绝 |
计划初始化设计
默认组织计划
组织自愈或手动初始化时创建的默认计划:- 默认进入无限量模式,避免组织自有模型被总点数意外拦截。
tokensPerPoint仍保留,用于用量台账、报表和未来成本换算。- 组织管理员可以后续把无限量改成固定点数计划。
初始化策略
初始化必须幂等:- 已有启用中的默认计划:直接使用。
- 有启用中的计划但没有默认计划:将第一个启用中的计划设为默认。
- 只有已归档的
default-unlimited:重新激活并设为默认。 - 没有可用计划:创建新的
default-unlimited。 - 给当前组织所有活跃
UserOrganization成员创建启用中的UserMembership。 - 已有启用中会员的成员不覆盖。
- 无限量分配台账的
pointsDelta = 0。
手动初始化与修复
组织会员页面提供两个产品动作:- 初始化组织会员:组织没有计划时执行初始化。
- 修复成员分配:组织已有计划,但成员分配不完整时补齐。
用量与限制
点数限制
普通计划:includedPoints是当前周期总点数额度。- 使用模型时按令牌数和倍率换算点数。
- 剩余点数小于等于 0 时拒绝继续使用。
includedPoints = null。- 不执行总点数上限检查。
- 仍然计算本次使用点数。
- 仍然写用量台账。
- 仍然执行显式
rateLimits。
速率限制
速率限制与无限量计划独立:- 无限量只代表不限制总点数。
- 如果计划配置了按小时、天、周、周期等维度的速率限制,仍然生效。
- 这允许组织使用无限量计划的同时,对单模型或高成本模型设置节流规则。
台账归属
台账必须写入有效会员作用域:- 租户大语言模型用量写入租户会员台账。
- 组织大语言模型用量写入同组织会员台账。
- 作用域不匹配时不写台账,直接拒绝。
页面与用户体验
设置入口
/settings/membership 是双作用域页面:
- 租户作用域下展示租户会员计划。
- 组织作用域下展示组织会员计划。
- 访问权限使用
MEMBERSHIP_EDIT。 - 组织本地管理员拥有该权限即可进入组织会员页面。
页面信息架构
页面顶部显示当前作用域状态:| 信息 | 租户作用域 | 组织作用域 |
|---|---|---|
| 当前作用域 | 显示租户会员 | 显示组织会员 |
| 启用计划 | 显示 | 显示 |
| 默认计划 | 显示 | 显示 |
| 活跃成员 | 不显示 | 显示 |
| 已分配成员 | 不显示 | 显示 |
| 本地大语言模型 | 不显示 | 显示 |
| 初始化按钮 | 不显示 | 未初始化时显示 |
| 修复按钮 | 不显示 | 成员分配不完整时显示 |
空状态
组织作用域下没有计划时:- 如果组织没有本地大语言模型,可以提示“当前组织仍继承租户智能能力;如需组织自管,请初始化组织会员计划并配置组织大语言模型”。
- 如果组织已经有本地大语言模型,显示初始化按钮,并说明初始化会创建默认无限量计划和成员会员。
计划编辑
计划目录和编辑器继续支持:- 创建计划。
- 编辑计划。
- 设置默认计划。
- 归档计划。
- 配置
includedPoints。 - 开启无限量,即保存
includedPoints = null。 - 配置
tokensPerPoint、模型倍率和速率限制。
用户旅程
新租户快速启用
- 租户管理员配置租户大语言模型。
- 租户管理员配置租户默认会员计划。
- 新用户被分配租户会员。
- 用户进入任意组织,如果该组织没有组织计划,则使用租户模型。
- 用量统计进入租户会员。
组织切换为自管
- 组织管理员进入组织作用域。
- 配置组织自己的大语言模型。
- 进入“设置 / 会员”。
- 点击“初始化组织会员”。
- 系统创建默认无限量计划,并给活跃成员分配会员。
- 组织用户只看到组织大语言模型。
- 用量统计进入组织会员。
旧数据自愈
- 组织已有已启用的本地大语言模型,但没有组织计划。
- 用户打开 ClawXpert 或请求模型列表。
- 系统检测到本地大语言模型,并执行幂等初始化。
- 模型列表返回组织模型。
- 用户聊天成功,台账写入组织会员。
新成员加入已自管组织
- 新用户加入组织。
- 用户初始化任务执行。
- 如果组织已有启用中的会员计划,则给该用户补启用中的会员。
- 如果组织没有启用中的计划,不做会员初始化。
权限设计
| 动作 | 权限 |
|---|---|
| 查看会员页面 | MEMBERSHIP_EDIT |
| 初始化组织会员 | MEMBERSHIP_EDIT |
| 修复成员分配 | MEMBERSHIP_EDIT |
| 创建、编辑、归档计划 | MEMBERSHIP_EDIT |
| 给用户手动分配计划 | MEMBERSHIP_EDIT |
| 查看自己的使用概览 | 当前登录用户 |
边界与异常
组织有计划但没有本地大语言模型
返回空模型列表,不回退租户。 产品含义:组织已经选择自管模式,但还没有配置可用模型,需要管理员补模型。组织有本地大语言模型但没有计划
触发初始化自愈。 产品含义:系统把“组织已经配置本地模型”视为组织自管意图,自动补齐默认会员。用户没有分配
如果组织已有启用中的计划,但用户没有启用中的会员,则拒绝使用并提示需要会员。 管理员可通过“修复成员分配”或用户管理页分配计划。租户会员与组织会员同时存在
组织作用域请求永远优先组织会员。 只有当前组织没有启用中的组织计划时,租户会员才允许用户使用租户大语言模型。删除或归档计划
归档默认计划后,组织可能进入需要修复状态。 管理员需要设置新的启用中默认计划,或执行修复。后续演进
- 支持组织管理员选择初始化时使用固定额度计划还是无限量计划。
- 支持从租户计划批量克隆为组织计划。
- 支持更明确的会员健康检查,例如缺计划、缺默认计划、缺成员分配、无本地模型。
- 支持按供应商/模型展示成本估算,而不仅是点数。
- 支持计划生命周期与真实订阅支付系统对接。