SuperAPI AI 工具集

software-architecture-analysis

编程与开发

查看项目

更新于 10-16 09:25

技能介绍

用途

本技能用于对现有软件代码库进行逆向工程,理解其架构、数据流、隐私姿态与功能面,然后产出一份干净室(clean-room)设计文档。

适用场景:

  • 存在参考实现,需要理解其架构以获取设计灵感
  • 需要为同一问题领域的系统编写 PRD、设计文档或规格说明
  • 输出必须是干净室的:不得复制参考代码库的任何源代码样本
  • 正在设计一个架构约束(本地优先、隐私优先、自托管)与参考不同的系统
  • 需要提取隐式契约——代码库执行的存储操作——以设计正式的提供者抽象

不适用场景:直接代码审查、缺陷排查或安全审计(应使用专门的调试技能);简单的工具或库评估(应使用 spike)。

主要能力

工作流分为七个阶段:

  1. 仓库克隆与结构映射:使用浅克隆获取目标仓库,映射顶层目录结构,识别每个目录的语言/框架、属于前端/后端/服务/固件/支持、以及是核心组件还是支持性组件。

  2. 识别关键架构文件:按行数排序找出最重的文件(承载核心逻辑),优先阅读入口点、数据模型、核心服务、UI/页面文件、配置、隐私敏感文件,共 15-25 个。

  3. 架构映射:对每个核心服务识别其捕获内容、处理位置(本地/云端)、存储位置、外部依赖、隐私画像。使用 Mermaid 语法构建图表,用子图表示云/本地边界。

3b. 接口提取模式(DAO/提供者契约设计):当目标是提取隐式契约(代码库需要数据库或存储层提供哪些操作)时,按五步执行:先阅读 PHILOSOPHY.md、DESIGN.md 等设计约束文档;编目每个存储操作(节点 CRUD、边 CRUD、向量 KNN、图遍历、维护、事务);识别因底层限制而产生的变通方案(双写、维度不匹配回退、全表加载、递归 CTE、try/except 快慢路径切换等);从编目设计抽象接口;用双提供者证明验证抽象。

  1. 功能面盘点:通过阅读 UI 视图、页面和引导屏幕,按类别映射每个面向用户的功能:捕获、处理、AI、存储、集成、插件。

  2. 干净室规格撰写:最关键阶段。输出文档必须在不引用或复制源代码的情况下描述架构模式,用自然语言描述组件交互,按架构层而非行号或变量名引用原代码库,绝不包含源代码片段。结构包括:产品愿景与设计原则、架构概览(Mermaid 图)、功能需求(编号)、非功能需求、技术架构、插件/扩展 API 规格、隐私架构细节、发布标准。

  3. 打破约束:在新设计约束下重新构想系统时,识别参考架构中每个强制云依赖,找出本地替代方案,为同时支持本地和云端的接口指定开放标准,将隐私侵入性模式标记为禁止机制。

  4. 交付后 QA:验证链接完整性、图表渲染(确认无 ASCII 制表符残留)、代码污染检查、交叉引用审计。

使用方式

该技能以工作流形式执行,从浅克隆目标仓库开始:

git clone --depth=1 https://github.com/owner/repo /tmp/target-repo

随后按阶段推进:映射结构、识别关键文件、绘制架构图、盘点功能、撰写规格、重新设计约束、执行 QA。所有图表必须使用 ```mermaid 代码块,禁止 ASCII 方框绘图和图片文件。

适用场景

  • 需要理解参考实现架构以获取设计灵感
  • 为同领域系统编写 PRD 或设计规格
  • 在本地优先、隐私优先、自托管等新约束下重新设计系统
  • 提取存储层隐式契约以设计提供者抽象

限制

  • 不适用于直接代码审查、缺陷排查或安全审计
  • 不适用于简单的工具或库评估
  • 输出文档不得包含参考代码库的任何源代码片段
  • 若输出包含可识别的参考代码模式,必须提升抽象层级重写
  • 参考资料中提及的 references/interface-extraction-pattern.md 为完整示例,基于 cashew 思维图库(MIT,GitHub 公开)