MyBotBoxMyBotBox
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) 组合,权限级别为 readwriteadmin。权限组允许组织管理员一次性批量授予访问权限,并在成员加入时自动分配。请参阅权限指南了解面向成员的视图。

每次查询和每次工作流执行都以 workspaceIdorganizationId 为作用域。不存在跨租户的读取路径——工作流只能访问 其自身边界内的数据。

YID —— 跨产品标识符

每位用户在注册时会获得一个不可变的 YIDyid_<base62_11chars>_<YYYYMMDD> (例如 yid_aB3xK9mP2qR_20260417)。

  • 仅生成一次,永不更改
  • 日期后缀记录了账户的创建日期
  • 在 MyBotBox 及未来产品中保持稳定,确保身份联合的清晰性

计费边界

订阅绑定在组织上,使用量按执行次数计费—— 每次运行都会记录其使用的模型、Token 数量和费用,并汇总到组织当前的 计费周期。套餐限制(机器人数、消息数、席位数)在组织层面强制执行。请参阅 计费与用量