乐于分享
好东西不私藏

突发!最强编程软件Claude Code源代码泄露

突发!最强编程软件Claude Code源代码泄露

Claude 代码的源代码通过他们的 npm 注册表中的地图文件泄露了!

信息来源

源代码结构

项目分析

项目分析

Claude Code 源码

这是 Claude Code — Anthropic 官方 CLI 工具的 TypeScript 源代码。

项目定位

终端 AI 编程助手,能读写代码、执行 Shell 命令、搜索文件、管理 Git、与远程服务交互,支持多 Agent 架构和 MCP 协议。

架构概览

层级
目录/文件
职责
入口
entrypoints/、main.tsx (4,683 行)
CLI 定义、SDK 入口、初始化
核心引擎
QueryEngine.ts (1,295 行)、query.ts (1,729 行)
多轮对话编排、API 调用、上下文管理
工具系统
Tool.ts、tools.ts、tools/ (~46 个子目录)
46+ 工具实现(Bash、文件读写、Grep、Glob、Web 搜索、Agent 等)
命令系统
commands.ts、commands/ (70+ 子目录)
Slash 命令(/help、/commit、/review 等)
服务层
services/
API 客户端(3,997 行)、MCP 客户端(3,348 行)、OAuth、LSP、语音等
状态管理
state/
AppStateStore + React Context
UI 层
components/、hooks/、ink/
React + Ink 终端渲染、虚拟滚动、Vim 模式
任务系统
tasks/
后台任务(Shell、Agent、远程执行)

技术栈

  • 语言:TypeScript(Zod v4 校验)
  • 运行时:Bun(带 feature() 死代码消除)
  • CLI 框架:Commander.js
  • UI 框架:React + Ink(终端渲染)
  • API:@anthropic-ai/sdk + @modelcontextprotocol/sdk
  • 可观测性:OpenTelemetry

核心特点

  • 46+ 内置工具:AgentTool(子 Agent)、BashTool、文件操作、Web 搜索/抓取、TodoWrite、计划模式等
  • 多 Agent 架构:支持 Teammate、Coordinator 模式、远程 Agent
  • Feature Gating:通过 feature() 宏实现编译期特性开关(KAIROS、PROACTIVE、VOICE 等)
  • 权限系统:每个工具调用都经过权限检查,支持 allow/deny/ask 规则
  • MCP 协议:完整的 Model Context Protocol 集成

规模

  • 1,902 个文件(1,332 .ts + 552 .tsx)
  • 约 155,000+ 行代码
  • 最大文件 main.tsx 磁盘大小 803KB(部分为打包产物)

提示词位置

提示词体系结构

1. 核心系统提示词

  • 文件路径:constants/prompts.ts
  • 说明:主系统提示词,文件规模约 1,400 行 / 54KB,包含 Claude Code 核心行为指令。

2. 工具级提示词

每个工具对应独立 prompt.ts,用于定义工具描述与使用规范,共 46+ 个,以下为主要工具示例:

文件路径
对应工具
tools/BashTool/prompt.ts
Shell 命令执行
tools/FileReadTool/prompt.ts
文件读取
tools/FileEditTool/prompt.ts
文件编辑
tools/FileWriteTool/prompt.ts
文件写入
tools/GlobTool/prompt.ts
文件搜索
tools/GrepTool/prompt.ts
内容搜索
tools/WebFetchTool/prompt.ts
网页抓取
tools/WebSearchTool/prompt.ts
网页搜索
tools/AgentTool/prompt.ts
子 Agent
tools/TodoWriteTool/prompt.ts
待办管理
tools/SkillTool/prompt.ts
技能调用

除此之外,另有 30+ 个工具 均在对应目录下维护独立的 prompt.ts

3. 服务级提示词

用于上下文、记忆、文档等后台服务:

  • services/compact/prompt.ts:上下文压缩提示词
  • services/extractMemories/prompts.ts:记忆提取
  • services/SessionMemory/prompts.ts:会话记忆
  • services/MagicDocs/prompts.ts:文档处理
  • services/PromptSuggestion/promptSuggestion.ts:提示建议

4. 其他辅助提示词

  • buddy/prompt.ts:Buddy 助手模式提示词
  • context/promptOverlayContext.tsx:提示词覆盖上下文

总结

  • 核心系统提示词统一维护在:constants/prompts.ts
  • 各工具专属提示词分布在对应工具目录下的 prompt.ts 中

想要源代码的点个关注吧