前言¶
在 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 插件使用時,流程可以概括爲:
- 安裝插件並重啓 DSH Web,從左側進入 ArcVista 觀界(或瀏覽器訪問 DSH 下的
/arcvista)。 - 新建項目:填寫本地目錄絕對路徑、選擇已登記的 DSH 工作區,或使用文件夾選擇器;也可填寫 Git 地址(或批量 Git,每行一個)並選擇工作空間,插件會先 clone 再分析當前工作區,不切換分支。
- 等待分析完成,在架構圖、安全守護、知識圖譜、複雜度與覆蓋等頁簽下鑽查看;需要對比時在快照對比中選擇兩個快照。
- 對當前工作區重新分析會生成新的不可變快照,保存在
<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 目錄頁。