核心引擎概览
核心引擎层是 Claude Code 最关键的中枢,由 src/ 根目录下的多个核心文件构成,负责工具抽象、AI 查询循环、命令路由、状态管理、权限安全和提示词构建。
核心文件清单
| 文件 | 行数 | 核心职责 |
|---|---|---|
Tool.ts | ~792 | 工具基础接口定义(~55 成员) |
tools.ts | ~388 | 工具注册表、工具池构建 |
QueryEngine.ts | ~1000+ | 查询引擎类,会话生命周期管理 |
query.ts | ~1200+ | queryLoop — 核心查询循环 |
commands.ts | ~754 | ~73 个基础命令导入、路由、过滤 |
context.ts | ~300 | 系统上下文构建(Git + CLAUDE.md) |
history.ts | ~200 | 历史记录异步读写 |
cost-tracker.ts | ~150 | 实时成本追踪 |
costHook.ts | ~100 | 成本相关 React Hook |
setup.ts | ~200 | 首次运行引导 |
main.tsx | ~1300 | Commander.js + 启动逻辑 |
Task.ts | ~100 | 任务接口定义 |
tasks.ts | ~200 | 任务注册/管理 |
ink.ts | ~50 | Ink 引擎导出桥接 |
projectOnboardingState.ts | ~80 | 项目首次使用状态 |
核心模块交互图
┌──────────────┐
│ commands.ts │ ← 70+ 斜杠命令
│ 命令路由器 │
└───────┬──────┘
│
┌──────────────────▼──────────────────┐
│ QueryEngine.ts │
│ submitMessage() → 异步生成器 │
│ 管理: messages, usage, fileState │
└──────────────────┬──────────────────┘
│
┌──────────────────▼──────────────────┐
│ query.ts │
│ queryLoop() — 12 步无限循环 │
│ 预算 → 压缩 → API → 工具 → 恢复 │
└──┬───────────────┬──────────────┬───┘
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌─────▼──────┐
│ Tool.ts │ │ context.ts │ │ history.ts │
│ 工具接口 │ │ 上下文构建 │ │ 历史记录 │
└──────┬──────┘ └─────────────┘ └────────────┘
│
┌──────▼──────┐
│ tools.ts │
│ 工具注册表 │ ← 23 直接导入 + 11 懒加载 + feature-gated
└─────────────┘本章内容导航
| 文档 | 核心内容 |
|---|---|
| 工具系统 | Tool 接口 ~55 成员详解、ToolUseContext、buildTool 工厂、工具注册与过滤 |
| 查询引擎 | QueryEngine 类、queryLoop 管线、Token 预算、错误恢复 |
| 命令路由 | 3 种命令类型、~73 命令导入、过滤系统、技能集成 |
| 状态管理 | AppState 80+ 字段、Store 模式、DeepImmutable、SpeculationState |
| 上下文系统 | Git 上下文、CLAUDE.md 记忆、系统提示词组合 |
| 历史记录 | 异步生成器读取、粘贴内容管理、去重 |
| 成本追踪 | 实时成本计算、多模型定价、会话累计 |
| 权限安全 | 7 种权限模式、权限规则、YOLO 分类器 |
| 提示词系统 | ~1000 行系统提示词、静态/动态分区、Section 注册 |