SuperAPI AI 工具集

senior-architect

编程与开发

查看项目

更新于 10-15 08:03

技能介绍

Senior Architect 提供架构设计与分析工具,用于辅助做出有依据的技术决策。

一、用途 该技能面向架构层面的设计与分析任务,包括生成系统架构图、评估微服务与单体的取舍、分析依赖关系,以及为数据库、架构模式等技术选型提供决策参考。

二、主要能力

  1. 架构图生成器(architecture_diagram_generator.py):从项目结构生成架构图,支持 component(模块及关系)、layer(表现层、业务层、数据层等分层)、deployment(部署拓扑)三类图,输出格式支持 Mermaid、PlantUML 与 ASCII,可用 -o 保存到文件。
  2. 依赖分析器(dependency_analyzer.py):分析依赖树(直接与传递依赖)、模块间循环依赖、耦合评分(0-100)以及过时包。支持的包管理器包括 npm/yarn(package.json)、Python(requirements.txt、pyproject.toml)、Go(go.mod)、Rust(Cargo.toml),输出支持人类可读报告或 JSON,可用 --check circular 单独检查循环依赖,--verbose 输出建议。
  3. 项目架构师(project_architect.py):分析项目结构,识别架构模式(MVC、分层、六边形、微服务迹象),发现代码组织问题(上帝类、关注点混杂)、层次违规以及缺失的架构组件,可用 --check layers 检查指定方面,--verbose 输出详细建议,--output json 输出 JSON。

三、使用方式 以命令行调用脚本,常用命令示例: python scripts/architecture_diagram_generator.py . --format mermaid python scripts/architecture_diagram_generator.py . --format plantuml python scripts/architecture_diagram_generator.py . --format ascii python scripts/dependency_analyzer.py . --verbose python scripts/dependency_analyzer.py . --check circular python scripts/dependency_analyzer.py . --output json python scripts/project_architect.py . --verbose python scripts/project_architect.py . --check layers python scripts/project_architect.py . --output json 任何脚本都可加 --help 查看用法。

四、决策工作流

  1. 数据库选择工作流:先识别数据特征(结构化且含关系、需要 ACID 事务、模式灵活可变、文档型、时序等指向 SQL 或 NoSQL),再评估规模(小于 100 万条记录单区域指向 PostgreSQL 或 MySQL;100 万至 1 亿条读多写少可用 PostgreSQL 读副本;1 亿条以上全球分布考虑 CockroachDB、Spanner 或 DynamoDB;写入吞吐超过 10K/秒考虑 Cassandra 或 ScyllaDB),再检查一致性要求(强一致选 SQL 或 CockroachDB,最终一致可选 DynamoDB、Cassandra、MongoDB),最后以 ADR(架构决策记录)记录上下文与需求、备选方案、决策与理由、接受的权衡。快速参考:PostgreSQL 为多数应用默认选择;MongoDB 为文档存储、模式灵活;Redis 用于缓存、会话与实时功能;DynamoDB 为无服务器、自动扩缩、AWS 原生;TimescaleDB 为面向时序数据的 SQL 接口。
  2. 架构模式选择工作流:先评估团队与项目规模(1-3 名开发者建议模块化单体;4-10 名可模块化单体或面向服务;10 名以上可考虑微服务),再评估部署要求(可接受单一部署单元选单体;需要独立扩缩选微服务;混合情况选混合方案),再考虑数据边界(可共享数据库选单体或模块化单体;要求严格数据隔离选各服务独立数据库的微服务;事件驱动通信合适选事件溯源/CQRS),最后按需求匹配模式:快速 MVP 选模块化单体,独立团队部署选微服务,复杂领域逻辑选领域驱动设计,读写比例差异大选 CQRS,需要审计追踪选事件溯源,第三方集成选六边形/端口与适配器。
  3. 单体与微服务决策:团队小(少于 10 名开发者)、领域边界不清晰、优先快速迭代、需要最小化运维复杂度、可接受共享数据库时选择单体;团队能端到端负责服务、独立部署至关重要、各组件扩缩需求不同、需要技术多样性、领域边界清晰时选择微服务。混合方案建议从模块化单体起步,仅在模块扩缩需求显著不同、团队需要独立部署或技术约束要求分离时再抽取服务。

五、参考文档 references/architecture_patterns.md 包含 9 种架构模式及其权衡、代码示例与适用场景;references/system_design_workflows.md 包含 6 个系统设计的分步工作流;references/tech_decision_guide.md 包含技术选择的决策矩阵。

六、技术栈覆盖 语言包括 TypeScript、JavaScript、Python、Go、Swift、Kotlin、Rust;前端包括 React、Next.js、Vue、Angular、React Native、Flutter;后端包括 Node.js、Express、FastAPI、Go、GraphQL、REST;数据库包括 PostgreSQL、MySQL、MongoDB、Redis、DynamoDB、Cassandra;基础设施包括 Docker、Kubernetes、Terraform、AWS、GCP、Azure;CI/CD 包括 GitHub Actions、GitLab CI、CircleCI、Jenkins。

七、限制 资料未提供收费、价格、平台支持、运行环境要求、脚本依赖前置条件或效果保障等信息,暂未提供。