一个个人内容网站
通读 Claude Code 约 19 个默认工具的提示词(每个工具目录里的 prompt.ts)后,能看出它写工具说明书有一套相当一致的「规范」:动态拼装、正反示例、工具互相引导、fail-closed 前置约束、BLOCKING 强约束、内嵌安全协议、以及教模型怎么用工具的元指令。本文把这 7 条范式逐条拆开,每条配真实工具实例与 file:line。
很多人以为 Claude Code 的 WebSearch 是客户端自己去调搜索引擎,其实不是——它是对 Anthropic 服务端 server-side tool(type=web_search_20250305)的封装,真正的搜索在 API 端单次调用内完成,客户端只负责注入工具 schema、解析 server_tool_use / web_search_tool_result 块、再把结果文本化回灌给主对话。本文拆解其实现,含 file:line。
有人把 Claude Code 官方发布包从 source map 还原回了源码树。我用一套多 Agent 工作流替自己通读了这棵约 46 万行的源码,逐子系统剖析这个生产级 LLM Agent CLI 的工程实现,写成《深扒 Claude Code 源码》系列(一篇总纲 + 六篇深挖,全部已发为 Notes)。这篇 BLOG 是系列的导览:缘起、方法、六条核心发现,以及每篇的入口。
《深扒 Claude Code 源码》系列完结篇。Remote Control 如何让手机/网页远程驱动本地 CLI(v1 env-based 与 v2 env-less 双路径、CCR 容器的 MITM 出站代理、合成 AssistantMessage 复用本地权限 UI);系统提示的静态/动态缓存边界与跨午夜陈旧日期的取舍、sessionStorage JSONL 持久化、memdir 用 Sonnet sideQuery 筛选相关记忆;以及 feature()/GrowthBook/Statsig 三层开关如何按时间尺度分工治理灰度、成本与熔断。
《深扒 Claude Code 源码》系列第五篇,UI 与编排。为何把 Ink 整体 fork 并用纯 TS 重写 Yoga:单元格双缓冲 + damage 差分渲染、ConcurrentRoot reconciler、kitty/SGR 终端协议栈、27k 条消息的虚拟滚动与 StructuredDiff 渲染缓存;以及 AgentTool 用一个工具承载子代理/fork/teammate/隔离四种语义,fork 的字节级 prompt cache 共享,swarm 的 AsyncLocalStorage 隔离与文件邮箱 IPC。
《深扒 Claude Code 源码》系列第四篇,配置与运行时治理。settings 五源合并(policy/flag 不可裁剪)、managed-settings.d drop-in、MDM first-source-wins、反 RCE 的权限决策管线(deny/safety 先于 bypass)、yoloClassifier LLM 化权限分类与远程 killswitch;以及 OAuth-PKCE 主流程、四来源认证决策,和秘钥存储在 Linux/Windows 明文落盘的安全短板。
《深扒 Claude Code 源码》系列第三篇,服务层通信。Anthropic API 客户端的四 provider 分流、beta header 的 sticky latch(为护 prompt cache 锁定会话内不变)、thinking/effort 装配、maxRetries=0 的手动重试机;以及 MCP 集成的七种传输、七层配置作用域、ClaudeAuthProvider 的 CIMD/403 步进重授权与 XAA 无浏览器令牌交换。
《深扒 Claude Code 源码》系列第二篇,工具层与安全。Tool 接口的能力位与 fail-closed 默认值、checkPermissionsAndCallTool 八步执行管线、两条并发调度路径,以及 2621 行 bashPermissions.ts 的 tree-sitter AST 权限引擎——它如何用「枚举所有安全结构、其余全部不信任」的敌对威胁模型把命令逐字匹配规则。
《深扒 Claude Code 源码》系列第一篇,进入会话内核:从 bun run dev 到 REPL 首帧的启动性能工程、queryLoop 显式状态机的转移枚举与错误恢复、以及 snip/microcompact/context-collapse/autocompact/reactive 五套上下文压缩组成的「从便宜到昂贵、从无损到有损」降级阶梯。
把 Claude Code 官方发布包从 source map 还原回源码树后,逐一通读 14 个核心子系统,剖析这个生产级 LLM Agent CLI 的工程实现。本篇是系列总纲:执行摘要、来源与方法、版本定位、整体架构、综合工程评估与还原缺口附录。
整理一次仓库迁移中用到的本地 Git 命令:裸镜像克隆、增量抓取 tag、按引用推送、提交计数核对、查看裸仓库内容等,附简短说明。
把 GitHub 上的大型开源仓库(VS Code,15 万+ 提交)完整迁移到内网 GitLab 并保留全部提交历史。难点在于目标 GitLab(CE 13.3.2)有"提交信息必须以 feat 开头"的服务端校验钩子,而被迁仓库的历史并不满足。本文记录从误判 Push Rules、最小化探测钩子 fail-open 行为,到"推送到全新分支"绕过校验、固化脚本与边界讨论的完整过程。