key files

本文档列出 Claude Code 源码中的关键文件及其作用。

核心文件

src/main.tsx

主入口文件,负责:

  • CLI 参数解析

  • 应用初始化

  • React TUI 启动

src/query.ts

Query Loop 实现,核心执行引擎:

  • 异步生成器

  • 流式 AI 响应

  • 工具调用协调

src/QueryEngine.ts

Query Engine 类,封装查询逻辑:

  • 消息管理

  • 工具执行

  • 错误处理

src/Tool.ts

工具接口定义:

  • Tool 接口

  • ToolContext 类型

  • ToolResult 类型

src/Task.ts

Spec 任务系统:

  • 任务定义

  • 任务状态管理

  • 任务执行

状态管理

src/state/store.ts

极简状态管理器(30 行):

  • AppStateStore 类

  • 订阅/通知机制

  • 不可变更新

src/state/AppStateStore.ts

状态类型定义:

  • AppState 接口

  • 状态结构

  • 类型定义

工具实现

src/tools/FileEditTool/FileEditTool.ts

文件编辑工具:

  • search-and-replace 机制

  • 引号归一化

  • Staleness check

  • LSP 通知

src/tools/BashTool/BashTool.tsx

Shell 执行工具:

  • 命令执行

  • 权限检查

  • 平台适配

  • 后台进程管理

src/tools/BashTool/bashPermissions.ts

Bash 权限检查(2600+ 行):

  • 命令分类

  • 黑名单/白名单

  • 危险模式检测

  • 权限决策

src/tools/AgentTool/AgentTool.tsx

子 Agent 调用工具:

  • 同步/异步执行

  • Worktree 管理

  • 上下文传递

src/tools/ReadCodeTool/ReadCodeTool.ts

代码阅读工具:

  • AST 解析

  • 符号搜索

  • 智能裁剪

服务层

src/services/compact/autoCompact.ts

自动压缩服务:

  • Token 预算管理

  • 压缩策略选择

  • 压缩执行

src/services/compact/microcompact.ts

Microcompact 实现:

  • 工具历史压缩

  • 思考过程移除

src/services/compact/contextCollapse.ts

Context Collapse 实现:

  • 对话折叠

  • 摘要生成

src/services/tools/StreamingToolExecutor.ts

流式工具执行器:

  • 并发控制

  • 进度反馈

  • 错误处理

src/services/permissions/PermissionChecker.ts

权限检查服务:

  • 权限模式

  • 规则检查

  • 分类器集成

src/services/mcp/MCPClient.ts

MCP 客户端实现:

  • 服务器连接

  • 工具发现

  • 工具调用

Bridge 系统

src/bridge/bridgeMain.ts

Bridge 主逻辑:

  • WebSocket 服务器

  • 消息路由

  • 状态同步

src/bridge/bridgeMessaging.ts

Bridge 消息处理:

  • 消息序列化

  • 消息反序列化

  • 消息验证

src/bridge/trustedDevice.ts

设备信任管理:

  • JWT 认证

  • 设备列表

  • 信任验证

命令系统

src/commands.ts

命令注册和路由:

  • 命令定义

  • 参数解析

  • 命令执行

src/entrypoints/cli.tsx

CLI 入口:

  • 命令行解析

  • 启动流程

  • 错误处理

配置和常量

src/constants/prompts.ts

System Prompt 定义:

  • 静态 Prompt

  • 动态 Prompt 构建

  • 缓存边界

src/config/featureFlags.ts

Feature Flags:

  • 实验性功能开关

  • 版本控制

UI 组件

src/components/ChatView.tsx

聊天视图组件:

  • 消息显示

  • 输入处理

  • 状态展示

src/components/ToolExecutionView.tsx

工具执行视图:

  • 进度显示

  • 结果展示

  • 错误提示

下一步

  • 查看 目录结构 的完整列表

  • 参考 术语表 理解概念

  • 浏览 参考资源 获取更多信息