Blade 提供强大而灵活的工具系统,支持文件操作、搜索、Shell 命令、网络请求等多种功能。
| 工具 | 说明 | 主要功能 |
|---|---|---|
read |
读取文件 | 支持文本、图片、PDF等多种格式 |
write |
写入文件 | 支持编码、备份、目录创建 |
edit |
编辑文件 | 字符串替换、正则匹配 |
multi_edit |
批量编辑 | 一次执行多个编辑操作 |
| 工具 | 说明 | 主要功能 |
|---|---|---|
glob |
文件模式匹配 | 使用 glob 模式查找文件 |
grep |
内容搜索 | 在文件中搜索文本内容 |
find |
文件查找 | 根据条件查找文件(名称、大小、时间等) |
| 工具 | 说明 | 主要功能 |
|---|---|---|
bash |
Bash 命令 | 执行 Bash 命令,支持后台运行 |
shell |
通用 Shell | 执行 Shell 命令,自动处理环境 |
script |
脚本执行 | 执行脚本文件(支持多种解释器) |
bash_output |
后台输出 | 读取后台 Bash 命令的最新输出,支持正则过滤 |
kill_shell |
终止后台命令 | 根据 Shell ID 终止正在运行的后台进程 |
| 工具 | 说明 | 主要功能 |
|---|---|---|
web_fetch |
网页抓取 | 获取网页内容,支持Markdown转换 |
api_call |
API 调用 | RESTful API 请求,支持认证 |
web_search |
网络搜索 | DuckDuckGo 搜索,支持域名过滤 |
| 工具 | 说明 | 主要功能 |
|---|---|---|
task |
任务代理 | 启动子Agent处理复杂任务 |
Blade 支持通过 Model Context Protocol (MCP) 扩展外部工具。MCP 工具会自动转换为标准 Tool 接口。
详细文档: MCP 协议支持
import { createTool } from '@/tools/core';
import { ToolKind } from '@/tools/types';
import { z } from 'zod';
export const myTool = createTool({
name: 'my_tool',
displayName: '我的工具',
kind: ToolKind.Other,
schema: z.object({
input: z.string().describe('输入参数'),
}),
description: {
short: '工具简短描述',
},
async execute(params, context) {
return {
success: true,
llmContent: `处理结果: ${params.input}`,
displayContent: `✅ 操作成功`,
};
}
});所有工具(内置/MCP/自定义)使用相同的 Tool 接口。
基于 Zod Schema 的端到端类型推断。
无需复杂继承,直接调用 createTool。