总架构概览
全局分层图、核心数据流时序、目录结构、设计理念
如果你是第一次接触这个代码库,建议按以下顺序阅读:
main.tsx 启动到渲染 REPL 的全过程。| 章节 | 页面 | 概述 |
|---|---|---|
| 01 | 总架构概览 | 全局分层图、核心数据流时序、目录结构、设计理念 |
| 02 | 入口与启动流程 | main.tsx → setup.ts → replLauncher.tsx 完整启动链路 |
| 03 | 状态管理 | AppState Store、Tool 上下文、子代理状态隔离 |
| 04 | REPL 与 Query 循环 | REPL 主屏、query 生成器、流式对话、错误恢复 |
| 05 | Agent Loop 实现详解 | queryLoop 状态机、单次迭代生命周期、流式工具执行、所有 continue/return 路径 |
| 06 | Tool 系统 | 30+ 内置工具、并发执行器、权限链、MCP 代理 |
| 07 | 服务层 | API 调用、MCP、LSP、Compact 压缩、Analytics |
| 08 | 权限与安全 | 四层权限检查、四方竞速决策、沙箱、Hooks |
| 09 | Agent / Swarm / Task | 子代理分叉、Teammate 协作、后台任务生命周期 |
| 10 | 命令系统 | 90+ 斜杠命令的注册、路由、执行机制 |
| 11 | TUI 渲染引擎 | 自研终端 React 框架:Yoga 布局、渲染管线、事件系统 |
| 12 | Bridge / Remote | IDE 集成、远程会话、传输层 |
| 13 | 扩展机制 | Skills / Plugins / Hooks / MCP 四大扩展点,以及 Vim、快捷键、Memory、Voice 等 |
| 层面 | 技术 | 说明 |
|---|---|---|
| Runtime | Bun | TypeScript 执行环境,利用 bun:bundle feature flags 做编译期死代码消除 |
| UI | 自研 Ink | 基于 React Reconciler + Yoga Flexbox 的终端渲染引擎 |
| API | Anthropic SDK | Claude Messages API (Beta),streaming SSE |
| 协议 | MCP / LSP | 外部工具/代码智能扩展 |
| CLI | Commander.js | 命令行参数解析 |
| 状态 | 自研 Store | 轻量级 Pub/Sub 响应式容器,无第三方依赖 |
| 安全 | Sandbox + Hooks | macOS sandbox-exec + 用户可配置 Shell 钩子 |