工作空间远程共享(实验性)
将工作空间共享到 ElevoWorkspace,允许其他 Knodo 实例挂载访问
工作空间远程共享
⚠️ 实验性特性:该功能目前处于实验阶段,默认关闭。
功能概述
ElevoWorkspace 共享功能允许您将工作空间通过 StorageProvider SDK 共享到远程 ElevoWorkspace 服务,供其他 Knodo 实例挂载访问,实现跨团队协作和灾难恢复。
开启功能
该功能默认关闭,需要平台管理员先在管理后台开启:
- 进入管理后台 → 系统配置 → ElevoWorkspace 共享
- 打开启用共享功能开关
- 配置以下必要信息:
- HTTP API 地址:ElevoWorkspace 服务的 HTTP API 地址(如
http://localhost:8080) - 管理员 Token:ElevoWorkspace 管理员访问令牌
- HTTP API 地址:ElevoWorkspace 服务的 HTTP API 地址(如
💡 配置也可以通过环境变量设置初始值:
ELEVO_WORKSPACE_ENABLED、ELEVO_WORKSPACE_HTTP_URL、ELEVO_WORKSPACE_ADMIN_TOKEN。管理后台修改的值优先于环境变量。
前提条件
- 平台管理员已在系统配置中开启功能并配置好 ElevoWorkspace 连接信息
- 网络连通:确保本实例能够访问 ElevoWorkspace 服务的 HTTP API
- 您拥有目标工作空间的管理员权限
只有空间管理员有权限开启或关闭自己空间的共享,普通成员对共享功能完全无感,不会看到任何相关入口。
操作步骤
开启共享
- 进入目标工作空间,点击左下角 更多设置 打开空间设置弹框
- 在基本信息 Tab 中找到远程共享区域
- 打开共享开关,等待连接建立
- 状态显示为已连接(绿色)即表示共享成功

关闭共享
- 进入目标工作空间,点击左下角 更多设置 打开空间设置弹框
- 在基本信息 Tab 中找到远程共享区域
- 关闭共享开关
- 在确认对话框中点击确认关闭
⚠️ 注意:关闭共享后,其他 Knodo 实例将无法继续访问此工作空间。
状态说明
| 状态 | 颜色 | 说明 |
|---|---|---|
| 已连接 | 🟢 绿色 | StorageProvider 正常运行,远程可访问 |
| 重连中 | 🟡 黄色 | 连接中断,正在尝试重新连接 |
| 已断开 | 🔴 红色 | 连接失败,请检查网络或联系平台管理员 |
工作空间列表标识
已开启共享的工作空间在列表页会显示已共享标识(绿色 Share2 图标),仅空间管理员可见。
审计日志
以下操作会记录到审计日志:
| 操作 | 审计动作 | 说明 |
|---|---|---|
| 开启共享 | ELEVO_SHARE_START | 记录操作人和 Share ID |
| 关闭共享 | ELEVO_SHARE_STOP | 记录操作人 |
技术架构
租户管理
- 使用平台管理员预配置的单一租户(通过系统配置预设租户 ID 和 Token)
- 一个组织只维护一个 StorageProvider 连接
工作空间共享
- 通过
sourcePath区分同一组织下的不同工作空间 - Share 创建后,远程实例可通过 Share ID 挂载访问
- 支持幂等操作:重复开启共享直接返回现有状态
并发控制
- 组织级锁:确保同一组织只有一个 StorageProvider
- 工作空间级锁:防止并发操作导致状态不一致
故障恢复
- 服务启动时自动恢复所有已开启共享的连接
- 指数退避重试机制(1s → 2s → 4s → 8s → 16s,最多 5 次)
- 恢复失败记录 ERROR 日志,不阻塞服务启动
常见问题
Q: 为什么我看不到共享开关?
请确认平台管理员已在管理后台 → 系统配置 → ElevoWorkspace 共享中开启了功能开关。功能关闭时,空间设置中不会显示共享选项。
Q: 为什么共享状态显示"已断开"?
可能原因:
- ElevoWorkspace 服务不可达
- 网络连接中断
- 认证信息过期
解决方案:检查网络连通性,确认平台管理员配置的服务信息正确,必要时联系平台管理员。
Q: 关闭共享后数据会丢失吗?
不会。关闭共享只是断开远程访问连接,工作空间数据完整保留在本地。
Q: 非管理员可以看到共享状态吗?
不可以。共享功能仅对空间管理员可见,普通成员完全无感,不会看到任何共享相关的入口或状态信息。