AI 驱动的发现
Archyl 的 AI 发现功能分析您的代码库,自动发现和记录您的软件架构。这节省了大量手动文档工作,并确保架构文档与实际代码保持同步。
工作原理
1. 连接您的仓库
首先,将您的 Git 仓库连接到 Archyl:
- 前往项目设置
- 点击"连接仓库"
- 选择您的 Git 提供商(GitHub、GitLab、Bitbucket 等)
- 授权 Archyl 访问您的仓库
2. 开始发现
连接后,启动 AI 发现:
- 在项目中点击"开始发现"
- 选择要分析的分支或路径
- 配置发现设置(可选)
- 点击"运行发现"
3. AI 分析
AI 分析您的代码库以识别:
- 项目结构:框架、语言、构建系统
- 服务:微服务、API、后台工作进程
- 数据存储:数据库、缓存、文件存储
- 外部集成:第三方 API、SaaS 服务
- 组件:模块、包、关键类
- 关系:组件之间如何通信
4. 审查与批准
发现的内容会以"待处理"状态等待审查:
- 审查每个发现的元素
- 编辑名称、描述或关系
- 批准准确的发现
- 拒绝或修改不正确的发现
支持的技术
AI 发现最适合以下技术:
编程语言
- JavaScript/TypeScript
- Python
- Go
- Java
- C#
- Ruby
- PHP
- Rust
框架
- React、Next.js、Vue、Angular
- Express、Fastify、NestJS
- Django、Flask、FastAPI
- Spring Boot
- ASP.NET Core
- Ruby on Rails
基础设施
- Docker/Kubernetes
- Terraform
- AWS CDK
- 云配置文件
增量发现
增量发现通过仅分析变更的文件来保持 C4 模型的最新状态——而不是整个仓库。这更快、成本更低,并且可以在每次推送时自动运行。
工作原理
- 代码被推送到默认分支
- Archyl 接收推送事件(通过 Webhook 或 GitHub Action)
- 从提交中提取变更的文件
- 仅分析源文件(删除的文件被跳过)
- AI 在较小的文件集上运行
- 新元素作为待处理的发现被创建
- 现有元素自动去重
启用增量发现
有两种方式启用增量发现:
- GitHub Webhook — 在项目的 Webhook 设置中启用 Discovery on Push
- GitHub Action (CI/CD) — 将 Archyl Incremental Discovery Action 添加到您的工作流中。完整说明请参阅 GitHub Actions 集成。
name: Architecture Sync
on:
push:
branches: [main]
jobs:
discovery:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: archyl/archyl/.github/actions/incremental-discovery@main
with:
api-key: ${{ secrets.ARCHYL_API_KEY }}
project-id: ${{ vars.ARCHYL_PROJECT_ID }}
完整发现 vs 增量发现
| 完整发现 | 增量发现 | |
|---|---|---|
| 范围 | 整个仓库 | 仅变更的文件 |
| 触发方式 | 手动(UI/API) | 自动(Webhook 或 GitHub Action) |
| 速度 | 分钟级(取决于仓库大小) | 秒到分钟 |
| AI 成本 | 较高(分析所有文件) | 较低(仅分析差异) |
| 使用场景 | 初始设置、重大重构 | 日常代码变更 |
最佳实践
从小处开始
对于大型代码库:
- 从单个服务或模块开始
- 审查并完善结果
- 逐步扩展到其他区域
定期更新
保持文档的时效性:
- 在重大变更后运行发现
- 在待处理中审查新的发现
- 根据需要更新现有元素
结合手动操作
AI 发现是一个起点:
- 使用 AI 完成繁重的工作
- 手动添加业务上下文
- 完善关系和描述
故障排除
发现耗时过长
- 降低并发设置
- 排除大型目录(node_modules、vendor)
- 聚焦特定路径
结果不准确
- 边使用边审查和纠正
- AI 会从您的纠正中学习
- 代码注释中的更多上下文有帮助