组织、团队与项目
Weaver 将租户归属、可复用的权限组和训练范围分成不同层级:
组织
├─ 组织成员(admin | member)
├─ 团队(可复用的成员组)
└─ 项目(权限与成本归属边界)
└─ Session(训练会话)
└─ Training Run(训练任务)
└─ Checkpoint(检查点)组织
组织是 Weaver 最高层的租户、成员和计费边界。用户只能看到自己具有显式成员关系的组织;Weaver 系统角色不会让用户自动访问其他组织的数据。
当用户还没有任何范围时,Weaver 会在首次使用时创建个人组织和默认项目。组织展示名称在 Weaver 内大小写不敏感地全局唯一,组织 slug 也全局唯一;并发创建重复名称会返回 409。范围解析仍保留 409 ambiguous_scope_reference 作为旧数据存在重复时的安全保护,不会猜测选择其中一个。
组织角色只有 admin 和 member。精确的管理边界见角色与权限。
团队
团队是组织内的成员组,用于复用项目授权。团队不是下一级租户、计费账户,也不拥有训练数据。
组织管理员可以:
- 创建、重命名和删除团队;
- 按邮箱把现有组织成员加入团队;
- 邀请新用户加入组织,并可在邀请中指定团队;
- 把一个或多个项目授权给团队。
删除团队会撤销其成员关系和项目授权,但不会删除项目、Session、Training Run、Checkpoint 或历史用量。团队不能包含其他组织的用户,也不能获得其他组织项目的授权。
项目
项目是组织内的权限和成本归属边界。项目名称和 slug 在组织内大小写不敏感地唯一。用户可以通过直接授权或团队授权访问项目;存在多个授权时,Weaver 使用最强的项目角色(依次为 manager、member、viewer)。
项目选择只影响训练 Session 和用量计费。Members、Teams、API Keys、Supported Models 和 Help 等组织级或用户级页面不使用项目选择器。
项目权限允许按角色读取项目中的 Session、Training Run 和 Checkpoint。实时操作仍然仅限创建者:共享项目不会允许另一个用户为已有 Session 发送 heartbeat、继续训练、采样或修改生命周期。
归档而不是破坏性删除
删除非默认项目的实际语义是归档。归档后的项目:
- 仍然关联历史 Session、Training Run、Checkpoint 和用量;
- 默认不会出现在活动项目列表中;
- 管理 API 可用
include_archived=true查询; - 变为只读,新建 Session 会返回
409 project_archived。
这样既保留不可删除的训练历史,也不会让停用项目继续接收新任务。默认项目不能被归档。
选择范围
Console 从用户菜单切换组织,仅在训练和计费页面显示项目选择器。Python SDK 支持规范 ID、全局唯一的组织 slug、组织展示名称,以及组织内的项目 slug 或名称。见 SDK 范围选择。