当前位置: 首页 > article >正文

Claude Code 工具 详解

Claude Code 工具实现详解工具总览工具功能只读Read读取文件内容支持行范围和图片Base64✅Write写入文件内容❌Edit替换文件中的文本❌Bash执行 shell 命令PowerShell/cmd/bash❌Grep正则搜索文件内容优先 ripgrep✅Globglob 模式搜索文件✅WebSearchDuckDuckGo HTML 搜索✅WebFetchHTTP GET 获取网页内容✅Agent启动子 Agent 处理复杂任务✅Skill执行 .md 格式的 Skill 脚本❌Tasks任务管理创建/获取/列表/更新/停止/输出✅NotebookEditJupyter notebook 编辑❌LSP语言服务器协议交互✅MCP连接 MCP 服务器工具桥接✅Ask向用户提问获取输入✅Notification发送系统通知✅Config读取/写入配置❌Brief切换简洁输出模式✅核心实现模式每个工具实现Tool接口核心方法public interface Tool { String name(); // 工具名称 String description(); // LLM 看到的描述含使用指南 String inputSchema(); // JSON Schema 定义参数 String execute(MapString, Object input, ToolContext context); // 执行逻辑 boolean isReadOnly(); // 是否只读权限判断用 }Tool 接口定义public interface Tool { String name(); String description(); String inputSchema(); String execute(MapString, Object input, ToolContext context); ​ // 可选重写 default PermissionResult checkPermission(MapString, Object input, ToolContext context) { return PermissionResult.ALLOW; } default boolean isEnabled() { return true; } default boolean isReadOnly() { return false; } default String activityDescription(MapString, Object input) { return Running name() ...; } }典型实现示例BashTool命令执行路径:tool/impl/BashTool.java功能:自动检测 shellWindows 优先 pwsh降级到 powershell.exe / cmd.exe危险命令黑名单rm -rf /,fork bomb等直接拦截高风险命令rm -rf,git push -f等记录警告超时保护默认 120 秒流式输出进度报告危险命令黑名单:rm -rf /, rm -rf /*, rm -rf ~, mkfs, dd if, :(){:|:};:, // fork bomb chmod -R 777 /, git push --force, git push -f, git reset --hard, shutdown, reboot, halt, format c:, del /f /s /q c:\Shell 检测优先级:Windows: pwsh → powershell.exe → cmd.exeUnix: bash → shGrepTool内容搜索路径:tool/impl/GrepTool.java功能:优先使用ripgrep (rg)— 支持正则、多输出模式、上下文行Windows 降级到findstrUnix 降级到grep支持content/files_with_matches/count三种输出模式跳过隐藏目录和 node_modules/target/build输出模式:content: 显示匹配行及上下文默认files_with_matches: 仅显示包含匹配的文件路径count: 显示每个文件的匹配数量WebSearchTool网络搜索路径:tool/impl/WebSearchTool.java功能:使用 DuckDuckGo HTML 搜索无需 API Key正则解析搜索结果标题、URL、摘要备用解析模式应对页面结构变化默认返回 8 条结果最多 20 条搜索端点:https://html.duckduckgo.com/html/WebFetchTool网页获取路径:tool/impl/WebFetchTool.java功能:HTTP GET 请求自动处理重定向HTML → 纯文本转换移除脚本/样式转换标签为文本格式响应体最大 100KB超出截断30 秒超时保护FileReadTool文件读取路径:tool/impl/FileReadTool.java功能:文本文件支持line_start/line_end行范围1-based图片文件返回 Base64 编码 MIME 类型单次最多读取 2000 行超出显示... (X more lines)支持图片格式: png, jpg, jpeg, gif, webp, svg, bmp, ico输出格式:1 | 文件第一行 2 | 文件第二行 ...AgentTool子 Agent路径:tool/impl/AgentTool.java功能:从 ToolContext 获取 AgentLoop 工厂创建子 Agent子 Agent 拥有独立消息历史共享工具集用于复杂多步骤任务、并行处理、隔离风险操作子 Agent 提示词构建:private String buildSubAgentPrompt(String prompt, String additionalContext) { // 包含任务描述、附加上下文、输出要求 }SkillToolSkill 执行路径:tool/impl/SkillTool.java功能:解析.md文件中的!嵌入命令语法支持---分隔的 frontmattershell/workDir/effectiveTime 等命令输出替换占位符后返回内容嵌入命令语法:代码块:! command 行内:!command工具注册工具通过ToolRegistry注册到系统public class ToolRegistry { public ListToolCallback toCallbacks(ToolContext context) { // 将所有 Tool 转为 Spring AI 的 ToolCallback } }工具调用流程LLM 返回 tool_calls JSON ↓ AgentToolExecutor.parseArguments() // 用 Jackson 解析 JSON 为 Map ↓ findCallbackByName() // 查找对应的 Tool ↓ checkPermission() // 权限检查 ↓ adapter.call(toolArgs) // 执行工具 ↓ 返回结果文本加入消息历史参数解析// 从 JSON 字符串解析为 Map private MapString, Object parseArguments(String toolName, String toolArgs) { return MAPPER.readValue(toolArgs, Map.class); }工具执行上下文 (ToolContext)public class ToolContext { Path getWorkDir(); // 工作目录 void reportProgress(String line); // 进度回调 T T getOrDefault(String key, T defaultValue); // 扩展属性 }工具可以通过 ToolContext 传递共享状态如 AgentTool 通过AGENT_FACTORY_KEY获取 AgentLoop 工厂。

相关文章:

Claude Code 工具 详解

Claude Code 工具实现详解工具总览工具功能只读Read读取文件内容,支持行范围和图片(Base64)✅Write写入文件内容❌Edit替换文件中的文本❌Bash执行 shell 命令(PowerShell/cmd/bash)❌Grep正则搜索文件内容&#xff0…...

独家披露:某头部AI团队内部使用的微调监控看板(含loss震荡检测、梯度norm异常告警、token分布漂移预警),开源前最后72小时限时共享

更多请点击: https://intelliparadigm.com 第一章:Python 大模型本地微调框架搭建 在消费级 GPU(如 RTX 4090 或双卡 3090)上高效微调 7B–13B 级大语言模型,需兼顾显存优化、训练稳定性与工程可复现性。推荐采用 Hug…...

C语言TSN时间戳插桩性能损耗超预期?揭秘GCC内联汇编+硬件TSC校准的3步零拷贝优化法(仅限首批200名开发者获取)

更多请点击: https://intelliparadigm.com 第一章:TSN时间敏感网络与C语言性能优化的底层挑战 TSN(Time-Sensitive Networking)作为IEEE 802.1标准族的关键演进,通过精确时钟同步、流量整形与确定性调度,在…...

如何实现Windows风扇转速精准调控:FanControl四维控制完全指南 [特殊字符]

如何实现Windows风扇转速精准调控:FanControl四维控制完全指南 🚀 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.…...

2026年安卓终端加固:等保密评合规与POC测试全流程指南

搜“安卓终端加固公司”的人,很多不是单纯为了找个工具,而是为了完成一项任务:通过某个项目评审,或者通过一次严格的合规检查。你的核心KPI不是“用了哪家技术”,而是“能否在老板和客户面前交出一份安全的答卷”。这份…...

别再傻等Maven骨架了!IDEA 2022.3创建Web项目的两种高效姿势(附阿里云镜像配置)

别再傻等Maven骨架了!IDEA 2022.3创建Web项目的两种高效姿势(附阿里云镜像配置) 每次新建Maven Web项目时,看着进度条卡在"Generating project in Batch mode"动弹不得,是不是恨不得砸键盘?作为常…...

Twinkle Tray显示器亮度控制完整教程:解决Windows外接显示器亮度调节难题

Twinkle Tray显示器亮度控制完整教程:解决Windows外接显示器亮度调节难题 【免费下载链接】twinkle-tray Easily manage the brightness of your monitors in Windows from the system tray 项目地址: https://gitcode.com/gh_mirrors/tw/twinkle-tray Twink…...

2026年口碑好的流水线滚轮轴究竟哪家强?看完这篇就知道!

在机加工和自动化配件领域,流水线滚轮轴虽看似不起眼,却对生产线的稳定运行起着关键作用。然而,市场上滚轮轴品牌众多,质量参差不齐,价格混乱,让采购、生产、维修人员头疼不已。今天,就带大家深…...

利用 Taotoken 为团队知识库构建智能问答机器人应用场景

利用 Taotoken 为团队知识库构建智能问答机器人 1. 场景需求与技术选型 某技术团队积累了数百份 Markdown 格式的技术文档,涵盖产品手册、API 规范和故障排查指南等内容。随着文档规模扩大,成员查找特定信息效率下降,需要智能问答功能实现自…...

终极高效获取Grammarly Premium Cookie完整自动化方案

终极高效获取Grammarly Premium Cookie完整自动化方案 【免费下载链接】autosearch-grammarly-premium-cookie 免费白嫖使用Grammarly Premium高级版 项目地址: https://gitcode.com/gh_mirrors/au/autosearch-grammarly-premium-cookie 在数字化写作时代,Gr…...

网盘直链下载助手技术方案:八大平台JavaScript解析引擎完全指南

网盘直链下载助手技术方案:八大平台JavaScript解析引擎完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…...

告别UAExpert:手把手教你用SpringBoot+Milo打造专属OPC UA客户端测试工具

告别UAExpert:用SpringBootMilo构建自动化OPC UA测试框架 在工业自动化领域,OPC UA已成为设备互联的事实标准协议。传统测试中,工程师们习惯使用UAExpert等图形化客户端进行手动验证,但当面对持续集成环境或需要批量验证数百个节点…...

语言模型低概率令牌优化与Lp-Reg方法实践

1. 低概率令牌现象的本质解析在语言模型生成文本的过程中,我们经常会观察到一种有趣现象:某些在训练数据中出现频率较低的词汇(即低概率令牌),在模型输出时却表现出超出预期的活跃度。这种现象背后隐藏着三个关键机制&…...

从数学建模到工程实践:用MATLAB复现多波束测线优化(附贪心算法与模拟退火代码)

从数学建模到工程实践:用MATLAB复现多波束测线优化(附贪心算法与模拟退火代码) 在海洋测绘领域,多波束测深技术因其高效、精准的特点成为海底地形测量的主流手段。但如何设计最优测线布设方案,既保证全覆盖又最小化冗…...

piz:用自然语言生成Shell命令的智能终端助手

1. 项目概述:当自然语言遇见终端作为一名在运维和开发领域摸爬滚打了十多年的老手,我几乎每天都要和终端(Shell)打交道。从find到awk,从grep到sed,这些命令是效率的基石,但也是记忆的负担。你是…...

从手动排版到一键生成:桌游设计师的卡牌制作效率革命

从手动排版到一键生成:桌游设计师的卡牌制作效率革命 【免费下载链接】CardEditor 一款专为桌游设计师开发的批处理数值填入卡牌生成器/A card batch generator specially developed for board game designers 项目地址: https://gitcode.com/gh_mirrors/ca/CardE…...

Visual C++ Redistributable AIO:Windows运行库自动化部署架构革新

Visual C Redistributable AIO:Windows运行库自动化部署架构革新 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C Redistributable AIO项目通…...

别再混淆MIPI-DSI的命令包了!0x29和0x39到底怎么选?附SPRD/Rockchip实例解析

别再混淆MIPI-DSI的命令包了!0x29和0x39到底怎么选?附SPRD/Rockchip实例解析 在嵌入式显示系统开发中,MIPI-DSI协议作为连接主控芯片与显示模组的核心桥梁,其命令包的准确使用直接关系到屏幕能否正常点亮。许多开发者在实际调试过…...

Escrcpy专业指南:解锁Android设备高效管理的完整解决方案

Escrcpy专业指南:解锁Android设备高效管理的完整解决方案 【免费下载链接】escrcpy 📱 Display and control your Android device graphically with scrcpy. 项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy 在移动设备管理领域&#…...

Audiveris OMR引擎技术架构深度解析:从图像到符号的完整处理流程

Audiveris OMR引擎技术架构深度解析:从图像到符号的完整处理流程 【免费下载链接】audiveris Latest generation of Audiveris OMR engine 项目地址: https://gitcode.com/gh_mirrors/au/audiveris Audiveris作为开源光学音乐识别系统,其核心价值…...

5个理由告诉你为什么gInk是Windows上最好的免费屏幕标注工具

5个理由告诉你为什么gInk是Windows上最好的免费屏幕标注工具 【免费下载链接】gInk An easy to use on-screen annotation software inspired by Epic Pen. 项目地址: https://gitcode.com/gh_mirrors/gi/gInk 你是否曾在演示时想要快速圈出重点,却找不到合适…...

5分钟快速上手GlosSI:终极系统级Steam控制器扩展方案

5分钟快速上手GlosSI:终极系统级Steam控制器扩展方案 【免费下载链接】GlosSI Tool for using Steam-Input controller rebinding at a system level alongside a global overlay 项目地址: https://gitcode.com/gh_mirrors/gl/GlosSI GlosSI(Glo…...

工业语言:08 HMI不是孤胆英雄:和 PLC、SCADA、机器人“团战”

08 HMI不是孤胆英雄:和 PLC、SCADA、机器人“团战” HMI 不是孤独的屏幕,它是整个工厂系统的“语言枢纽”。 前面咱们把HMI从“长啥样”聊到“十八般武艺”,今天直接揭秘它的“队友关系”——单独一个HMI最多算个“会说话的仪表盘”,但拉上PLC、SCADA、机器人组团,那才是工…...

QueryExcel:基于NPOI与多线程架构的分布式Excel内容检索引擎

QueryExcel:基于NPOI与多线程架构的分布式Excel内容检索引擎 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 在数据驱动的现代工作环境中,Excel文件已成为企业数据存储和交换的…...

终极指南:3分钟掌握My-TODOs免费桌面待办工具,开启高效生活新篇章

终极指南:3分钟掌握My-TODOs免费桌面待办工具,开启高效生活新篇章 【免费下载链接】My-TODOs A cross-platform desktop To-Do list. 跨平台桌面待办小工具 项目地址: https://gitcode.com/gh_mirrors/my/My-TODOs 你是不是也经常这样&#xff1f…...

别再死记硬背了!AutoSar RTE里S/R Port的显式和隐式,用这个比喻一下就懂了

外卖柜与服务员上菜:用生活场景秒懂AutoSar RTE的显隐式通信 刚接触AutoSar RTE的工程师们,是否曾被"S/R Port的显式与隐式通信"绕得头晕?教科书式的定义往往让人越看越迷糊。今天我们不堆术语,换个视角——把这两种通信…...

Scroll Reverser:macOS多设备滚动方向终极解决方案

Scroll Reverser:macOS多设备滚动方向终极解决方案 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否曾经在MacBook触控板和鼠标之间切换时感到困惑?…...

Taotoken多模型聚合能力在AIGC内容创作中的实践

Taotoken多模型聚合能力在AIGC内容创作中的实践 1. AIGC内容创作的模型选型挑战 在文案撰写、图像描述生成等AIGC内容创作场景中,不同任务往往需要不同特性的模型。例如,创意文案可能需要更开放的语言风格,而技术文档则需要严谨的结构化输出…...

重新定义实时视频处理:StreamFX插件架构深度解析

重新定义实时视频处理:StreamFX插件架构深度解析 【免费下载链接】obs-StreamFX StreamFX is a plugin for OBS Studio which adds many new effects, filters, sources, transitions and encoders! Be it 3D Transform, Blur, complex Masking, or even custom sha…...

AI自动化邮件管理:macOS Mail.app与SQLite FTS5本地索引实践

1. 项目概述:让AI助手接管你的macOS邮件客户端 如果你和我一样,每天被淹没在几十甚至上百封邮件里,从工作沟通、项目通知到各种订阅,处理邮件已经成了一种精神负担。更别提那些需要快速回复、分类归档的琐碎操作了。传统的邮件客…...