ArcVista 观界:DSH 内的本地优先架构观测台

前言

在 DSH 里做智能体或插件开发时,代码质量工具往往只指向具体问题,却很少在同一视图里回答:系统分层与调用关系长什么样、安全与 CI 守护是否可追溯、业务概念如何组织、以及两次分析之间架构与风险发生了什么变化。ArcVista(观界)是维护者 yonking305 发布的 DSH 插件,包名 dsh-arcvista,分类为 admin-security;它把上述问题做成可下钻的看板,数据留在本机,分析产出写在项目目录下的 .arcvista/。

这是什么

ArcVista 是面向 Git 仓库与本地目录的本地优先架构观测台:选择本地项目、从 Git 克隆到工作空间,或批量导入 Git 地址后,自动生成可下钻的系统架构图、安全架构守护清单、业务知识图谱、复杂度与测试覆盖度,并支持对比不同快照之间的架构漂移与风险。

仓库根目录即标准 DSH Bundle。安装到 DSH profile 后,左侧会出现 ArcVista 观界 入口;API 与静态页面由 DSH Host 挂载在 /arcvista,无需单独起 Node 服务。运行时零第三方依赖,仅使用 Node 22 内置 node:http 与本地 JSON;语义增强走 DSH 的 llm 服务,使用当前默认模型(例如 deepseek-flash),插件设置页不提供模型配置。当前 package 声明兼容 DSH >=0.2.0-rc.2 <0.3.0-0,许可证 MIT。

核心功能

下面按 README 已说明的能力分节介绍;未配置可用模型时,静态分析引擎仍会生成完整结果,模型仅用于命名、业务语义与治理建议等增强。

系统架构图

由项目结构、构建清单、网关路由、Feign、编排配置与依赖推断生成分层图(客户端 → 接入层 → 服务层 → 数据层 → 基础设施 / 外部系统)。支持拖拽、缩放、依赖链高亮;点击节点可查看指标、上下游与下钻分析(模块内 Controller / Service / Domain 等职责子图、关键流程与改进建议)。

安全架构守护

覆盖 19 类守护族(认证、授权、输入校验、注入防护、传输加密、CORS、CSRF、限流、SAST、依赖扫描、密钥扫描等)。每项给出 enforced / partial / missing、规则清单、证据文件与行号;可解析 semgrep、ESLint 安全规则、CodeQL、Sonar、gitleaks、Dependabot、Trivy、Spring Security 等真实配置。规则清单可 diff,快照对比会逐条列出新增与移除的规则。

业务知识图谱

业务域、能力、实体、事件、数据组件与参与者来自代码与消息配置推断;卡片式泳道展示,可从业务域下钻到代码模块。模型可用时补充主流程与跨域语义。

复杂度与测试覆盖

复杂度含系统评分与模块矩阵(LOC、扇入扇出、Git 变更频率等),样式文件不计入评分。覆盖率优先读取 coverage-summary.json、lcov.info、JaCoCo、Cobertura 等产物;无产物时使用明确标注的估算值并在界面说明局限。

快照对比

任选两个快照(常见于不同分支)对比:给出整体结论(改善 / 稳定 / 需关注 / 存在风险)、安全分与守护 diff、依赖与复杂度 / 覆盖率 diff、架构与业务 diff,以及仅计入本次变更的风险清单。

插件内嵌 6 套可切换皮肤;在 DSH 中主题跟随 DSH 浅色 / 深色(映射 daylight / obsidian)。

安装与启用

从 GitHub 安装(资料推荐固定 commit 时更安全):

dsh plugin --profile web add https://github.com/yonking305/arc-vista.git

发布到 npm 后也可:

dsh plugin --profile web add dsh-arcvista

本地开发可将仓库绝对路径作为安装源。装完后重启 DSH Web(Host 代码更新需重启;仅改前端可刷新页面),左侧栏出现「ArcVista 观界」。内网离线、TGZ 打包与安全审查材料包见仓库 README 中的 npm run package:intranet、npm run package:tgz、npm run package:security-review 说明。

环境要求:Node.js >= 22.19,分析 Git 仓库时需本机 git;独立运行演示可用 npm start 打开 http://127.0.0.1:4321,作为插件时不必单独维护端口。

典型用法

作为 DSH 插件使用时,流程可以概括为:

  1. 安装插件并重启 DSH Web,从左侧进入 ArcVista 观界(或浏览器访问 DSH 下的 /arcvista)。
  2. 新建项目:填写本地目录绝对路径、选择已登记的 DSH 工作区,或使用文件夹选择器;也可填写 Git 地址(或批量 Git,每行一个)并选择工作空间,插件会先 clone 再分析当前工作区,不切换分支。
  3. 等待分析完成,在架构图、安全守护、知识图谱、复杂度与覆盖等页签下钻查看;需要对比时在快照对比中选择两个快照。
  4. 对当前工作区重新分析会生成新的不可变快照,保存在 <project>/.arcvista/snapshots/;项目列表与任务在 ~/.dsh/arcvista/(如 projects.json)。

Git 导入使用非交互认证:失败会直接显示任务错误原因,不会等待终端输入密码。

适用场景与注意

适合需要在本机统一查看架构形态、安全守护证据、业务知识组织,以及分支或迭代间架构 / 风险 diff 的团队;与「只出静态报告、不可下钻」的工具相比,ArcVista 强调看板与快照对比。

安装前应阅读仓库源码与 MIT 许可证,并知悉插件在 DSH Host 进程权限下会:只读分析所选目录(Git 模式会 clone 到用户选定工作空间);调用本机 git 读取分支与提交;写入 ~/.dsh/arcvista/ 与项目 .arcvista/;通过 DSH llm 调用默认模型;注册 /arcvista 路由。不包含会修改 DSH 核心的 install 生命周期脚本。

社区目录页 skillhub.cn/plugins/yonking305/arc-vista 与 GitHub 仓库相互独立索引;DSH 生态是「一切皆插件」,该目录站点与 DeepSeek / 幻方无官方从属关系。

结尾

ArcVista 把「系统长什么样、守护是否可追溯、业务如何组织、两次分析差在哪」收进 DSH 侧边栏的一台观测台,数据本地优先,模型与 Host 由 DSH 统一提供。进一步了解实现与打包方式,见 GitHub:yonking305/arc-vista 与上述 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜