SuperAPI AI 工具集

uw-dashboard

数据与分析

查看项目

更新于 10-30 09:34

技能介绍

用途

uw-dashboard 是 Unwind 工具链的可视化阶段,用于对重建知识图谱进行可视化探索。它构建并启动 Unwind 仪表盘(React + React Flow + ELK),指向当前项目的重建图谱。其定位是“重建任务视图”,而不是学习导览。

主要能力

仪表盘可视化以下内容:

  • 按依赖排序的层级(layers)。
  • 每个节点的覆盖率(coverage)。
  • MUST / SHOULD / DON'T 优先级。
  • 契约清单(contract inventory,如表、端点等)。

数据来源为 docs/unwind/rebuild-graph.json。若该文件尚不存在,会从扫描清单自动生成,因此只要运行过 unwind:uw-scan,随时可以打开仪表盘。

仪表盘提供以下视图:

  • Graph:基于 React Flow + ELK 的分层布局。节点按类型着色,并带有覆盖率圆点和优先级徽章;可点击检查完整重建块、跳转连接、打开源码,或聚焦 1 跳邻域。支持按优先级、覆盖率、重建状态、节点类型、契约种类和层级过滤,并可按名称/路径搜索。
  • Coverage:按层显示 verified / documented / scanned 条形图。
  • Priorities:按层显示 MUST / SHOULD / DON'T 计数。
  • Contracts:可过滤的契约节点表格(表、端点等),包含种类、优先级、覆盖率、重建状态和源码链接;点击行可在图中聚焦该节点。
  • Rebuild:仅在运行 unwind:uw-build 后出现,显示每个节点的源文件→目标文件映射,以及基于 [MUST] 的整体完成度(来自 rebuild-state.json 与 rebuild-verification-graph.json,由 build-graph.mjs 合并进图谱)。点击行可在图中聚焦源节点。

使用方式

前置条件

步骤 0:定位已安装的 Unwind 插件并加载核心辅助脚本;若 Node/pnpm 或 @unwind/core 不可用,会报告缺失内容并干净停止。若尚无扫描,提示先运行 unwind:uw-scan。

若存在 docs/unwind/.cache/scan-manifest.json,会从当前扫描 + 文档重新生成 rebuild-graph.json;该过程保留人工进度覆盖文件(rebuild-progress.json),不会覆盖已跟踪的重建状态。

安装与构建依赖(仅首次)

在插件根目录执行 pnpm install。

启动仪表盘

通过 UNWIND_GRAPH_DIR 指向包含 docs/unwind 的项目目录,然后运行 pnpm --filter @unwind/dashboard dev。该开发服务器为长驻进程,应后台运行。Vite 配置设置了 open: true,会绑定到 127.0.0.1:5174 并在就绪后自动打开浏览器。开发服务器提供 docs/unwind/rebuild-graph.json 以及受限的 /file-content.json 端点(仅限项目内文件),用于应用内代码查看器。

若只需静态构建(无实时源码查看器),执行 pnpm --filter @unwind/dashboard build。

完成后

向用户报告地址 http://127.0.0.1:5174,并概述可用视图。这是流水线的终点(scan → analyze → plan → dashboard)。之后任何代码或文档变更,重新运行 unwind:uw-dashboard 即可在启动前从当前扫描 + 文档重建图谱,使视图不过期;如需对变更做增量再分析,运行 unwind:uw-refresh;只需原始 rebuild-graph.json(部署 / CI / 分享)时运行 unwind:uw-graph。

适用场景

  • 紧接 unwind:uw-scan 之后,可视化扫描到的结构。
  • 分析之后,以可视化方式审查各层覆盖率、MUST/SHOULD/DON'T 与缺口。
  • 浏览契约清单并跳转到源码,或跟踪重建进度。

限制

  • 仪表盘只是 rebuild-graph.json 的消费者,不会写入项目;需重新运行 uw-graph 刷新数据后再重新加载。
  • 大型仓库中图视图会限制渲染节点数(使用搜索/过滤缩窄范围);Coverage / Priorities / Contracts 视图始终聚合完整图谱。
  • 依赖 Node/pnpm 与 @unwind/core,缺失时无法运行。
  • 尚无扫描时需先运行 unwind:uw-scan。