团队空间与企业版
团队空间是登录账号后的第三个作用域(独立于个人空间的个人脑/网络脑):一个多人共享的工作区,空间内的笔记、剪藏、知识单元、文件夹和标签对全体成员可见可协作。本页讲双空间隔离的技术口径(租户上下文、席位行锁、全模块空间化)、团队产物目录,以及「AGPL 开源精简版 + 商业版」双轨定位与企业版/私有化部署的边界。
概念
| 概念 | 说明 |
|---|---|
| 团队空间 | 多人共享工作区,数据全员共享,不做部门或分组隔离 |
| 租户上下文 | 请求级 tenant_id,个人空间以空串 '' 占位,全模块按空间口径过滤 |
| 席位 | 空间成员数上限(默认 10 席),拉人时行锁防并发超售 |
| 双轨 | AGPL 开源精简版(自部署)+ 商业版(云服务与企业私有化) |
角色与权限
| 角色 | 界面显示 | 权限 |
|---|---|---|
| owner | 拥有者 | 全部管理权限,不可被移出 |
| admin | 管理员 | 拉人、移除成员、查看操作日志 |
| member | 成员 | 使用空间内容,只读查看成员列表 |
关键口径:内容留团队(成员移出后其在空间内创建的内容保留在空间中)、谁调用谁付(AI 调用费用记发起者账上)、跨空间完全不可见(非成员访问空间内容返回 404)。
双空间隔离全链路
隔离不是单点过滤,而是贯穿租户上下文 + 存储 + 各功能模块的全链路口径:
| 层 | 机制 | 代码位置 |
|---|---|---|
| 成员与席位 | 拉人先对租户行加锁读(with_for_update,PG 下 SELECT ... FOR UPDATE 串行化并发加人;SQLite 不支持行锁为空操作,由单连接串行提交兜底),再数席位、再落成员 | app/api/v1/endpoints/tenants.py |
| 构建状态 | graph_build_state 复合主键 (user_id, tenant_id):个人 = 本人 + tenant_id='' 占位行;团队 = 同一行全空间共享(谁触发构建都读写同一行) | app/models/graph_build.py、app/services/graphify_service.py |
| 图谱 | 构建/语义缓存/看门狗/load_graph 全链带 tenant_id 形参;空间键 _space_key 个人为 user_id、团队为 {user_id}::t:{tenant_id} | app/services/graphify_service.py |
| 检索 | 个人与团队内容都进向量索引,隔离在检索侧内容行收口(按空间过滤,不建双索引) | 检索层租户上下文 |
| 向量准入 | 向量前拦门(active + 抽取成功 + 长度门)对两类空间同口径,空间差异不进入库条件 | app/services/note_embedding_service.py |
| wiki | 条目、主题、编译产物均按空间口径 | app/services/wiki_service/ |
口径细节:团队图谱不限作者——团队构建不再误删个人边,边行以 tenant 戳区分归属;会话始终创建者私有,不随空间共享。
团队产物目录
图谱产物按空间分目录:个人空间落在 graphify_data/{user_id}/,团队空间落在 graphify_data/tenant_{tenant_id}/,目录内部结构一致(corpus/、graph.json、snapshots/ 等)。云端未配置环境变量时走包内回退路径 backend/graphify_data/。图谱快照同样按空间隔离,各空间帽 5 份。
操作日志(审计)
空间内的关键动作落只读流水(创建空间、拉入/移出成员、创建/删除内容),每条含时间、操作者邮箱、动作与对象,仅拥有者/管理员可见(前后端双重限制)。成员注销账号只清理其个人空间数据,团队空间内容不受影响。
商业双轨
| 维度 | AGPL 开源精简版 | 商业版 |
|---|---|---|
| 代码 | GitHub 全量开源,可自部署 | 云服务 + 企业私有化交付 |
| 模型 | 本地模型(Ollama)为主 | 本地 + BYOK + 平台按量 |
| 部署位置 | 个人电脑 / 自建服务器 | 云端或企业内网 |
| 支持 | 社区 | 商业支持 |
开源版与商业版共享同一套检索/图谱/wiki 内核;商业版叠加会员、计费、团队空间与云端同步等运营能力。
企业版 / 私有化部署
超出团队空间能力边界的需求(部门/多知识库隔离、LDAP/SSO、审计定制、专属模型对接)走企业版私有化交付:Docker Compose 或裸机部署到企业内网/私有云,含资料清洗导入、员工培训与 1 年远程维护,数据不出企业。交付内容、与开源版的能力对照、定价区间与联系方式见 企业版 / 私有化部署。
团队空间自身明确不做的:脑侧划分、部门隔离、SSO/LDAP——这些是企版定制的边界,不会以「即将支持」出现在团队空间口径里。
下一步
- 团队空间使用指南:切换空间、拉人、席位与操作日志的用户操作
- 企业版 / 私有化部署:私有化交付范围与联系方式
- 平台管理与系统管理员:后台侧的租户与席位管理
- 存储后端:数据目录与备份纪律