从设计者的角度理解源码 -- Claude Code 的 Hook 体系设计引言本篇,作为《从设计者的角度理解源码》系列的第六篇,试图回答一个比「工具怎么统一」更棘手的问题:Claude Code 怎么敢让用户自己写的代码(Hook),插进它的核心执行流程,参与「要不要执行这个危险操作」的决策?上一
从设计者的角度理解源码 -- Claude Code 的工具体系设计引言本篇,作为《从设计者的角度理解源码》系列的第五篇,试图回答一个看起来不该成为问题的问题:Claude Code 怎么用「一个接口」统一调度几十种语义完全不同的工具?读文件的 Read、跑命令的 Bash、改代码的 Edit、搜代
从设计者的角度理解源码 -- Claude Code 的权限系统设计引言本篇,作为《从设计者的角度理解源码》系列的第四篇,试图回答一个安全领域最朴素、也最难的问题:Claude Code 怎么敢让一个 LLM 直接在你电脑上执行 rm -rf?这个问题的难度在于:LLM 的能力和可信度是错配的。它的
从设计者的角度理解源码 -- ClaudeCode的消息机制设计引言本篇,作为《从设计者的角度理解源码》系列的第三篇,试图回答一个看似简单的问题:Claude Code 的消息系统为什么长成现在这个样子?如果你翻过源码,你会发现 messages.ts 有 3000+ 行,里面塞满了 isMeta、
从设计者的角度理解源码–记忆压缩的七种刀法引言本篇是《从设计者的角度理解源码》系列里聚焦上下文与记忆的一篇。聊一个每个做 LLM 应用的人都会撞上的问题:对话跑长了,token 不够用了怎么办?大部分项目的答案很简单——快爆了就让模型自己总结一下,用摘要替换历史。这当然能用,但总觉得糙。Claude
父子 Agent 的三条通信路径:为什么不是一条?拆解 Claude Code 父子 Agent 通信机制的源码设计,以及我手写复现时的踩坑。0. 一个反直觉的事实如果你去看 Claude Code 的源码,会发现一个反直觉的现象:父 Agent 和子 Agent 之间的通信,不是一条路径,而是三条
在 Mac 系统中安装并使用 redis-rdb-tools(用于分析 Redis RDB 文件),可按照以下步骤操作:一、安装 redis-rdb-tools确保 Python 环境redis-rdb-tools 依赖 Python 3.6 及以上版本。Mac 系统通常预装 Python,但需检查