Skip to content

zhuzhh/learning-claude-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

拆开 Claude Code

一组围绕 Claude Code CLI 源码展开的中文架构拆解文章。

这是什么

这个仓库不是功能手册,也不是 Claude Code 的使用教程。

它更像一份持续展开的源码研究笔记,核心目标是三件事:

  1. 讲清楚 Claude Code 解决了哪些真实的 Agent 工程问题。
  2. 解释它为什么这么设计,而不是只罗列“它有什么能力”。
  3. 把这些设计迁移成我们自己做 Agent、Coding Agent、AI CLI、AI IDE 时可复用的工程经验。

如果你关心的是下面这些问题,这个仓库会比较对路:

  • Agent 为什么一旦产品化,复杂度会突然上升
  • 工具调用、权限系统、上下文压缩、会话恢复应该如何一起设计
  • 复杂 CLI 为什么最后会长成一个“运行时系统”,而不只是一个命令入口

推荐从这里开始

当前目录

篇次 文章 核心问题
01 拆开 Claude Code,我才看清 Agent 不是一个“会调模型的 CLI” 为什么它值得逐层拆开
02 启动链路拆解:Claude Code 为什么能在大系统里把冷启动压下来? 启动优化到底在优化什么
03 QueryEngine 与 query.ts:为什么 Agent 运行时要分“会话层”和“轮次层”? 为什么不能一个大循环全做完
04 工具系统与安全边界:Claude Code 如何把能力暴露给模型,又不让它失控? 工具协议与运行时治理如何一起成立
05 上下文与恢复:Claude Code 如何让长任务在压缩、中断之后仍然接得上? 长任务为什么不能只靠塞更多 prompt 来维持连续性
06 权限系统内核:Claude Code 如何把 trust、mode、classifier 和 approval 串成一条决策链(规划中) 同一条工具请求为什么会经过多层判断
07 终端 UI 架构:Claude Code 为什么不用 readline,而要用 React 加 Ink(规划中) 复杂 CLI 为什么会演化成终端里的前端应用
08 Hooks、Skills、Plugins:Claude Code 怎样在可扩展和可控之间找到平衡(规划中) 扩展系统如何既开放又不失控

这个系列在讲什么

当前这组文章围绕同一个问题展开:

当 Agent 从“能调模型的原型”走向“要长期运行的产品”时,哪些复杂度必须被工程化?

Claude Code 给出的答案包括:

  • 启动编排
  • 会话层与轮次层拆分
  • 工具协议与调度
  • 权限边界与信任模型
  • 上下文压缩与恢复语义
  • 终端 UI 运行时
  • 受控的扩展机制

阅读说明

  • 文章默认使用中文写作。
  • 文中的源码引用会尽量附上 GitHub 可点击链接,方便对照阅读。
  • 全系列文章默认将源码链接固定到具体 commit 快照,避免后续仓库更新导致引用漂移、正文分析和读者看到的代码错位。
  • 每篇文章都优先回答“为什么这么设计”,而不是只做代码翻译。

说明

  • 本仓库主要用于学习、研究与架构分析。
  • Claude Code 为 Anthropic 的产品名称,相关权利归原项目方所有。
  • 如果文章中有理解偏差,欢迎提 Issue 或 PR 一起修正。

About

learning-claude-code 源码分析和拆解

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors