Files
pikasTech-unidesk/docs/MDTODO/hwlab-web-product-experience.md
T
2026-07-13 15:19:02 +02:00

76 lines
11 KiB
Markdown
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.
# HWLAB Web 产品体验
- 长期问题域:
- HWLAB Cloud Web 的产品信息架构、通用前端能力、页面一致性和用户入口体验。
- HWLAB 页面所需的同源 API、领域 read model 与合理微服务边界。
- 规格真相:
- `project-management/PJ2026-01/specs/` 下的 HWLAB L0、Cloud 阶段及对应 L1/L2 SPEC。
- HWLAB v0.3 实现与真实入口验收以 `NC01/v03` 固定 source workspace 和运行面为准。
- 范围边界:
- 页面不得重新定义硬件、任务、用户、权限、账本或评价事实。
- Workbench 主工作流不在本文件内重写,但共享应用壳变更不得造成其回退。
## R1 [completed]
依据 UniDesk OA SPEC 全量重写 HWLAB v0.3 除 Workbench 主工作流外的 Cloud Web 页面:先抽取工业风、高信息密度、渐进披露且符合用户直觉的通用前端模块;MDTODO 保留成熟布局语义后重写;HWPOD/HWPOD Node 重点实现设备卡片/列表、node→HWPOD 管理和 Python 节点接入;必要时补强后端并按职责合理拆分微服务。完整范围、现状证据、战略判断和验收见[任务上下文](./details/hwlab-web-product-experience/R1_Context.md);执行锚点见[HWLAB #2514](https://github.com/pikasTech/HWLAB/issues/2514),完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1_Task_Report.md)。
### R1.1 [completed]
完成 UniDesk OA SPEC 对齐与产品架构定锚:盘点非 Workbench 全路由、用户旅程、实体 ID、navId/ACL、DTO/API、深链、页面状态和原入口,以 HWLAB L0“云端硬件研发闭环”、Cloud 阶段“多人多端开箱即用/硬件接入”及各 L1/L2 职责判定页面主责、缺口和优先级;确认需新增或修订的 SPEC、架构图、数据流、时序和验收矩阵后再实现。依赖:无,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.1_Task_Report.md)。
### R1.2 [completed]
依赖 R1.1,建立 HWLAB Cloud Web 工业设计系统与通用前端层:tokens、响应式 AppShell、PageCommandBar、StatusStrip、DataGrid/VirtualList/ResourceCollection、工业实体卡片、图标/列表或密度切换、Dialog/Drawer/Popover、Log/Markdown/JSON/Trace Viewer、AsyncBoundary、Inspector 与 BoundedWorkspace;统一 URL view state、键盘/ARIA、reduced-motion、响应式和大数据有界行为。执行见[HWLAB #2515](https://github.com/pikasTech/HWLAB/issues/2515),完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.2_Task_Report.md)。
### R1.3 [completed]
依赖 R1.1,可与 R1.2 并行;按硬件池、Agent编排、HarnessRL、客户端、用户管理和平台运维主责补齐 typed DTO、BFF/read model、服务端搜索/排序/cursor、详情与日志/operation 查询。评估抽取 hwlab-hwpod-service 统一 HWPOD registry、node connection、拓扑、operation 和诊断;Cloud API 只保留同源鉴权/路由/correlation,项目与用户事实继续归既有服务,拆分前先更新对应 SPEC,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.3_Task_Report.md)。
### R1.4 [completed]
依赖 R1.2、R1.3,重写全站应用壳、登录、注册和 404:导航按用户工作流组织,保留或原子迁移 navId/ACL、同源 HttpOnly 会话与安全 redirect;桌面、紧凑桌面和移动端都有明确导航、上下文、命令区和滚动所有者。联动修正 UniDesk HWLAB 外链壳的硬编码 IP,使其从受控配置解析正式入口;共享壳变更不得改写或回退 Workbench 主工作流,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.4_Task_Report.md)。
### R1.5 [completed]
依赖 R1.2、R1.3,重写 HWPOD“设备资源”子标签:以 typed inventory 展示 HWPOD 四要素、node、声明/实际能力、可用/占用/busy、主要 blocker 和最近 operation;同源支持电路板 SVG 图标卡片与高密度列表。四条链路分别表达 target/workspace/debug/io,仅真实连接、in-flight 或 mismatch 驱动克制动效,并完整支持 reduced-motion、详情深链和渐进披露 Inspector。执行见[HWLAB #2516](https://github.com/pikasTech/HWLAB/issues/2516),完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.5_Task_Report.md)。
### R1.6 [completed]
依赖 R1.2、R1.3,与 R1.5 协同重写“HWPOD Node”和“节点接入”子标签:管理已连接及声明离线 node,展示平台、版本、心跳、能力、in-flight、诊断和其挂载的零到多个 HWPOD;网页消费 update/download 元数据下载 Python 单文件,展示版本、大小、SHA 和安装条件。按 downloaded→installed→desktop-visible→registered→workspace-ready→hwpod-ready 分阶段引导,凭据仍只走 YAML sourceRef/受控 CLI,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.6_Task_Report.md)。
### R1.7 [completed]
依赖 R1.2、R1.3,重写 Projects 与 MDTODOProjects 提供项目卡片/表格、状态/来源筛选、项目详情、任务活动与 blocker 深链;MDTODO 保留成熟的有界三栏、Rxx 树→正文→报告、Source/File 工具栏、inline edit、报告关闭/调整/全屏、RESTful 深链和刷新恢复,并接入新的通用组件。删除 Workbench 私有 store 依赖,只通过公共 Project Management 与 Workbench Launch API 联动。执行见[HWLAB #2517](https://github.com/pikasTech/HWLAB/issues/2517),完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.7_Task_Report.md)。
### R1.8 [completed]
依赖 R1.2、R1.3,重写 Dashboard、组织/用户协同、API Keys、Usage、Billing、Settings 与 HelpDashboard 通过后端聚合 read model 提供继续项目/任务、HWPOD、额度和主要异常;集合页统一卡片/列表、筛选、分页和深链;创建/兑换等低频操作进入 Dialog。不得虚构未落地的支付、scope、轮换或跨设备偏好,缺失能力先更新用户管理 SPEC/API,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.8_Task_Report.md)。
### R1.9 [completed]
依赖 R1.2、R1.3,重写 Users、Access、Secrets/External Secret、Admin Billing 与 Provider Profiles:统一集合→Inspector/深链详情→低频 Dialog,补 typed DTO、服务端分页、筛选、审计/验证历史和有界日志。Access 继续消费权限域真相;Secret 只展示对象、key、presence、fingerprint 与摘要,保留 dry-run/plan 和 YAML-first sourceRef,不新增运行面反解或前端 Apply,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.9_Task_Report.md)。
### R1.10 [completed]
依赖 R1.2、R1.3,重写 Performance、Gate、Skills、OpenCode 外壳及其他非 Workbench 系统工具页:按“状态→问题→证据→动作”渐进披露,统一时间窗口、视图/密度、详情深链、日志/证据查看和异步状态;Performance 拆分大组件并保持有界可视化,Skills 不在缺少正式 API 时虚构删除/启停,OpenCode 保留同源 ticket、认证和安全 URL,只增强加载/错误/重试外壳,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.10_Task_Report.md)。
### R1.11 [completed]
依赖 R1.4-R1.10,完成迁移收口:删除所有已被新设计系统替代的旧页面 shell、私有 Panel/Table/Dialog/Viewer、字段名猜测、名称去重、关键事实前端拼装、重复 CSS 和阻碍最新目标的兼容入口;把 Workbench 与普通页面样式按职责拆分,所有源码文件满足体积治理。保持稳定业务 ID、API、权限、Secret、深链和 Workbench 用户主路径无回退,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.11_Task_Report.md)。
### R1.12 [completed]
依赖 R1.4-R1.11,在 NC01/v03 YAML-selected Cloud Web 原入口完成全量验收:覆盖 1920x1080、960x600、约 390px、键盘/焦点/ARIA、reduced-motion、深链刷新/前进后退、卡片/列表语义一致、loading/refreshing/partial/empty/error/ready、大表/长树/长日志性能和权限差异。用 web-probe observe/analyze 留存证据;HWPOD 覆盖一 node 多设备、离线 node、在线无 spec、invalid spec、mismatch、busy、更新和诊断错误,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.12_Task_Report.md)。
### R1.13 [completed]
补强 WebProbe 全浏览器入口与 Web 哨兵资源治理(子 issue [pikasTech/unidesk#1907](https://github.com/pikasTech/unidesk/issues/1907)):所有会创建浏览器的人工入口只以 /proc/meminfo 的 MemAvailable 判定真实物理内存,未满足 owning YAML 策略时先阻断并要求受控 GC 后复核;哨兵未满足策略时不创建 observer/Chrome,跳过本轮等待下一 cadence。将阈值、锁、TTL、样本、截图、性能、历史、响应体和终态关闭上限收敛到 owning YAML,保证成功、失败、timeout、signal 全路径关闭 browser/context,并在 NC01/v03 验证 12GiB swap 不计入资格,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.13_Task_Report.md)。
#### R1.13.1 [completed]
修复 [UniDesk #1927](https://github.com/pikasTech/unidesk/issues/1927) 的 WebProbe MDTODO 任务引用误报与性能采集状态污染:按语义任务行去重 analyzerperformanceCapture 状态只返回有界摘要和 artifact 下钻,不新增锁、租约、围栏或旁路入口,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.13.1_Task_Report.md)。
### R1.14 [completed]
依据用户最新反馈全量重写 HWLAB v0.3 管理域导航、授权、密钥、用户、账务与 MDTODO 页面代码(子 issue [pikasTech/HWLAB#2522](https://github.com/pikasTech/HWLAB/issues/2522)):禁止以换色、圆角、字母方块、薄包装组件或局部 CSS 冒充重写;先抽取工业运营台通用工作区、状态轨、实体索引、权限矩阵、密钥流向、审计/账本时间线、真实线性图标与 Markdown/报告 Viewer,再重建五页组件树、状态组合和样式并删除旧私有实现。MDTODO 只保留成熟的有界三栏、任务树→正文→报告、Source/File、inline edit、报告调宽/关闭/全屏和深链思想;保留 typed API、稳定 ID、revision/fingerprint、ACL、Secret 脱敏与公共 Workbench Launch 合同,完成 1920/960/390 原入口验收,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.14_Task_Report.md)。