📄️ Tool 接口设计:Tool.ts 的 793 行在讲什么
深度解析 Tool<Input, Output, P> 泛型接口的设计哲学,理解每个方法背后的工程思考
📄️ 工具注册表:getAllBaseTools() 与 assembleToolPool()
解析工具注册与动态组合的机制,了解 Feature Flag、权限过滤、MCP 合并如何共同构建运行时工具池
📄️ 实战解读:BashTool 完整源码分析
深度解析 BashTool 如何执行 shell 命令、处理权限检查、管理超时与工作目录,以及危险命令的安全防护机制
📄️ 实战解读:ReadTool / EditTool / WriteTool
对比三个文件操作工具的设计差异,理解为什么 EditTool 选择 old_string/new_string 模式,以及不同的权限级别设计
📄️ 实战解读:GlobTool / GrepTool
解析文件搜索工具的实现原理,理解为何选择 ripgrep,以及 Glob+Grep 如何配合在大代码库中高效搜索
📄️ MCP 工具:如何把外部工具合并进工具池
深入解析 MCP (Model Context Protocol) 的连接机制,了解外部工具如何被发现、转换格式并动态注入到 Claude 的工具池中
📄️ 工具的并发安全:isConcurrencySafe() 的设计
深入分析工具并发安全机制,理解 runTools() 如何基于 isConcurrencySafe() 做调度决策,以及哪些工具可以并行、哪些必须串行