📁 Tools 工具组
25 篇文章
2026年4月3日 · 阅读文章
这个工具到底解决什么问题 AgentTool 是 Claude Code 最有代表性的工具之一。 它解决的不是“读文件”或者“跑命令”这种单点能力,而是: 当主线程模型觉得一个任务太大、太杂、太适合并行时,如何把一部分工作拆给另一个 Agent 去做。 这也是 Claude Code 和普通代码助手的核心分水岭之一。 很多 AI 工具只有一个主线程模型一直往下跑,而 Claude Code 明确支持: 研究型子任务 后台执行 多 Agent 协作 本地 / 远程子 Agent 先看它的输入长什么样 tools/Ag…
2026年4月3日 · 阅读文章
这个工具为什么是核心中的核心 如果说 Read、Edit、Write 是 Claude Code 的精细手术刀, 那 BashTool 就是它的重型工程机械。 它让 Claude Code 真正接入开发环境: 跑测试 跑构建 看 Git 状态 调用编译器、包管理器、脚本 启动开发服务 执行系统命令 没有 BashTool,Claude Code 顶多是一个“懂代码的文本编辑器”; 有了它,Claude Code 才真正变成“能操作本地工程环境的 Agent”。 先看它依赖了多少子模块 tools/BashTool/…
2026年4月3日 · 阅读文章
它为什么比 cat 更重要 FileReadTool 表面看只是“读文件”,但在 Claude Code 里,它其实承担了三层职责: 给模型稳定读取项目文件的入口 让读取结果结构化、可追踪 为后续编辑建立“已读状态” 第三点最容易被忽视。 Claude Code 不是随便改文件的,它很强调: 先读,再改 而 FileReadTool 就是这个链路的起点。 先看它的 prompt 怎么定义自己 tools/FileReadTool/prompt.ts: export const DESCRIPTION = 'Read…
2026年4月3日 · 阅读文章
这个工具解决的不是“能改文件”,而是“怎么安全地改” FileEditTool 负责对已有文件做定点修改。 在 Claude Code 里,它的价值从来不只是“替换一段字符串”,而是: 先确认文件读过 再确认文件没被别人改过 再确认当前编辑权限允许 最后才生成 patch 并写回 也就是说,FileEditTool 体现的是 Claude Code 的受控编辑模型。 看源码,它的依赖明显比想象中重 tools/FileEditTool/FileEditTool.ts: import { countLinesChan…
2026年4月3日 · 阅读文章
它解决的是“整文件写入”问题 FileWriteTool 适合两种典型场景: 新建一个文件 用一整块新内容覆盖一个现有文件 如果说 FileEditTool 更像外科手术, 那 FileWriteTool 更像“整块材料重新铺设”。 Claude Code 明确把这两件事拆成了不同工具,而不是统统交给 shell。 这就是它工程设计上的一个细节点。 源码里最关键的输入定义 tools/FileWriteTool/FileWriteTool.ts: const inputSchema = z.strictObject…
2026年4月3日 · 阅读文章
这个工具看起来简单,但位置非常关键 GlobTool 做的事很直接:按文件名或通配模式找文件。 但在 Claude Code 的主循环里,它其实承担的是: 把“我大概知道要找什么文件”变成“我已经定位到候选路径”。 很多复杂任务的第一步,都不是直接读文件,而是先缩小范围。 GlobTool 就是这一步的标准入口。 先看它的输入定义 tools/GlobTool/GlobTool.ts: const inputSchema = z.strictObject({ pattern: z.string().describe…
2026年4月3日 · 阅读文章
它是 Claude Code 最常用的“找线索”工具之一 GrepTool 负责在文件内容里搜索文本或正则模式。 在真实使用里,它常常是 Claude Code 排查问题、理解代码和定位实现的第一步。 如果你把 Claude Code 的常见动作拆开看,会发现很多轮对话其实都是: 先 Grep 再 Read 再判断要不要 Edit 所以 GrepTool 本质上是主循环里的“线索发现器”。 看它的 schema,就知道它不是简单字符串搜索 tools/GrepTool/GrepTool.ts: const inpu…
2026年4月3日 · 阅读文章
它为什么不是普通版 FileEditTool .ipynb 文件虽然本质上是 JSON,但语义上它不是普通文本文件,而是: 一组有顺序的 cell 混合了 code / markdown 带输出、元数据、语言信息 如果直接把 Notebook 当普通文本改,最容易出现两类问题: 结构被破坏,文件打不开 只想改一个 cell,却误伤整个 notebook 所以 Claude Code 给它单独做了 NotebookEditTool。 关键源码 tools/NotebookEditTool/NotebookEditTo…
2026年4月3日 · 阅读文章
这个工具到底做什么 WebFetchTool 负责抓取一个已经知道 URL 的网页,把网页内容转成 Claude Code 更容易处理的文本,再根据传入的 prompt 提炼结果。 它和 WebSearchTool 的分工非常明确: WebSearchTool:帮模型去网上找结果 WebFetchTool:拿着确定的 URL 去读具体页面 所以你可以把它理解成: Claude Code 的“网页阅读器 + 小模型摘要器” 而不是“联网搜索工具”。 它的输入为什么只有两个字段 tools/WebFetchTool/W…
2026年4月3日 · 阅读文章
这个工具到底做什么 WebSearchTool 负责让 Claude Code 查询互联网的最新信息。 它解决的核心问题不是“打开某个网页”,而是: 当主线程需要知道当前世界上最近发生了什么、某个产品最新文档是什么、某个问题有哪些公开资料时,如何安全地发起联网搜索。 所以它和 WebFetchTool 的区别一定要先记清: WebSearchTool:找信息源 WebFetchTool:读指定页面 在真实使用里,这两个工具经常是一前一后配合。 它的 schema 很简单,但能力很强 tools/WebSearchT…