重新设计 Anthropic 的源代码管理(中文翻译)HTML
Anthropic 自研版本控制系统 Scion,五个月内把巨型 monorepo 从 git 完全迁移过来,支撑每天 3 万+ 次代码合并,并分享面向智能体规模的源代码管理原则、扩展架构与工程收获。
Anthropic 自研版本控制系统 Scion,五个月内把巨型 monorepo 从 git 完全迁移过来,支撑每天 3 万+ 次代码合并,并分享面向智能体规模的源代码管理原则、扩展架构与工程收获。
项目总览
Kilo Code 是一个功能强大的开源 AI 编码助手,基于 OpenCode 框架开发。项目采用 Monorepo 架构,使用 Turborepo 和 Bun Workspaces 管理多个包。
核心数据
| 指标 | 数值 |
|---|---|
| Monorepo 包数量 | 23 |
| TypeScript 文件数 | 5800+ |
| 支持的 AI 模型 | 500+ |
| 内置工具数量 | 50+ |
| UI 组件数(kilo-ui) | 65+ |
| 国际化语言 | 19 种 |
| 开源协议 | MIT |
核心特性
Monorepo 依赖架构
Kilo Code 采用 Turborepo + Bun Workspaces 分层架构,23 个包协同工作。
架构分层
Pi 是一个模块化的 AI 编码智能体 Monorepo,使用 TypeScript 构建。它提供统一的 LLM 抽象层、通用的智能体运行时、丰富的终端 UI 框架,以及完全可扩展的编码智能体命令行工具。
1. 项目概览
Pi(@earendil-works/pi-mono)是由 Mario Zechner 开发的 AI 编码智能体 Monorepo,设计理念是模块化、可扩展、供应商无关。它将多个 LLM 供应商的复杂性抽象为统一 API,提供强大的智能体运行时和工具执行能力,并附带生产就绪的终端 UI。
核心能力
| 能力 | 说明 |
|---|---|
| 统一 LLM API | 9 种 API 协议和 30+ 供应商品牌的单一接口。只需修改一个字符串即可切换供应商。 |
| 智能体运行时 | 完整的智能体循环,支持并行工具执行、消息注入队列和上下文压缩。 |
| 丰富的终端 UI | 独立的终端 UI 框架,支持差异化渲染、文本编辑器、图片显示和浮层系统。 |
| 扩展系统 | 80+ 扩展示例、20+ 生命周期钩子。可注册工具、命令、快捷键和供应商。 |
| Web 组件 | 基于 Lit 的聊天 UI,支持沙箱化 Artifact 渲染(HTML、SVG、PDF、DOCX 等)。 |
| 多运行模式 | 交互式终端、管道友好的打印模式,以及用于 IDE 集成的 JSONL RPC 模式。 |
包依赖关系图
graph TD
subgraph "第一层:基础层"
ai["<b>pi-ai</b><br/>统一 LLM API<br/>30+ 供应商"]
end
subgraph "第二层:运行时层"
agent["<b>pi-agent-core</b><br/>智能体运行时<br/>工具执行"]
end
subgraph "第三层:UI 层"
tui["<b>pi-tui</b><br/>终端 UI 框架<br/>零依赖"]
end
subgraph "第四层:应用层"
coding["<b>pi-coding-agent</b><br/>编码智能体 CLI<br/>扩展与工具"]
webui["<b>pi-web-ui</b><br/>Web UI 组件<br/>Lit + Tailwind"]
end
ai --> agent
agent --> coding
tui --> coding
ai --> webui
tui --> webui
style ai fill:#1f6feb,stroke:#388bfd,color:#fff
style agent fill:#238636,stroke:#3fb950,color:#fff
style tui fill:#8957e5,stroke:#bc8cff,color:#fff
style coding fill:#da3633,stroke:#f85149,color:#fff
style webui fill:#e3b341,stroke:#d29922,color:#fff
图 1: Pi monorepo 包依赖关系图 — 4 层架构,5 个包
本文档围绕着初学者如何分析并开发一个类似 Gemini CLI 的项目提供了详尽的指南。核心思想是将复杂的项目分解为可管理的部分,并提供分步学习路径。指南强调了理解项目架构(如前端CLI和后端Core的职责)、熟悉代码结构、掌握核心功能(如API交互和工具系统)、以及通过实践进行学习的重要性。通过阅读文档、运行和调试代码、并尝试进行小修改,学习者能够逐步掌握此类项目的开发技能。在 VSCode 中,使用 GitHub Copilot 的 Ask 模式分别对大模型(如 GPT-4.1、GPT-4o、Gemini 2.5 Pro 和 Claude Sonnet 系列)进行提问并总结。
问题
#codebase 我作为初学者,如何开始分析这个项目,以达到学习的目的,可以手动开发这种类型的项目。
下面是不同大模型给出的回答:
GPT-4.1
作为初学者,分析并学习 Gemini CLI 这样的大型项目,可以按照以下步骤进行,帮助你理解架构、掌握开发流程,并为将来手动开发类似项目打下基础:
1. 阅读架构文档,理解整体结构
你可以从 architecture.md 开始,重点关注以下内容:
没有找到匹配的文章