团队与权限(组织 / RBAC)
一个组织就是一个隔离的工作区:密钥、人格、知识库、应用、设备、用量都按组织隔离。组织里可以有多个成员,各有角色;一个人也可以同时属于多个组织、在控制台里随时切换。
是什么
-
组织 = 租户:隔离键是
tenant_id。你注册后默认拥有一个组织(你是它的 owner)。 -
成员 + 角色:组织里每个成员有一个角色,权限从高到低:
角色 能做什么 owner 所有者 一切;管理成员、删组织级配置、转让/提升 owner admin 管理员 管成员与邀请、改组织名、签发/吊销密钥、改模型设置、配自带通道、导入配置 member 成员 日常资源的增删改:人格、知识库、应用、设备、会话 viewer 只读 只看,不改 -
角色不进登录态 token:每次请求都现查你在当前组织里的角色 —— 改了角色立即生效,不存在「降权后还撑一段时间」。
-
写操作按角色门禁:密钥/模型设置/自带通道/导入需 admin+;人格/知识库/应用/设备/会话的写需 member+;读任何成员可看。
在控制台里用
控制台侧栏「团队 / 成员」页:
- 当前组织 + 我的角色:顶部显示;admin+ 可改组织名。
- 切换 / 新建组织:下拉切换活跃组织(切换后整个控制台都作用在新组织上);也可一键新建组织(建好即把你设为它的 owner 并切过去)。
- 成员:列出成员与角色。admin+ 可改他人角色、移除成员(守卫:不能移除/降级最后一个 owner;只有 owner 能动 owner)。
- 邀请新成员(admin+):填对方邮箱 + 角色 → 生成一条邀请。
邀请投递:平台邮件发信暂未开通,故创建邀请后当场回显一条接受链接(明文、7 天有效),由你手动转给对方。对方登录后打开链接即加入;受邀邮箱必须与其登录邮箱一致(防越权领用)。不能直接邀为 owner —— 先邀进来,再由 owner 提升。
端点参考(控制台会话鉴权)
这些是控制台端点,用登录会话 cookie 鉴权(不是 Bearer key);控制台 UI 即调用它们。
| 方法 | 路径 | 说明 | 最低角色 |
|---|---|---|---|
| GET | /console/orgs | 我所属的组织列表(带角色、是否活跃) | 登录即可 |
| POST | /console/orgs | 新建组织 {name}(建者即 owner,自动切过去) | 登录即可 |
| POST | /console/orgs/switch | 切换活跃组织 {tenant_id}(校验成员资格后重签会话) | 成员 |
| GET | /console/orgs/current | 当前组织 + 我的角色 | viewer+ |
| PUT | /console/orgs/current | 改组织名 {name} | admin+ |
| GET | /console/orgs/current/members | 成员列表 | member+ |
| PUT | /console/orgs/current/members/:uid | 改成员角色 {role} | admin+ |
| DELETE | /console/orgs/current/members/:uid | 移除成员 | admin+ |
| GET | /console/orgs/current/invites | 待接受邀请列表 | admin+ |
| POST | /console/orgs/current/invites | 建邀请 {email, role} → 回 {token, accept_url} | admin+ |
| DELETE | /console/orgs/current/invites/:id | 撤销邀请 | admin+ |
| POST | /console/orgs/accept-invite | 接受邀请 {token}(须登录 + 邮箱匹配) | 登录即可 |
切换组织 / 接受邀请会重签登录态,把「当前活跃组织」换成目标组织 —— 之后所有按租户隔离的资源都作用在新组织上。
常见问题
- 我能属于几个组织? 不限。在「团队」页随时切换;每个组织的密钥/资源互不可见。
- 改了某人角色他要重新登录吗? 不用,下一次请求即按新角色判定。
- 怎么把组织交给别人? owner 在成员里把对方提升为 owner(组织可有多个 owner),再按需移除自己(但不能移除最后一个 owner)。