我把 Claude Code 源码全拆了(附完整解析 Wiki)
前两天大家都在发 Claude Code 的,我也来发个吧~
不过我是发个 Claude Code 的源码解读 Wiki,特别详细,可以帮助大家理解 Claude Code。
Wiki 是通过 Qoder 生成,效果还是非常赞的!

Claude Code 是一个由 AI 驱动的智能代码助手,旨在无缝融入开发者的日常工作流。它通过 CLI 交互界面与强大的终端 UI 框架结合,提供从代码编辑、上下文检索到工具调用的一体化体验。项目基于 Bun 构建,采用 React 19 与自研 Ink 终端渲染引擎,支持 MCP(Model Context Protocol)协议以扩展外部能力,并内置丰富的工具系统与插件生态。

项目采用模块化与分层设计,围绕 CLI 入口、主应用逻辑、终端 UI 组件、工具系统、命令体系、桥接与远程控制等核心模块组织。

整体架构围绕“CLI 启动 → 初始化与预取 → REPL 渲染 → 工具与命令执行 → 桥接/远程控制”的主线展开,同时通过特性开关与环境变量实现灵活的功能裁剪与部署适配。

CLI 启动与特性门控

主应用逻辑与初始化

终端 UI 与状态管理:App 组件提供三层上下文(应用状态、统计信息、帧率指标),并与 Ink 渲染引擎协同实现终端富文本与响应式布局。

工具系统与权限过滤:统一收集内置工具与 MCP 工具,按名称去重;根据权限上下文剔除不允许使用的工具,并提供简化模式。

命令体系与动态聚合:命令来源覆盖内置命令、技能目录、插件、工作流脚本、MCP 技能;按认证和提供商要求过滤,并做远程安全隔离。

桥接与远程控制:维护长连接与心跳,支持多会话并发、超时与中断处理,并在受限环境下限制危险操作。

构建与打包:使用 Bun 构建,通过自定义插件将 feature() 替换为编译期常量,实现特性开关与死代码消除;宏常量用于运行时输出与诊断。
运行时依赖:React 19 与 Ink 提供终端 UI 能力;第三方库覆盖网络、加密、日志、分析、MCP 协议等;通过私有包存根与补丁适配兼容性问题。

你要问我,这是不是我一点点写的,那必然不是了,这么多内容我一天 48 小时写都搞不定啊 ~
这些都是 qoder 的 wiki 功能帮我分析的,有 qoder 的朋友也可以把这个项目拉下去,直接导入到 qoder,可以省下一些积分勒。
夜雨聆风