乐于分享
好东西不私藏

Claude Code 源码意外曝光,拿开源 Blade 做了一次全面对比

本文最后更新于2026-03-31,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

Claude Code 源码意外曝光,拿开源 Blade 做了一次全面对比

分析日期: 2026-03-31
01
一、项目概览
维度
Claude Code

 (@anthropic-ai/claude-code)
Blade

 (blade-code)
定位
Anthropic 官方 AI 编程 CLI
开源 AI 编程助手 (CLI + Web UI)
作者
Anthropic PBC
echoVic (个人开发者)
版本
v2.1.88
v0.2.9
许可证
专有 (All rights reserved)
MIT 开源
安装 npm i -g @anthropic-ai/claude-code npm i -g blade-code
入口命令 claude blade

 / blade web / blade serve
仓库
闭源 (npm 发布)
github.com/echoVic/blade-code

关键发现package 3 目录中的 src/ 和 vendor/ 是通过 source map 逆向还原的 (2026-03-31),非 Anthropic 原始分发内容。实际 npm 包仅包含 cli.jscli.js.mapsdk-tools.d.ts 等文件。

02
二、技术栈对比
维度
Claude Code Blade
语言
TypeScript
TypeScript (strict mode)
运行时
Bun (构建) / Node >= 18
Bun (开发) / Node >= 20
包管理器
Bun
pnpm
CLI 框架
Commander.js
yargs
终端 UI
React + 自研 Ink (完全重写,含 Yoga 布局引擎)
React 19 + Ink (社区 fork @jrichman/ink)
Web UI
无 (仅终端)
Vite + React 19 + Tailwind CSS + Radix UI + Monaco Editor + xterm.js
AI SDK
自研 @anthropic-ai/sdk
Vercel AI SDK + 7 个 provider 适配器
MCP 协议 @modelcontextprotocol/sdk @modelcontextprotocol/sdk
ACP 协议
@agentclientprotocol/sdk
状态管理
React 内部状态
Zustand 5
Schema 校验
Zod v4
Zod
搜索引擎
自带 ripgrep 二进制 (6 平台预编译)
@vscode/ripgrep
Linting
ESLint (自定义规则) + Biome
Biome 2.2
构建产物
Bun bundler → 单文件 cli.js (12MB)
自定义 Bun 构建脚本
Web 服务器
Hono
Token 计数
内置实现
js-tiktoken
03
三、代码规模
指标
Claude Code Blade 倍数
源文件数
~1,906 (从 source map 还原)
~464
4.1x
代码行数
~512,664 行
~107,790 行
4.7x
打包体积
12 MB (cli.js) + 57 MB (source map)
工具数量
43 个
20+ 个
~2x
斜杠命令
~86 个
21 个
4.1x
UI 组件文件
389 个
47 个 (Web UI)
8.3x
顶层模块目录
36 个
26 个
1.4x
最大单文件 cli/print.ts

 (5,594 行)
vscode/extension.ts

 (~12,684 行)
运行时依赖
0 (全部打包) + 9 optional
~40 production deps
Claude Code 的代码量约为 Blade 的 4.7 倍,工具和命令数量约为 2~4 倍
04
四、架构对比

Claude Code — 单体打包架构

cli.js (12MB 单文件, 零运行时依赖) ├── src/ (36 个顶层模块) │   ├── main.tsx          — 入口 (4,683 行, CLI 解析/初始化/REPL) │   ├── tools/            — 43 个工具实现 (184 文件) │   ├── ink/              — 自研终端渲染器 (~70 文件, 含 Yoga 布局引擎) │   ├── components/       — React UI 组件 (389 文件) │   ├── screens/          — 顶层屏幕 (REPL 5,005 行) │   ├── services/         — 后端服务 (API/MCP/OAuth/LSP/插件, 21 子目录) │   ├── utils/            — 工具模块 (32 子目录) │   ├── vim/              — Vim 模拟 (动作/操作符/文本对象) │   ├── bridge/           — IDE 桥接 (VSCode/JetBrains) │   ├── coordinator/      — 多 Agent 协调器 │   ├── voice/            — 语音模式 (Feature Flag 控制) │   ├── tasks/            — 异步任务系统 │   ├── skills/           — 技能/插件系统 │   └── ... └── vendor/               — 原生二进制模块     ├── ripgrep/          — 6 平台预编译搜索引擎     ├── audio-capture/    — 音频采集 (6 平台)     ├── image-processor/  — 图片处理 + macOS 剪贴板     ├── modifiers-napi/   — macOS 键盘修饰键     └── url-handler/      — macOS URL 事件处理

核心特点:

  • • 全部编译为单一 cli.js,零运行时依赖
  • • 自研 Ink 终端渲染器 (含自写 Yoga 布局引擎 2,578 行)
  • • Feature Flags 通过 bun:bundle DCE 实现多构建变体 (内部版 vs 外部版)
  • • 原生模块覆盖音频、图片、平台 API
  • • React Compiler Runtime 自动 memoization

Blade — pnpm Monorepo 架构

Blade/ ├── packages/ │   ├── cli/              — 核心 CLI 包 (blade-code) │   │   ├── src/          — 26 个顶层模块 │   │   │   ├── agent/    — 无状态 Agent 核心 │   │   │   ├── tools/    — 20+ 内置工具 │   │   │   ├── server/   — Hono Web 服务器 │   │   │   ├── services/ — 服务层 (Chat/Session/FileSystem) │   │   │   ├── mcp/      — MCP 协议客户端 │   │   │   ├── context/  — 上下文管理 (压缩/Token 计数) │   │   │   ├── ui/       — 终端 UI (React + Ink) │   │   │   ├── store/    — Zustand 状态管理 │   │   │   ├── spec/     — Spec Mode (结构化工作流) │   │   │   ├── plugins/  — 插件系统 │   │   │   ├── skills/   — 技能系统 │   │   │   ├── hooks/    — Hooks 系统 │   │   │   ├── memory/   — 自动记忆系统 │   │   │   └── ... │   │   ├── web/          — Web UI (Vite + React + Tailwind) │   │   └── tests/        — 测试套件 (7 种配置) │   ├── vscode/           — VS Code 扩展 │   └── agent-sdk/        — Agent SDK (早期阶段) ├── docs/                 — Docsify 文档站 └── .blade/               — 项目级自定义命令和技能

核心特点:

  • • Monorepo 清晰分层,包职责明确
  • • 无状态 Agent 设计 (状态通过上下文传递)
  • • 多模型支持 80+ 提供商 (通过 Vercel AI SDK)
  • • 完整 Web UI (Monaco Editor + Terminal + Markdown 渲染)
  • • Plugin + Skills + Hooks 三层可扩展体系
  • • Spec Mode 结构化工作流 (独有功能)
05
五、功能矩阵
功能
Claude Code Blade
文件读写编辑
Shell 执行
✅ (含 PowerShell)
Git 集成
Web 搜索/抓取
MCP 协议
ACP 协议
多 Agent 协调
✅ (Coordinator Mode)
✅ (Subagents)
Plan Mode
Spec Mode
Task 管理
Auto Memory
Session 管理
✅ (Resume)
✅ (Resume + Fork)
Web UI
✅ (完整 Web 界面)
多模型支持
❌ (仅 Claude 系列)
✅ (80+ 提供商)
VS Code 扩展
✅ (独立包)
✅ (Monorepo 内)
Vim 模拟
✅ (完整实现)
Voice Mode
✅ (Feature Flag 控制)
原生音频采集
✅ (6 平台)
原生图片处理
✅ (Sharp + 自研模块)
Plugin 系统
✅ (Skills)
✅ (Plugin + Skills + Hooks)
Notebook 编辑
Git Worktree
Cron 调度
i18n
英文
中英双语
Headless/CI 模式
06
六、质量工程
维度
Claude Code Blade
TypeScript 严格模式
是 (推断自代码风格)
是 (显式 strict: true)
测试框架
不可见 (未包含在发布包)
Vitest 3.0
测试配置
不可见
7 种: unit / integration / e2e / performance / security / snapshot / cli
覆盖率门槛
不可见
80% (branches / functions / lines / statements)
CI/CD
不可见
5-job Pipeline (质量门禁 / 回归 / 覆盖率+Codecov / 安全测试 / 跨平台烟雾)
安全机制
Bash 安全验证 ~7,200 行、多级权限系统
注入/路径遍历/敏感文件安全测试套件
权限模型
多模式: default / acceptEdits / bypassPermissions / plan / auto / bubble
多模式: default / autoEdit / plan / yolo / spec
Dead Code 检测
Feature Flags DCE
Knip
代码格式化
Biome
Biome 2.2 (88 字符行宽, 单引号)
跨平台测试
不可见
Ubuntu / Windows / macOS
07
七、安全机制对比

Claude Code

  • • Bash 安全: 三个核心文件共 ~7,200 行 (bashSecurity.ts 2,592 行 + bashPermissions.ts 2,621 行 + readOnlyValidation.ts 1,990 行)
  • • 权限系统: 六种权限模式,rule-based allow/deny/ask 决策
  • • 沙箱支持: 专用沙箱工具和文件系统/网络配置
  • • Feature Flags: 支持内部/外部构建变体隔离

Blade

  • • 安全测试套件: 专门的 injection / path-traversal / sensitive-file 测试
  • • 权限系统: 五种模式,glob-pattern 规则
  • • Hooks 安全: SecureProcessExecutor 安全进程执行器
  • • 路径安全: 独立的路径安全工具模块
08
八、文档质量
维度
Claude Code Blade
README
简洁,用户导向,链接外部文档站
完善,中英双语,含截图/徽章/快速入门
架构文档
无 (闭源)
BLADE.md (详细技术上下文) + CLAUDE.md (AI 辅助指南)
贡献指南
无 (闭源)
CONTRIBUTING.md (环境搭建/开发流程/测试要求/PR 指南)
安全政策
无 (闭源)
SECURITY.md
用户文档
外部文档站 code.claude.com
Docsify 文档站 (安装/配置/指南/参考/FAQ/变更日志)
类型文档 sdk-tools.d.ts

 (2,719 行)
TypeScript 严格类型 + Zod Schema
内联注释
良好 (架构决策、启动优化、懒加载原因)
良好
09
九、依赖管理

Claude Code

  • • 运行时依赖0 (全部打包进 cli.js)
  • • 可选依赖: 9 个 (@img/sharp-* 跨平台图片处理)
  • • 打包依赖: ~2,850 个文件从 node_modules 打包 (推断自 source map 中 4,756 源文件)
  • • 原生模块: 5 个自研 vendor 模块 (ripgrep / audio-capture / image-processor / modifiers-napi / url-handler)

Blade

  • • 运行时依赖: ~40 个 (AI SDK 7 个 + Ink 6 个 + Radix UI 7 个 + 核心工具库 20+)
  • • 可选依赖: 3 个 (@vscode/ripgrep / node-pty / bun-pty)
  • • 开发依赖: ~15 个 (Biome / Vitest / TypeScript / 类型定义)
  • • Lock 文件: 9,017 行 (中等规模依赖树)
10
十、开发体验
维度
Claude Code Blade
本地开发
不可能 (闭源, 仅有逆向代码)
pnpm dev

 (watch mode) / pnpm dev:web
构建
不可复现
pnpm build
测试
不可执行
pnpm test:all

 / 7 种测试配置
预提交检查
不可见
pnpm preflight

 (format + lint + build + type-check + test)
IDE 配置
不可见
.vscode/

 (Biome 格式化 + 推荐扩展)
项目自定义
不可见
.blade/

 (8 个自定义命令 + 3 个自定义技能)
发布流程
不可见
自定义 release script (语义化版本 + Changelog)
11
十一、综合评价

Claude Code — 商业产品级工程

优势:

  • • 工业级代码量 (50 万+ 行),功能极其丰富 (43 工具 / 86 命令)
  • • 极致的安全防护体系 (~7,200 行 Bash 安全代码)
  • • 自研渲染引擎,零运行时依赖,启动性能优化到极致
  • • 原生模块覆盖音频/图片/平台 API,体验完整
  • • Feature Flag 支持多变体构建 (内部版/外部版)
  • • React Compiler 自动优化

劣势:

  • • 闭源专有,无法二次开发
  • • 仅支持 Claude 模型,供应商锁定
  • • 无 Web UI,纯终端体验
  • • 逆向代码可读性降低,部分信息丢失

Blade — 开源社区作品

优势:

  • • MIT 开源,社区友好
  • • 多模型支持 80+ 提供商,无供应商锁定
  • • 完整 Web UI (Monaco + Terminal + Markdown)
  • • 成熟的测试与 CI 体系 (80% 覆盖率门槛 / 5-job Pipeline / 跨平台)
  • • Monorepo 架构清晰,可维护性好
  • • 文档完善 (中英双语 / 架构文档 / 贡献指南 / 用户文档站)
  • • Spec Mode 独特工作流
  • • Plugin + Skills + Hooks 三层可扩展体系

劣势:

  • • 代码量和功能深度不及 Claude Code (~5 倍差距)
  • • 个人维护 (bus factor = 1)
  • • 部分功能仍在早期阶段 (agent-sdk)
  • • 无原生模块,音频/图片等能力缺失
  • • 版本号 0.x,尚未达到稳定版
12
十二、总结
维度
胜出方
说明
功能深度
Claude Code
43 工具 / 86 命令,Vim/Voice/原生模块等独有功能
功能广度
Blade
多模型 / Web UI / Spec Mode / 三层扩展体系
代码规模
Claude Code
4.7 倍代码量
架构清晰度
Blade
Monorepo 分层清晰,无状态 Agent 设计
质量工程
Blade
可见的完整测试/CI/覆盖率体系
安全机制
Claude Code
7,200 行专用安全代码
开放性
Blade
MIT 开源 / 多模型 / 三层扩展
文档
Blade
双语 / 架构文档 / 贡献指南 / 文档站
可维护性
Blade
开源 + 清晰架构 vs 闭源单体
生态绑定
各有所长
Claude Code 绑定 Anthropic;Blade 模型中立

本质差异: Claude Code 是 商业产品级工程 — 大团队打造,深度优化,与自家模型紧密耦合,追求 深度和极致。Blade 是 开源社区作品 — 架构开放,模型中立,功能灵活,追求 广度和开放。两者在 AI 编程助手赛道上代表了截然不同的路线。