Architecture
多租户
组织、工作区、工作流、权限模型以及 YID 标识符。
MyBotBox 从底层设计上就支持多租户。三个嵌套实体定义了所有边界, 一张权限表统一管理谁可以访问什么。
层级结构
flowchart TB
classDef actor fill:#FF6B35,stroke:#C2410C,color:#fff
classDef tenant fill:#00D4AA,stroke:#0F766E,color:#06302B
classDef wf fill:#3B82F6,stroke:#1E40AF,color:#fff
classDef acl fill:#8B5CF6,stroke:#6D28D9,color:#fff
U(["User · YID"]):::actor
subgraph ORG["Organization — billing & team boundary"]
M["member<br/>owner / admin / member / viewer"]:::tenant
SUB["subscription<br/>Free · Starter · Pro · Enterprise"]:::tenant
end
subgraph WS["Workspaces"]
PRIV["Private<br/>ownerId = you"]:::tenant
SHARED["Shared<br/>granted access"]:::tenant
end
subgraph WORK["Workflow"]
WF["workflow"]:::wf
DEP["deployment version<br/>(immutable)"]:::wf
EX["executions + logs"]:::wf
end
PERM{{"permissions<br/>userId · entityType · entityId · type"}}:::acl
U --> M
U --> PRIV
PERM -. grants .-> SHARED
PRIV --> WF
SHARED --> WF
WF --> DEP --> EX
SUB -. meters .-> EX| 实体 | 说明 |
|---|---|
| 组织 | 计费与团队边界。包含订阅、成员、品牌设置和 SSO。 |
| 工作区 | 项目容器。私有工作区归你所有;共享工作区是通过权限授予访问的工作区。 |
| 工作流 | 存在于工作区内。部署为不可变版本;执行记录和日志附属于其上。 |
权限
访问控制由一张 permissions 表统一管理——每条记录对应一个
(userId, entityType, entityId) 组合,权限级别为 read、write 或
admin。权限组允许组织管理员一次性批量授予访问权限,并在成员加入时自动分配。请参阅权限指南了解面向成员的视图。
每次查询和每次工作流执行都以 workspaceId 和
organizationId 为作用域。不存在跨租户的读取路径——工作流只能访问
其自身边界内的数据。
YID —— 跨产品标识符
每位用户在注册时会获得一个不可变的 YID:yid_<base62_11chars>_<YYYYMMDD>
(例如 yid_aB3xK9mP2qR_20260417)。
- 仅生成一次,永不更改
- 日期后缀记录了账户的创建日期
- 在 MyBotBox 及未来产品中保持稳定,确保身份联合的清晰性
计费边界
订阅绑定在组织上,使用量按执行次数计费—— 每次运行都会记录其使用的模型、Token 数量和费用,并汇总到组织当前的 计费周期。套餐限制(机器人数、消息数、席位数)在组织层面强制执行。请参阅 计费与用量。