82 lines
6.6 KiB
Markdown
82 lines
6.6 KiB
Markdown
# ShareServer
|
||
|
||
ShareServer 是 GoodBuddy 设备共享网络的独立 Web 服务。它为一个或多个组织提供身份与设备
|
||
目录、能力发布、授权策略、任务路由、可选数据中继、能力包更新、网关联邦、Office 编辑和
|
||
审计管理。目标范围还包括共享工作空间的实时消息、成员处理请求和资料同步。
|
||
|
||
成员的日常操作在 GoodBuddy 中完成,ShareServer 提供组织后台。模型网关向其他模型服务转发
|
||
请求,不托管模型或运行推理。文档主要存储在 ShareServer;个人创建者可删除自己的文档或将
|
||
所有权转移给组织,转移后删除由组织权限决定,原创建者不再保留个人删除权。
|
||
|
||
Office 区分服务端主存文档与显式的本地来源导入/回写模式。既有 Desktop 源文件、检查点和
|
||
冲突契约用于后者;编辑会话结束不删除服务端主文档,检查点可用也不等于本地或 SSH 源文件已回写。
|
||
|
||
Office 私有部署第一阶段仍待实现:先验证浏览器 DOCX 上传、编辑、保存与重新打开,默认本地
|
||
文件存储,独立 Document Server 容器;范围见 [PRD](./prd.md#office-私有部署第一阶段待实现),
|
||
部署与协议以[技术设计第 10.1 节](./technical-design.md#101-私有部署第一阶段待实现)为准。
|
||
拟议 `docker/compose.office.yaml` 尚不存在,现有 Compose 不包含 ONLYOFFICE。
|
||
|
||
ShareServer 不属于 Electron Main,不负责桌面端局域网发现,也不自动取得设备上的能力、
|
||
文件、凭据或 SSH Host。
|
||
|
||
## 文档导航
|
||
|
||
| 文档 | 权威职责 |
|
||
| --- | --- |
|
||
| [产品功能列表](./feature-list.md) | 按模块、页面和 Tab 汇总功能范围、状态和当前交付边界 |
|
||
| [PRD](./prd.md) | 管理角色、产品范围、功能需求和验收 |
|
||
| [用户故事](./user-stories.md) | 工作空间、实时消息、资料同步及数字分身处理的验收场景与逻辑审查 |
|
||
| [功能逻辑](./logic-design.md) | 组织隔离、设备、发布、策略、任务和联邦状态规则 |
|
||
| [管理界面设计](./ui-design.md) | ShareServer Web 控制台的信息架构与交互 |
|
||
| [技术设计](./technical-design.md) | 服务模块、API、数据、部署、运维和验证 |
|
||
| [后端基础设计](./backend-foundation-design.md) | GoodBuddy 适配依据;B1 已实现、验收部分完成,B2 至 B6 待实现 |
|
||
| [实施进度](./progress.md) | 已验证实现、剩余生产工作与验证证据 |
|
||
| [共享网络总体设计](../../../../goodbuddy/docs/architecture/share-network-architecture.md) | 跨端身份、能力、授权、任务、更新和协议权威(GoodBuddy 仓库) |
|
||
| [Desktop Office 协同编辑](../../../../goodbuddy/docs/features/office-document-editing/README.md) | 文档 Tab、源文件回写、冲突和 AI 选区编辑(GoodBuddy 仓库) |
|
||
|
||
工作空间协作场景由用户故事追踪;管理员、能力发布者、审计员等既有场景继续由 PRD 与逻辑
|
||
设计覆盖。仓库已有控制台交互原型、本地共享目录服务和真实转发的本地模型网关;目录持久化
|
||
GoodBuddy 注册和发布的元数据,网关独立保存上游、模型映射和有界调用元数据。
|
||
组织生产服务尚未实现。当前边界和运行方法见[实施进度](./progress.md)与
|
||
[`README.md`](../../../README.md)。历史演示与测试记录保留其原有范围,当前实现说明不追溯扩大验证结论。
|
||
跨仓库文档链接要求将 `goodbuddy` 与
|
||
`goodbuddy-shareserver` 克隆到同一级目录;服务构建和运行不依赖桌面端仓库。
|
||
|
||
当前源码按 `web/src/`、`server/src/` 和根 `shared/` 组织,构建、测试与依赖仍由根目录统一管理。
|
||
目录和产物路径见[技术设计第 1 节](./technical-design.md#1-仓库与运行边界)。
|
||
|
||
## GoodBuddy 服务入口
|
||
|
||
`/model-gateway` 提供上游与模型映射保存、服务端加密凭据、模型访问 Key、真实模型发现、请求测试
|
||
和调用元数据审计。管理仅限直连回环,客户端通过 Bearer Key 访问获授权的模型;组织认证、组织
|
||
隔离及配额控制仍待实现。旧环境引用保留存储兼容,前缀导入界面和接口已移除。
|
||
网关独立于 GoodBuddy 运行,无桌面源码依赖;个人既有配置仅可用于明确授权的环境测试,不自动读取或迁移。
|
||
启动方法及客户端 Base URL 见[根 README](../../../README.md#local-model-gateway),接口、存储和限制见
|
||
[技术设计第 4.2 节](./technical-design.md#42-本地模型网关契约已实现)。
|
||
|
||
`/documents` 显示待接入说明,没有示例文档或 OnlyOffice 模拟检查。`/distribution` 同样为待接入占位,
|
||
无配置草稿、设备回执、发布或回滚;保存网关模型
|
||
不会自动下发到 GoodBuddy。交互见 [UI 设计第 16.1 节](./ui-design.md#161-goodbuddy-服务入口)。
|
||
|
||
`/devices` 和共享中心沿用真实本地 API:前者展示登记设备及其发布数量,后者直接读取设备与发布记录,支持筛选、设备跳转和撤销已发布元数据;已移除组织示例页签。
|
||
来源模式与知识权限仅为声明,尚无正文服务。交互约定见
|
||
[UI 设计](./ui-design.md),本地 API 见[技术设计第 4.1 节](./technical-design.md#41-本地共享目录契约已实现)。
|
||
|
||
本地体验:在本仓库运行 `npm run dev`,在 GoodBuddy 仓库运行 `npm run dev`,从桌面应用中心
|
||
进入设备共享,连接 `http://127.0.0.1:8787`,注册、发布,再打开
|
||
`http://127.0.0.1:5174/capabilities?view=local` 查看。服务数据默认保存到 `data/sharing.json`。
|
||
完整桌面范围与验证见[设备共享文档](../../../../goodbuddy/docs/features/device-sharing/README.md)。
|
||
|
||
[后端基础设计 B1](./backend-foundation-design.md#4-b1正常模型网关接入)代码已实现,验收部分完成:
|
||
已记录 103 项自动化测试及部分真实 API 验证;完整工具结果回传、GoodBuddy Desktop 和浏览器界面
|
||
验收仍未完成。Vite `/api` 只允许回环 socket,容器/反向代理管理须等待 B2 登录。
|
||
|
||
## 角色
|
||
|
||
- **系统管理员**:维护实例、身份源、域名、证书、存储和全局限制。
|
||
- **组织管理员**:管理本组织成员、设备、组、策略、能力、Office 编辑政策和联邦关系。
|
||
- **能力发布者**:在获准范围内发布设备能力或签名能力包。
|
||
- **审批人**:处理调用、发布、更新和联邦申请。
|
||
- **审计员**:只读查看和导出获准范围内的审计事件。
|
||
- **成员**:主要通过 GoodBuddy Desktop 协作和使用能力;在 Web 端管理个人设备、授权、申请及自己发布的数字人。
|