feat: add local sharing and containerized web/server layout

This commit is contained in:
lofyer
2026-10-01 12:01:44 +08:00
parent 599a0a6645
commit c9d5e63276
51 changed files with 2212 additions and 233 deletions
+29 -2
View File
@@ -4,6 +4,13 @@ ShareServer 是 GoodBuddy 设备共享网络的独立 Web 服务。它为一个
目录、能力发布、授权策略、任务路由、可选数据中继、能力包更新、网关联邦、Office 编辑和
审计管理。目标范围还包括共享工作空间的实时消息、成员处理请求和资料同步。
成员的日常操作在 GoodBuddy 中完成,ShareServer 提供组织后台。模型网关向其他模型服务转发
请求,不托管模型或运行推理。文档主要存储在 ShareServer;个人创建者可删除自己的文档或将
所有权转移给组织,转移后删除由组织权限决定,原创建者不再保留个人删除权。
Office 区分服务端主存文档与显式的本地来源导入/回写模式。既有 Desktop 源文件、检查点和
冲突契约用于后者;编辑会话结束不删除服务端主文档,检查点可用也不等于本地或 SSH 源文件已回写。
ShareServer 不属于 Electron Main,不负责桌面端局域网发现,也不自动取得设备上的能力、
文件、凭据或 SSH Host。
@@ -21,11 +28,31 @@ ShareServer 不属于 Electron Main,不负责桌面端局域网发现,也不
| [Desktop Office 协同编辑](../../../../goodbuddy/docs/features/office-document-editing/README.md) | 文档 Tab、源文件回写、冲突和 AI 选区编辑(GoodBuddy 仓库) |
工作空间协作场景由用户故事追踪;管理员、能力发布者、审计员等既有场景继续由 PRD 与逻辑
设计覆盖。仓库已建立可运行的全控制台交互原型;它用于确认信息架构与交互,不代表生产服务已经
实现。当前边界和运行方法见[实施进度](./progress.md)与
设计覆盖。仓库已有全控制台交互原型及本地共享目录服务,后者持久化 GoodBuddy 注册和发布的元数据。
组织生产服务尚未实现。当前边界和运行方法见[实施进度](./progress.md)与
[`README.md`](../../../README.md)。跨仓库文档链接要求将 `goodbuddy` 与
`goodbuddy-shareserver` 克隆到同一级目录;服务构建和运行不依赖桌面端仓库。
当前源码按 `web/src/`、`server/src/` 和根 `shared/` 组织,构建、测试与依赖仍由根目录统一管理。
目录和产物路径见[技术设计第 1 节](./technical-design.md#1-仓库与运行边界)。
## GoodBuddy 服务演示
当前新增 `/model-gateway`(模型网关)、`/documents`(文档与协作)、`/distribution`(配置下发)
三个路由,演示策略判断、文档归属与回收站、OnlyOffice 实例配置和检查、按组发布与回退。
三页导航共享会话内存,刷新重置;服务演示操作不发网络请求、不写本地存储。角色开关、检查
结果和在线设备应用状态均为模拟,未实现推理、真实转发、Office 编辑保存或设备交付。
具体交互见 [UI 设计第 16.1 节](./ui-design.md#161-goodbuddy-服务演示)。
共享中心沿用 `/capabilities`。能力目录、共享知识库、按用户查看和按设备查看使用示例数据;
“本地服务目录”页签读取真实本地记录。来源模式、权限展示与跳转约定见
[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)。
## 角色
- **系统管理员**:维护实例、身份源、域名、证书、存储和全局限制。