首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Claude Code 核心架构参考

Claude Code 核心架构参考

原创
作者头像
今天减肥了吗
修改2026-04-01 13:52:59
修改2026-04-01 13:52:59
5900
举报

美国东部时间2026年3月31日凌晨4点23分,安全研究者Chaofan Shou在 X 发布推文, 发现 Anthropic 发布到 npm 的 Claude Code 包中,官方没有删除source map 文件, 这意味着 Claude Code 的完整 TypeScript 源码全部泄露, 包含 1902 个源文件以及 513,237 行代码.

博客原文

重构过的代码


一、 系统分层导航 (System Layers)

通过分层解耦,Claude Code 实现了从底层系统调用到高层 Agent 编排的闭环:

层级

关键组件与技术

职责定义

01 用户层

终端 TTY / IDE 扩展 (VS Code, JetBrains)

处理人类输入、Deep Link 远程唤醒与语音指令

02 界面层

Ink 渲染器 / Commander.js / REPL

实现终端内的 React 组件化布局与斜杠命令解析

03 核心引擎

QueryEngine / 权限系统 / 记忆 (memdir)

驱动 LLM 循环、Token 计费与跨会话事实提取

04 工具层

BashTool / GrepTool / AgentTool / MCPTool

执行 Shell、代码搜索、派生子智能体与外部协议

05 服务层

Anthropic API / OAuth 2.0 / 遥测 (OTEL)

提供模型请求、身份认证与全局链路追踪

06 外部层

Claude API / MCP 外部服务器 / OS Shell

最终的模型推理输出与物理文件系统操作


二、 核心子系统深度解析

1. 枢纽:QueryEngine (查询引擎)

  • 文件路径: src/QueryEngine.ts (约 4.6 万行)
  • 运行逻辑: 管理流式 API 调用、工具分发循环、自动重试以及上下文窗口压缩。
  • 技术特性: 深度整合 Token 计数器与思考模式 (Thinking Mode) 逻辑。

2. 交互:REPL + Ink 渲染器

  • UI 方案: 使用 Yoga 布局引擎将 React 组件树映射到终端字符格。
  • 渲染优化: 采用基于差异的补丁渲染 (Patch Rendering),极大降低了终端刷新的闪烁感。

3. 安全:权限拦截系统

  • 模式对照表:
    • 🟢 Default: 写入与网络请求需用户确认,读取自动批准。
    • 🟡 Plan (只读): 强制禁止所有写入和 Shell 操作,仅用于探索。
    • 🔴 Bypass: 自动化环境使用,全工具自动批准。
    • 🔵 Auto: 基于风险评分和信任上下文自动决策。

三、 标准请求流 (Data Flow)

每一次对话在系统内部的流转路径如下:

  1. [输入端]: 获取用户按键或 -p 打印模式指令。
  2. [构建端]: 整合 CLAUDE.md 规范、工具定义及对话历史记录。
  3. [推理端]: QueryEngine 发起流式请求,解析模型输出的工具调用指令。
  4. [执行端]: 工具分发器检查权限,调用 ripgrep (搜索) 或 Bash (执行)。
  5. [反馈端]: 将执行结果回传模型,若有递归调用则重入引擎。
  6. [输出端]: Ink 渲染最终 Markdown,同步更新费用追踪并提取记忆。

四、 自动化工具库 (Tool Registry)

系统内置约 40 个原生工具,均为 Zod 强类型驱动:

  • 基础工具: BashTool (Shell)、FileEditTool (修改)、GrepTool (极速搜索)。
  • 协作工具: AgentTool (派生子智能体)、TeamCreateTool (并行团队编排)。
  • 高级协议: MCPTool (外部服务器接入)、LSPTool (代码语法诊断)。
  • 模式控制: EnterPlanModeTool (只读切换)、EnterWorktreeTool (Git 隔离)。

五、 启动时序与性能优化

为了抵消 Bun 加载重型模块的延迟,系统采用了极致的并行策略:

  • T1 (并行阶段): 在导入核心模块时,同步触发 macOS Keychain 预取与 API 预连接。
  • T2 (解析阶段): Commander.js 确定会话类型,GrowthBook 加载功能开关。
  • T3 (挂载阶段): 激活终端备用屏幕,渲染信任对话框或新手引导。
  • T4 (启动阶段): 建立 MCP 连接,加载 CLAUDE.md 并渲染 REPL。

六、 核心技术栈总结 (Tech Stack)

类别

选用技术

核心优势

Runtime

Bun

极速启动,原生支持 bun:bundle 编译期死代码消除

Logic

TypeScript

50 万行规模下的端到端类型安全与架构稳定性

Terminal

Ink (React)

将 Web 开发的组件化范式引入终端界面开发

Validation

Zod v4

运行时 Schema 校验,自动为模型生成函数调用接口

Protocols

MCP + LSP

兼容行业标准,支持动态扩展上下文服务器

Auth

OAuth 2.0 / JWT

基于 Keychain 的安全令牌管理与 IPC 通信认证


本文基于 Claude Code 源码快照 (2026-03-31) 进行工程化整理。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 系统分层导航 (System Layers)
  • 二、 核心子系统深度解析
    • 1. 枢纽:QueryEngine (查询引擎)
    • 2. 交互:REPL + Ink 渲染器
    • 3. 安全:权限拦截系统
  • 三、 标准请求流 (Data Flow)
  • 四、 自动化工具库 (Tool Registry)
  • 五、 启动时序与性能优化
  • 六、 核心技术栈总结 (Tech Stack)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档