# ShareServer Web 管理界面设计 ## 文档信息 | 项目 | 内容 | | --- | --- | | 状态 | 设计中 | | 版本 | 0.2 | | 日期 | 2026-09-05 | | 关联 PRD | [ShareServer PRD](./prd.md) | | 功能逻辑 | [功能逻辑设计](./logic-design.md) | ShareServer 是独立 Web 产品,不直接复用 Electron 页面壳层实现,但沿用 GoodBuddy 的语义 词汇、状态含义和克制的运营工具风格。界面以列表、表格和主从详情为主,不使用营销首页或 装饰性卡片墙。 ## 1. 使用对象 - 普通成员主要在 GoodBuddy Desktop 使用能力;Web 端只处理自己的设备、申请和授权。 - 组织管理员使用完整组织控制台。 - 系统管理员使用与组织控制台分开的实例管理范围。 - 审计员进入只读视图,不显示可变更控件。 登录后直接进入当前身份可用的实际控制台,不显示产品宣传页。 ## 2. 全局框架 ```text 顶部栏:ShareServer 实例名 | 当前组织 | 全局搜索 | 审批 | 账号 侧栏: 概览 组织与成员 设备 能力目录 数字人 权限策略 审批 发布与更新 网关联邦 任务与中继 审计 系统设置(仅系统管理员) ``` 当前组织始终显示。切换组织会重新加载整个数据范围,不保留上一组织的选择、筛选或详情。 系统管理使用“实例范围”标识,不能伪装成某个组织。 ## 3. 概览 概览只显示需要行动和运行事实: - 待审批数量及最旧等待时间。 - 在线/离线/已撤销设备。 - 可用/离线/暂停能力。 - 当前任务、失败和结果未知。 - 包更新异常和紧急撤销。 - 联邦连接异常。 - 中继流量和容量,仅在中继启用时显示。 指标可点击进入已带筛选的对应页面。没有事件时不显示虚构趋势。 ## 4. 组织与成员 使用“成员”“用户组”“角色”三个同级页签。成员表包含姓名、身份源、组、状态、设备数和 最近活动。邀请是唯一主操作;暂停和移除进入行末菜单。 成员详情采用抽屉,显示身份、组、角色、设备、有效 Grant、申请和审计。管理员不能查看成员 任务正文或桌面文件。 ## 5. 设备 ```text 设备 所有者 平台 状态 能力 最近在线 Jiang-PC Jiang Windows 在线 2 刚刚 GPU-Worker-02 AI Team Linux 离线 8 2 小时前 ``` 设备详情包含概览、连接、已发布能力、Grant 和活动。设备状态与 Publication 状态分别显示。 撤销设备使用危险确认,说明新任务、活动任务和重新注册影响。 ## 6. 能力目录 目录以能力为第一列,提供者为可展开信息: ```text 能力 版本 提供者 可见范围 可用性 图像生成 2.1.0 3 个节点 设计组 2/3 在线 ``` 详情包含 manifest、provider、Publication、允许输入、数据政策、调用趋势和最近错误。管理员 看到的是组织元数据,不通过目录读取能力内部数据。 ### 6.1 数字人 数字人使用独立栏目呈现,不混入普通工具能力表。目录按 `@handle`、显示名、所有者、专业 说明、提供者、Runtime、版本、在线状态和可用范围筛选;只有当前成员可发现的数字人进入 搜索和提及补全。 数字人详情显示: - 所有者、来源组织、执行设备或服务节点。 - Publication 版本、支持的输入/输出、可用时间、并发和有效期。 - 数据去向、路由、中继可读性、是否允许委托。 - 是否使用本地记忆、允许的分区种类,以及允许处理的数据敏感度;不显示记忆条目、具体分区 名称、来源正文和检索结果。 - 当前成员的 `discover/inspect/invoke` 权限、命中策略和审批要求。 成员可以在“我的数字人”中创建多个用途不同的发布草稿,选择一个本地 Agent、设置唯一 `@handle` 和开放范围、提交审批、暂停、恢复、更新或撤销。加入组织不会生成默认数字人, 创建本地 Agent 也不会自动发布。 发布表单的“可用记忆”默认全部关闭,并允许勾选数字人的 Agent、Global、指定 Project 和 指定 Automation 分区。Conversation 和 Run 不作为可选项。表单持续说明记忆只在提供者本地 检索,调用者和 ShareServer 看不到内容;新增分区在保存前明确标为权限扩大,移除分区明确 标为立即收紧。 组织会话和任务输入区使用带搜索的显式选择器插入 `@数字人`,不能只靠自由文本猜测 handle。 选择后持续显示目标数字人;发送前确认实际接收者、执行位置、发送数据和授权。离线、无权或 需要审批的项保持可读并说明原因,但不能形成已发送调用。 ## 7. 权限策略 策略页分“强制策略”和“Grant”。创建和编辑使用结构化表单:主体、能力、动作、输入、提供者、 时间、预算、批准和委托。保存前提供自然语言摘要: > 允许“设计组”从合规设备调用组织内“图像生成”2.x;只发送文本和图片;每人每日 20 次; > 不允许下游委托。 策略冲突预览显示最终结果和命中规则,但不提供允许规则覆盖拒绝规则的顺序拖拽。 ## 8. 审批 审批收件箱按调用、发布、更新和联邦分类。详情必须显示申请人、能力或对象、目标范围、数据 类别、权限变化、期限和策略依据。批准按钮使用具体文案,例如“允许本次调用”“批准此版本 发布”,不能只有“同意”。 批量批准仅用于同类型、同策略且不包含权限扩大的低影响申请;联邦和权限扩大更新不支持 批量批准。 ## 9. 发布与更新 页面分“能力包”“发布通道”“更新策略”“撤销记录”。Package 表显示版本、发布者、签名、 大小、目标平台、权限变化和状态。上传后先进入验证,不直接发布。 版本详情提供 manifest、摘要、签名、兼容范围、权限 diff、依赖和下载事实。紧急撤销位于 独立 danger zone,需要输入版本标识确认,并说明受影响设备和新任务。 ## 10. 网关联邦 ```text 合作组织 对端地址 状态 开放能力 有效期 法务服务商 share.legal.example 已连接 2 项 12-31 ``` 建立关系采用向导:填写端点、核对组织和指纹、选择公开范围、设置调用与数据限制、生成 offer、 等待对方确认、复核双方交集。只有双方完成后显示“已连接”。 详情明确展示“我方开放”“对方开放”“最终可用”三个集合。暂停和撤销说明对活动任务的处理。 ## 11. 任务与中继 任务表显示调用方、能力、provider、路由、数据类别、状态、耗时和时间。默认不显示正文。 活动任务提供取消;结果未知使用独立状态并显示 provider 最后确认点。 中继未启用时页面显示控制面正常和启用位置,不展示零值图表。启用后显示活动连接、吞吐、 排队、容量和拒绝原因,不提供查看正文的调试入口。 ## 12. 审计 提供操作者、动作、对象、组织、结果、时间和关联 ID 的可筛选表格。导出前显示条件、估算行数、 时区和字段范围;大导出作为后台任务生成有时效下载。审计详情保持只读,不把原始内部错误、 认证信息或任务正文显示给管理员。 ## 13. 系统设置 只包含实例名称、公开地址、身份源、邮件、数据库/对象存储状态、中继开关与上限、保留策略、 联邦总开关、证书和版本。秘密字段只支持替换或测试,不回显原值。 运行时基础设施配置优先来自部署环境;Web 界面不能修改数据库连接串、主密钥或容器挂载路径。 ## 14. 状态、响应式与无障碍 - 加载、无数据、无匹配、无权限、服务错误和部分不可用分别展示。 - 管理表格支持键盘访问、可见焦点、表头关联和分页;行菜单有可访问名称。 - 窄屏将表格转为字段列表,保持组织、来源、状态和风险信息,不把管理动作挤成不可辨图标。 - 所有时间显示实例时区并可查看 ISO 时间;联邦事件同时显示对端时间时标明时区。 - 状态不只依赖颜色。危险操作在确认后保持原页面上下文和可恢复错误。 ## 15. 交互原型视觉基线 2026-09-05 的首个可运行原型采用深海科技控制台方向,并同时提供浅色主题。视觉实现遵循 shadcn/ui 的本地组件模式和 Radix 可访问 primitives,布局参考成熟后台的侧栏、顶栏、数据 表格和详情对话框,但不复制第三方示例业务页面。 原型已覆盖数字人需求加入前的一级栏目、管理员与成员自助视图切换、组织范围、搜索筛选、 页签、详情、创建表单、危险确认和 390px 窄屏导航。动态发光、网格和网络脉冲只用于运行状态 与品牌氛围;业务表格仍保持克制,状态继续同时使用图标与文字。原型操作会调用无持久化确认 API,并持续标明不会写入生产数据,不能据此宣称真实审批、撤销、策略或任务操作已实现。 `FR-13` 新增的数字人目录、“我的数字人”和 `@` 选择器尚未进入当前原型。