SuperAPI AI 工具集

architecture_viewer

Architecture Viewer 是一个本地架构门(architecture gate),面向 AI 编程会话:在 AI 改完代码后,对比 git HEAD 分析本轮结构变化,检测跨层依赖违规、类型删除、新增外部依赖等结构风险,并以 CLI、MCP、网页、PR 评论四种方式给出结论,供工程师人工确认后再提交。项目免费开源(Apache-2.0),零配置、不依赖 LLM,支持 JavaScript/TypeScript(含 Vue、Svelte)、Python、Go、Java,需 Node.js ≥ 18。当前为试点候选版 0.12.2-rc.7,定位是增量架构验收门,不替代测试、类型检查、安全审查或人工 Code Review,也不做全量架构治理与 AI 泛审查。

访问官网

工具介绍

定位与用途

Architecture Viewer 是 AI 改码后的增量架构验收门,不是全量架构治理平台。它解决的问题是:AI 编码会话一次改动几十个文件,合入前难以说清架构到底变了什么——删了哪个被广泛依赖的类型、有没有跨层调用、新引入了哪些第三方包、谁会被波及。它在会话结束时给出 Before/After 架构对比和风险分级,关键结论需对照源码核实。

它不判断业务逻辑正确性,不替代测试、类型检查、安全审查或人工 Code Review;不做全量架构治理(需要组织级架构看板、Git 历史热点、多仓聚合时建议看 Sonargraph / CodeScene);不做 AI 泛审查——不审查代码风格、性能、安全漏洞,只做可复核的结构事实:本轮改了哪些实体、有没有跨层违规、波及谁。

主要能力

  • 风险发现(lib/risk-rules.js):跨层依赖违规、层级穿透(controller 直连 storage)、类型删除(按下游数量升降级)、新增外部依赖、高扇出变更、孤儿新实体。
  • 影响面分析(lib/impact.js):从被改实体出发,沿 import/extends/implements/calls 等 wiring 边反向 BFS(base 与 head 反向边取并集,穿透被改实体集群),报告集群边界之外的直接/间接受害者。归属关系边(declared-in)不参与。
  • 跨层违规检测依赖“每个文件属于哪一层”。0.9 起分层由四个信号交叉推断,不需要手写配置:.av/layers.json 用户配置(最高优先);import 框架语义(如 sqlalchemy/gorm/JpaRepository → storage,flask/express/gin/@RestController → controller,@Entity → domain 等);目录名/文件名约定(services/、*Controller.java、data_collection/ 等);结构位置兜底(被很多模块依赖且自己不依赖别人 → domain,只出不进 → controller)。每次 session report / extract 后,推断结果写入 .av/layers.suggested.json(按目录聚合,含置信度和判定依据;import 信号与目录名冲突的文件会单列)。审阅没问题就不用管;想锁定或纠正,复制为 .av/layers.json 即可——它永远优先、不会被覆盖。实测 246 文件的 Python 爬虫仓分层覆盖率从 57% 提升到 92%。

使用方式

一键接入 AI 工具(推荐 · Cursor / Claude / DeepSeek)

自动检测已安装的 AI 编程工具(Cursor、Claude、DeepSeek Harness),写入 MCP。之后对 AI 说“改完用架构门检查一下”即可。Agent 应调用 av_guard;对话里回最多 3 行 verdict。有 git 时对照 HEAD,commit 即接受当前结构。不必先拍照、不必默认打开 HTML。升级:先 uninstall(需要时 --npm),再装新版本后 setup / setup . --project。

CLI 结构门(脚本 / CI / 无 MCP)

日常不必 session start。无 git 的仓,av_guard / session guard 会自动补快照。完整 Before/After HTML(.av/session-report.html)是可选深挖。高风险时退出码为 1。session report / check / diff 共用退出码:0 通过 · 1 架构门未通过 · 2 参数配置错 · 3 扫描解析失败 · 4 基线不存在或失效。

PR 自动评论(GitHub Actions)

每个 PR 自动贴一条架构影响面评论;同一 PR 重复 push 只更新原评论,不刷屏。评论内容包括:变更计数表、新增/移除第三方依赖清单、🔴🟠 风险发现、影响面 Top N(反向依赖)。本仓 dogfood 工作流见 .github/workflows/architecture-diff.yml。

Quick Start(30 秒):装一次,之后只说话。然后对 AI 说:“改完用架构门检查一下”。把对话里的 verdict(最多 3 行)当验收:绿灯 → git commit(即接受);红灯 → 先修或解释,可用 av_explain_finding。术语:基线 = 对照物(有 git 就是 HEAD);verdict = 对话里那几行灯;红灯 = 可能改坏了,绿灯 = 结构上没问题。

安装要求 Node.js ≥ 18。支持语言:JavaScript / TypeScript(含 Vue、Svelte)、Python、Go、Java(tree-sitter 解析,内置六平台 prebuild,安装无需编译)。接入请钉 arch-viewer@0.12.2-rc.7 或 @next,不要与工作区源码或 latest 混用。

CI 漂移门

新模块 / 服务 / 入口没画进六视图时 CI 失败,坏图进不了主干(粒度是目录与部署单元,不是每一个新文件;文件级变化看 session report)。相关工作流:漂移红灯 .github/workflows/architecture-check.yml;漂移 + 规范 + PR 评论 .github/workflows/architecture-drift.yml(Gitee 等价见 .gitee/workflows/)。规则写法见 architecture-rules.example.yaml:复制为仓库根或套件目录的 architecture-rules.yaml 即可;check 未传 --rules 时会自动读取该文件。

本地版交付边界

本轮结构变更报告、可定位源码的结构总览,以及人工核实的风险提示。六视图降为兼容功能,不再是默认交付或卖点。绿灯不保证没有漏报;分析不完整不是通过。支持范围、离线模式与已知局限见随包交付的“首发交付范围”。AI 精修、扩展、多仓和 SaaS 不在首发质量承诺内。

适用场景

  • AI 编程会话结束后的结构验收:改完代码后检查结构变化与风险提示,由工程师确认后提交。
  • PR 阶段的架构影响面提示:在 GitHub PR 中自动评论变更计数、依赖变化与风险发现。
  • CI 中的架构漂移拦截:新模块 / 服务 / 入口未纳入结构视图时失败。

限制与说明

  • 不判断业务逻辑正确性,不替代测试、类型检查、安全审查或人工 Code Review。
  • 不做全量架构治理,不做 AI 泛审查。
  • 绿灯不保证没有漏报;分析不完整不是通过。
  • 定位是本地试点候选,不是稳定商用版;AI 精修、扩展、多仓和 SaaS 不在首发质量承诺内。
  • 以下数字均为验证期定价,未经付费数据支撑(详见 COMMERCIAL.md)。
  • CLI 遥测默认关闭,企业友好。开启后仅记录:事件名(CLI 命令名)、耗时(毫秒)、退出码、CLI 版本、操作系统类型。不记录:文件路径、代码内容、仓库名/URL、用户邮箱。数据落本地 ~/.config/arch-viewer/telemetry.log(JSONL),可随时查看或删除。
  • 首次登录自动建档为 7 天 Pro 试用。token 存于 ~/.config/arch-viewer/auth.json(权限 0600),重启终端仍登录。generate / check / session / --refine(自带 Key)属 Community,永不要求登录。

其他

  • 落地页:本地 npm run web → http://127.0.0.1:3847/ ;部署见 docs/commercial/landing-deploy.md。
  • 成片:docs/demos/demo.mp4。文档总索引:docs/README.md。
  • 英文 README:README.en.md。
  • 新手入门:小白图文攻略;Quickstart。
  • 发布记录与源提交:docs/commercial/npm-publish.md。
  • 许可:Apache-2.0。