Files
goodbuddy-shareserver/shared/prototype-data.ts
T
lofyer b2ccc78642 chore: extract ShareServer into its own repository
Move the existing Hono API, React console, tests, build configuration,
and feature documentation from GoodBuddy into a standalone project.
Keep the current interactive-prototype behavior and production limitations.

Document the source commit and sibling-checkout links to the authoritative
Desktop network architecture. Independent install, tests, typecheck, lint,
build, and built-service HTTP smoke checks passed.
2026-09-06 19:02:41 +08:00

325 lines
14 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export type PrototypeRole = 'admin' | 'member'
export type Metric = {
label: string
value: string
detail: string
tone: 'cyan' | 'violet' | 'amber' | 'rose'
target: string
}
export type PrototypeRecord = {
id: string
primary: string
secondary: string
status: string
statusTone: 'online' | 'warning' | 'offline' | 'danger' | 'neutral'
meta: string[]
detail: Record<string, string>
}
export type PrototypeSnapshot = {
instance: {
name: string
organization: string
protocol: string
region: string
generatedAt: string
}
metrics: Metric[]
activity: Array<{ time: string; label: string; value: number }>
pages: Record<string, PrototypeRecord[]>
}
const record = (
id: string,
primary: string,
secondary: string,
status: string,
statusTone: PrototypeRecord['statusTone'],
meta: string[],
detail: Record<string, string>
): PrototypeRecord => ({ id, primary, secondary, status, statusTone, meta, detail })
export const prototypeSnapshot: PrototypeSnapshot = {
instance: {
name: 'Nebula ShareServer',
organization: 'MesaLab',
protocol: 'Share Protocol 1.0',
region: '上海 · 私有云',
generatedAt: '2026-09-05T09:42:00+08:00'
},
metrics: [
{ label: '待处理审批', value: '6', detail: '最旧等待 42 分钟', tone: 'amber', target: '/approvals' },
{ label: '在线设备', value: '18 / 24', detail: '2 台需要关注', tone: 'cyan', target: '/devices' },
{ label: '可用能力', value: '37', detail: '来自 21 个 Provider', tone: 'violet', target: '/capabilities' },
{ label: '活动任务', value: '12', detail: '过去 24 小时成功率 98.2%', tone: 'rose', target: '/tasks' }
],
activity: [
{ time: '08:00', label: '任务', value: 12 },
{ time: '09:00', label: '任务', value: 19 },
{ time: '10:00', label: '任务', value: 15 },
{ time: '11:00', label: '任务', value: 26 },
{ time: '12:00', label: '任务', value: 21 },
{ time: '13:00', label: '任务', value: 33 },
{ time: '14:00', label: '任务', value: 28 },
{ time: '15:00', label: '任务', value: 42 },
{ time: '16:00', label: '任务', value: 36 },
{ time: '17:00', label: '任务', value: 48 },
{ time: '18:00', label: '任务', value: 39 },
{ time: '19:00', label: '任务', value: 51 }
],
pages: {
members: [
record('m-1', '林江', 'jiang@mesalab.internal', '活跃', 'online', ['系统管理员', '3 台设备', '刚刚'], {
身份源: '本地账号',
用户组: '平台工程、审批人',
有效授权: '12 项 Grant',
最近活动: '批准图像生成能力发布'
}),
record('m-2', '陈汐', 'xi.chen@mesalab.internal', '活跃', 'online', ['组织管理员', '2 台设备', '8 分钟前'], {
身份源: '企业 OIDC',
用户组: '设计中心',
有效授权: '8 项 Grant',
最近活动: '调用文档转换能力'
}),
record('m-3', '王简', 'jian.wang@partner.example', '待接受邀请', 'warning', ['成员', '0 台设备', '2 小时前'], {
身份源: '邀请待确认',
用户组: '法务协作',
有效授权: '邀请生效后 2 项',
最近活动: '尚未登录'
})
],
groups: [
record('g-1', '平台工程', '维护内部 Agent 与能力节点', '12 名成员', 'online', ['8 个 Grant', '4 个设备组', '今天更新'], {
成员: '12',
设备组: 'GPU 节点、开发工作站',
角色: '发布者、审批人',
范围: 'MesaLab'
}),
record('g-2', '设计中心', '使用视觉与内容能力', '28 名成员', 'online', ['5 个 Grant', '2 个设备组', '昨天更新'], {
成员: '28',
设备组: '设计工作站',
角色: '成员',
范围: 'MesaLab'
})
],
roles: [
record('r-1', '组织管理员', '管理成员、设备、策略与联邦', '6 人', 'online', ['系统内置', '高权限', '全组织'], {
权限: '组织范围管理',
绑定人数: '6',
可委托: '否',
最近变更: '系统内置'
}),
record('r-2', '能力发布者', '发布获准能力和签名包', '9 人', 'neutral', ['自定义', '有界范围', '4 个组'], {
权限: 'Publication、Package',
绑定人数: '9',
可委托: '按策略',
最近变更: '3 天前'
})
],
devices: [
record('d-1', 'Jiang-PC', '林江 · Windows 11 x64', '在线', 'online', ['2 项能力', '客户端 0.12.4', '刚刚'], {
注册状态: '已验证',
连接代次: 'generation 84',
最近地址: '内网出口 · 已脱敏',
合规状态: '符合组织基线'
}),
record('d-2', 'GPU-Worker-02', 'AI Team · Linux x64', '在线', 'online', ['8 项能力', '客户端 0.12.3', '12 秒前'], {
注册状态: '已验证',
连接代次: 'generation 221',
最近地址: '计算节点区 · 已脱敏',
合规状态: '符合组织基线'
}),
record('d-3', 'Design-Mac-07', '陈汐 · macOS arm64', '离线', 'offline', ['3 项能力', '客户端 0.12.2', '2 小时前'], {
注册状态: '已验证',
连接代次: 'generation 17',
最近地址: '办公网络 · 已脱敏',
合规状态: '客户端建议更新'
}),
record('d-4', 'Legacy-Lab', '测试组 · Linux x64', '已撤销', 'danger', ['0 项可用能力', '客户端 0.10.1', '12 天前'], {
注册状态: '2026-08-24 已撤销',
连接代次: '无活动连接',
最近地址: '不再保留',
合规状态: '不具备新任务资格'
})
],
capabilities: [
record('c-1', '图像生成', 'image.generate · 2.1.0', '2 / 3 在线', 'warning', ['3 个 Provider', '设计组', 'remote'], {
输入: '文本、参考图片',
数据策略: '任务期保留,不允许委托',
版本: '2.0.x – 2.1.x',
最近错误: 'Design-Mac-07 离线'
}),
record('c-2', '文档转 Word', 'document.convert.docx · 1.4.0', '可用', 'online', ['2 个 Provider', '全组织', 'remote + package'], {
输入: 'PDF、图片、文本',
数据策略: '处理完成立即清理',
版本: '1.4.0',
最近错误: '无'
}),
record('c-3', '代码安全扫描', 'code.security.scan · 3.0.2', '已暂停', 'offline', ['4 个 Provider', '平台工程', 'remote'], {
输入: '代码目录',
数据策略: '仅组织内,不允许联网',
版本: '3.0.2',
最近错误: 'Publication 被管理员暂停'
})
],
policies: [
record('p-1', '生产数据禁止跨组织', '组织强制策略 · deny', '已生效', 'online', ['优先级最高', '数据分类:生产', '刚刚评估'], {
作用主体: '全体成员与设备',
能力范围: '全部能力',
决策: '跨组织调用时拒绝',
修订版本: 'revision 18'
}),
record('p-2', '设计组图像能力', 'Grant · allow', '已生效', 'online', ['设计中心', '每日 20 次/人', '有效至 12-31'], {
作用主体: '用户组:设计中心',
能力范围: '图像生成 2.x',
决策: '允许文本与图片输入',
修订版本: 'revision 6'
}),
record('p-3', '外部法务文档转换', 'Grant · require_approval', '已生效', 'warning', ['联邦组织', '每次审批', '有效至 10-01'], {
作用主体: '法务服务商',
能力范围: '文档转 Word 1.4.0',
决策: '每次调用需要审批',
修订版本: 'revision 3'
})
],
approvals: [
record('a-1', '权限扩大更新', '代码安全扫描 3.1.0', '等待审批', 'warning', ['申请人:周启', '新增网络访问', '等待 42 分钟'], {
申请类型: 'Package 权限变化',
影响范围: '平台工程组 12 台设备',
策略依据: '权限扩大必须重新批准',
有效期限: '批准后 7 天内发布'
}),
record('a-2', '本次能力调用', '法务服务商 → 文档转 Word', '等待审批', 'warning', ['申请人:王简', '机密文档', '等待 18 分钟'], {
申请类型: '联邦能力调用',
影响范围: '1 个 PDF,2.8 MB',
策略依据: '外部法务文档转换',
有效期限: '本次调用,15 分钟'
}),
record('a-3', '发布图像生成能力', 'GPU-Worker-05 · 2.1.0', '等待审批', 'warning', ['申请人:苏禾', '组织内发布', '等待 6 分钟'], {
申请类型: 'Publication',
影响范围: '设计中心可发现并调用',
策略依据: '新增 Provider 需要审批',
有效期限: '批准后持续有效'
})
],
releases: [
record('pkg-1', 'document-convert', '1.4.0 · Linux/Windows/macOS', '可用', 'online', ['签名已验证', '48.2 MB', '稳定通道'], {
摘要: 'sha256: 9b3a…42e1',
发布者: 'MesaLab Platform',
权限变化: '无',
下载事实: '24 台成功,0 台失败'
}),
record('pkg-2', 'security-scanner', '3.1.0 · Linux x64', '等待审批', 'warning', ['签名已验证', '128.6 MB', '候选通道'], {
摘要: 'sha256: a18f…91d0',
发布者: 'Security Team',
权限变化: '新增受限网络访问',
下载事实: '尚未进入发布目录'
}),
record('pkg-3', 'image-runtime', '2.0.4 · Linux x64', '紧急撤销', 'danger', ['签名有效', '3.2 GB', '已停止下载'], {
摘要: 'sha256: f221…d872',
发布者: 'AI Team',
权限变化: '无',
下载事实: '因运行崩溃于 09-02 撤销'
})
],
federation: [
record('f-1', '法务服务商', 'share.legal.example', '已连接', 'online', ['2 项开放能力', '双边确认', '有效至 12-31'], {
我方开放: '文档转 Word',
对方开放: '合同审阅、法规检索',
最终可用: '2 项',
网关指纹: 'SHA256:9F:2A:…:71'
}),
record('f-2', '华东研究院', 'gateway.east-research.internal', '已暂停', 'offline', ['5 项开放能力', '我方暂停', '无新任务'], {
我方开放: '代码扫描、文档解析',
对方开放: '仿真计算、数据清洗、模型评测',
最终可用: '暂停期间 0 项',
网关指纹: 'SHA256:42:BC:…:E9'
})
],
tasks: [
record('t-1', 'task_8B2K…19QF', '陈汐 → 图像生成', '运行中', 'online', ['GPU-Worker-02', '网关直连', '已运行 38 秒'], {
数据类别: '普通 · 文本与图片',
Provider: 'GPU-Worker-02 / image.generate 2.1.0',
路由: '经 ShareServer 协商后端点直连',
最后确认点: 'Provider 已报告 62%'
}),
record('t-2', 'task_4D8M…71XA', '王简 → 文档转 Word', '等待审批', 'warning', ['法务服务商', '联邦中继', '18 分钟前'], {
数据类别: '机密 · PDF',
Provider: 'MesaLab / document.convert.docx',
路由: '联邦 + 端到端加密中继',
最后确认点: '尚未发送正文'
}),
record('t-3', 'task_2A9P…82CD', '平台工程 → 代码安全扫描', '结果未知', 'danger', ['GPU-Worker-09', '网关直连', '1 小时前'], {
数据类别: '内部 · 代码',
Provider: 'GPU-Worker-09 / code.security.scan 3.0.2',
路由: '端点直连',
最后确认点: 'Provider 执行后连接中断'
})
],
audit: [
record('e-1', '批准 Publication', '林江 · GPU-Worker-05', '成功', 'online', ['MesaLab', 'audit_7K2…1PA', '09:38:12'], {
操作者: '林江 (user_81A…)',
对象: 'publication_71B…',
结果: 'active',
时间: '2026-09-05T09:38:12+08:00'
}),
record('e-2', '撤销设备', '陈汐 · Legacy-Lab', '成功', 'online', ['MesaLab', 'audit_1M4…9FD', '09:14:07'], {
操作者: '陈汐 (user_22C…)',
对象: 'device_B82…',
结果: 'revoked',
时间: '2026-09-05T09:14:07+08:00'
}),
record('e-3', '创建联邦任务', '王简 · 法务服务商', '需要审批', 'warning', ['MesaLab', 'audit_8X7…0QA', '09:02:44'], {
操作者: '王简 (external_subject_18D…)',
对象: 'task_4D8…',
结果: 'require_approval',
时间: '2026-09-05T09:02:44+08:00'
})
],
myDevices: [
record('md-1', 'Jiang-PC', '当前设备 · Windows 11 x64', '在线', 'online', ['2 项已发布能力', '5 项可用授权', '刚刚'], {
注册时间: '2026-08-11',
当前组织: 'MesaLab',
发布能力: '屏幕理解、文档解析',
登录状态: '当前 Web 会话不等于设备凭据'
}),
record('md-2', 'Home-Mac', 'macOS arm64', '离线', 'offline', ['未发布能力', '3 项可用授权', '4 天前'], {
注册时间: '2026-07-28',
当前组织: 'MesaLab',
发布能力: '无',
登录状态: '需要重新连接 ShareServer'
})
],
myGrants: [
record('mg-1', '图像生成 2.x', '设计中心 Grant', '可调用', 'online', ['文本与图片', '每日 20 次', '组织内'], {
Provider: '3 个已发布节点',
数据范围: '普通、内部',
有效期: '2026-12-31',
委托: '不允许'
}),
record('mg-2', '文档转 Word 1.4.0', '全组织 Grant', '可调用与下载', 'online', ['PDF、图片、文本', '每次最大 10 MB', '组织内'], {
Provider: '2 个在线节点',
数据范围: '普通、内部、机密',
有效期: '持续有效',
委托: '不允许'
})
],
myRequests: [
record('mr-1', '本次能力调用', '法务服务商 → 文档转 Word', '等待审批', 'warning', ['机密文档', '18 分钟前', '15 分钟有效'], {
申请对象: 'task_4D8M…71XA',
审批范围: '仅本次调用',
当前阶段: '尚未发送正文',
可执行操作: '取消申请'
}),
record('mr-2', '设备注册', 'Home-Mac', '已批准', 'online', ['MesaLab', '2026-07-28', '已完成'], {
申请对象: 'device_91M…A21',
审批范围: '设备注册',
当前阶段: '设备当前离线',
可执行操作: '查看设备'
})
]
}
}