深度揭秘 Claude Code:为什么它是最强大的 AI 编程助手?
基于 Claude Code v2.1.88 还原源码分析
前言
这篇是 Claude Code 系列里唯一保留的主稿,也是后续持续维护的最终权威版。
如果你只想保留一篇 Claude Code 源码分析文章,看这篇就够了。
如果你把市面上的 AI 编程工具都用一遍,会很快发现一个区别:
有些工具第一回合看起来很惊艳,但任务一复杂、会话一拉长、工具一并发,就开始变钝、变乱、变得需要你不停接管。
Claude Code 不一样。
它不一定总是“最会炫技”的那个,但往往是那个最稳、最顺、最像能长期干活的系统。
我最近把 Claude Code v2.1.88 的还原源码完整过了一遍。看完之后,我的判断比以前更明确了:
Claude Code 的优势,并不主要来自模型本身,而来自它把 Agent 做成了一套完整 runtime。
这篇文章我不再停留在“它很好用”的层面,而是回答三个更具体的问题:
- 它到底在哪些源码层面做得更好?
- 这些设计为什么会直接影响日常使用体验?
- 如果你也在做自己的 Agent,到底该抄它哪些作业?
如果你想把这套 runtime 思路继续放回自己的工具栈和系统设计里看,可以结合这两篇公开文章一起读:
- AI 编码工具链总览:/posts/mac-ai-coding-tools/
- 控制平面型 Agent 架构:/posts/openclaw-architecture/
版本边界
这篇分析基于 Claude Code v2.1.88 的还原源码。
有两类结论需要区分开来看:
稳定结论- 运行时和交互层分离
- 工具调度不是简单 tool calling
- 上下文治理和权限链路是系统能力
- 多代理和远程执行是明确产品方向
可能随版本调整的细节- 某些文件路径和模块命名
- hidden features / feature flags 的具体开关
- compact、fallback、hooks 细枝末节的实现顺序
所以这篇文章更适合用来理解 Claude Code 的工程方法,而不是把每一个函数名都当成长期不变的接口。
我为什么不再用 oh-my-zsh 了
这篇是命令行迁移系列里的迁移复盘版。
如果你想先看“迁移之后的工具清单和工作流长什么样”,可以先读:
- Mac 命令行工具总览:/posts/mac-ai-coding-tools/
这篇更聚焦的是另一件事:为什么我决定迁、真实迁移过程踩了什么坑、以及主力开发机迁环境到底应该怎么收口。
前言
这次折腾命令行环境,不是因为我想换一套更潮的工具,而是因为 Ghostty 里开一个 zsh,已经开始拖慢我每天的工作节奏了。
那种慢不是 benchmark 里才看得出来的慢,而是你每天开新 tab、开新窗口、切 shell 的时候都能感受到它在拖。对于一个长期把终端当主工作界面的人来说,这种拖沓会不断打断节奏。
一开始我以为问题出在终端本身,后面认真排查才发现,Ghostty 其实没什么问题,真正越来越重的是我那套已经用了很多年的 oh-my-zsh 环境。更准确地说,不是 oh-my-zsh 不能用,而是我的环境已经不适合继续让它来兜底了。
这篇文章主要想讲清楚三件事:我为什么不再继续用 oh-my-zsh,我最后留下来的命令行工具组合是什么,以及我是怎么把 Ruby / Node / Zsh 平稳迁过去的。
Mac 上的 AI 编码利器:打造高效命令行工作流
这篇是命令行工具系列里的工具总览版。
如果你更关心“为什么我后来决定彻底迁出 oh-my-zsh、以及迁移里到底踩了哪些坑”,可以继续看:
如果你只想先回答一个问题:
AI 编码场景下,哪些工具真的值得先装,分别解决什么问题?
那这篇就是给这个问题准备的。
如果你想再往下看“为什么现代 AI coding agent 最终会把体验问题做成 runtime 问题”,也可以继续读:
- Claude Code 主稿:/posts/claude-code-source-analysis/
这篇文章更适合做第一入口:先帮你建立一张工具地图,知道每种工具到底解决的是文件定位、会话管理、历史搜索,还是运行时接管。
这篇是 OpenClaw 系列里的架构主稿。
如果你更关心升级后“为什么飞书消息突然收不到、gateway 为什么挂掉”,那先看排障 skill:
如果你想先建立系统认知,再决定怎么部署、怎么排障、哪些目录必须备份,那这篇更适合。
前言
OpenClaw 的定位更接近“个人 AI 助手系统”,而不是一个单纯的聊天机器人:它运行在你自己的设备上,通过你已经在用的渠道(WhatsApp/Telegram/Slack/Discord/Signal/iMessage/Google Chat/Microsoft Teams/WebChat…)回答你;同时它还能提供语音、节点能力(iOS/Android/macOS)、浏览器控制与一个可视化的 Live Canvas。
在官方文档里有一句我很认同的表述:Gateway 只是控制平面(control plane),真正的产品是“助手本身”。因此这篇文章不讲安装流程,而是关注工程化落地里最关键的三件事:
- 系统怎么拆层:控制平面、通道、技能、插件、记忆、运维面
- 默认安全边界是什么:如何把“真实消息面”当作不可信输入来处理
- 落地到本机后怎么维护:哪些目录是“真源”,哪些是“可重建索引/缓存”
本文基于两份本地资料整理:
- 官方 OpenClaw 源码:https://github.com/openclaw/openclaw (2026.2.26)
- 本机运行态目录:
~/.openclaw/(只描述职责与路径,不展示任何密钥/令牌/账号内容)
前言
之前的文章已经给大家介绍过 HTTP/2,今天我们来聊聊 HTTP/3。本文主要从如下几个角度来讲讲 HTTP/3的那些事:
- HTTP/3的由来
- HTTP/3相比 HTTP/2有哪些新特性
- HTTP/3的使用现状
本文内容节选自 Netflix 20 年推出的纪录片《人生战术本》(The Playbook)第一季第一集,主人公是拥有 22 年 NBA 执教经验的主教练道格·里弗斯。
创建RN私有库
为了加速RN的下载和方便集成,我把RN(0.56.0)做成私有pod放到了gitlab的私有源中,参考《使用Cocoapods创建私有podspec》、《私有Pods集成react-native库》。