一、tavily 工具
1.1 工具概述
功能:AI 优化搜索引擎
核心特性:
- AI 优化搜索结果
- 支持搜索深度(basic/advanced)
- 支持主题分类
- 需要 API Key
1.2 Schema 定义
constTavilySearchToolSchema=Type.Object({query:Type.String({description:"Search query"}),searchDepth:Type.Optional(Type.String({enum:["basic","advanced"],description:"Search depth level"})),topic:Type.Optional(Type.String({description:"Topic category for better results"})),maxResults:Type.Optional(Type.Number({description:"Maximum number of results to return",default:10}))});1.3 执行代码
functioncreateTavilyTool(options){constapiKey=options?.config?.tools?.tavily?.apiKey??process.env.TAVILY_API_KEY;if(!apiKey){returnnull;// API Key 未配置,工具不可用}return{label:"Tavily",name:"tavily",description:"AI-optimized search engine for research and fact-finding.",parameters:TavilySearchToolSchema,execute:async(_toolCallId,args)=>{constparams=args;// 1. 解析查询(必填)constquery=readStringParam$1(params,"query",{required:true});// 2. 解析搜索深度constsearchDepth=params.searchDepth==="advanced"?"advanced":"basic";// 3. 解析主题consttopic=readStringParam$1(params,"topic");// 4. 解析结果数量constmaxResults=typeofparams.maxResults==="number"?Math.max(1,Math.min(params.maxResults,20)):10;// 5. 调用 Tavily APIconstresponse=awaitfetch("https://api.tavily.com/search",{method:"POST",headers:{"Content-Type":"application/json","Authorization":`Bearer${apiKey}`},body:JSON.stringify({query,search_depth:searchDepth,topic:topic||"general",max_results:maxResults,include_answer:true,include_raw_content:false})});if(!response.ok){thrownewError(`Tavily API error:${response.status}${response.statusText}`);}constdata=awaitresponse.json();// 6. 返回结果returnjsonResult({query:data.query,answer:data.answer,results:data.results.map((r)=>({title:r.title,url:r.url,content:r.content,score:r.score})),total:data.results.length});}};}1.4 返回结果格式
成功:
{"query":"OpenClaw documentation","answer":"OpenClaw is an AI assistant framework...","results":[{"title":"OpenClaw Documentation","url":"https://docs.openclaw.ai","content":"Official documentation for OpenClaw...","score":0.95}],"total":10}二、辅助工具
2.1 apply_patch(已在第 13 组涉及)
功能:应用补丁到多个文件
详细说明:见apply_patch+sandboxed_read.md
2.2 image_generate(已在第 10 组涉及)
功能:生成图像(文生图/图生图)
详细说明:见web_fetch+image_generate.md
2.3 sessions_history(已在第 03 组涉及)
功能:获取会话历史消息
详细说明:见sessions_list+sessions_history.md
三、工具分类总览
3.1 完整工具列表(36 个)
| 类别 | 工具数量 | 工具名称 |
|---|---|---|
| 核心基础工具 | 5 | read, write, edit, exec, process |
| 会话管理工具 | 7 | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, session_status, subagents |
| 网络工具 | 4 | web_search, web_fetch, browser, tavily |
| 媒体工具 | 3 | image, image_generate, pdf |
| OpenClaw 核心工具 | 11 | gateway, agents_list, cron, nodes, canvas, message, tts, memory_search, memory_get, apply_patch, plugin 工具 |
| 沙盒工具 | 3 | sandboxed_read, sandboxed_write, sandboxed_edit |
| Host 工具 | 2 | host_workspace_write, host_workspace_edit |
| 补丁工具 | 1 | apply_patch |
3.2 文档覆盖情况
| 文档 | 工具 | 状态 |
|---|---|---|
read+write.md | read, write | ✅ 完成 |
edit+process.md | edit, process | ✅ 完成 |
sessions_list+sessions_history.md | sessions_list, sessions_history | ✅ 完成 |
sessions_send+sessions_spawn.md | sessions_send, sessions_spawn | ✅ 完成 |
sessions_yield+session_status.md | sessions_yield, session_status | ✅ 完成 |
subagents+gateway.md | subagents, gateway | ✅ 完成 |
cron+nodes.md | cron, nodes | ✅ 完成 |
canvas+message.md | canvas, message | ✅ 完成 |
tts+web_search.md | tts, web_search | ✅ 完成 |
web_fetch+image_generate.md | web_fetch, image_generate | ✅ 完成 |
image+pdf.md | image, pdf | ✅ 完成 |
browser+agents_list.md | browser, agents_list | ✅ 完成 |
apply_patch+sandboxed_read.md | apply_patch, sandboxed_read | ✅ 完成 |
sandboxed_write+sandboxed_edit.md | sandboxed_write, sandboxed_edit | ✅ 完成 |
host_workspace_write+host_workspace_edit.md | host_workspace_write, host_workspace_edit | ✅ 完成 |
memory_search+memory_get.md | memory_search, memory_get | ✅ 完成 |
tavily+auxiliary.md | tavily, 其他 | ✅ 完成 |
四、17 组(36 个工具)最终总结
已完成 17 组(36 个工具):
| 组号 | 工具 | 文档大小 |
|---|---|---|
| 01 | read + write | 14KB |
| 02 | edit + process | 25KB |
| 03 | sessions_list + sessions_history | 26KB |
| 04 | sessions_send + sessions_spawn | 25KB |
| 05 | sessions_yield + session_status | 15KB |
| 06 | subagents + gateway | 22KB |
| 07 | cron + nodes | 36KB |
| 08 | canvas + message | 21KB |
| 09 | tts + web_search | 8KB |
| 10 | web_fetch + image_generate | 15KB |
| 11 | image + pdf | 24KB |
| 12 | browser + agents_list | 17KB |
| 13 | apply_patch + sandboxed_read | 10KB |
| 14 | sandboxed_write + sandboxed_edit | 9KB |
| 15 | host_workspace_write + host_workspace_edit | 11KB |
| 16 | memory_search + memory_get | 12KB |
| 17 | tavily + auxiliary | 本组 |
总计:约300KB文档,覆盖36 个核心工具!
五、使用指南
5.1 工具选择指南
| 需求 | 推荐工具 |
|---|---|
| 读取文件 | read / sandboxed_read |
| 写入文件 | write / sandboxed_write / host_workspace_write |
| 编辑文件 | edit / sandboxed_edit / host_workspace_edit |
| 执行命令 | exec + process |
| 搜索网络 | web_search / tavily |
| 抓取网页 | web_fetch |
| 图像分析 | image |
| 图像生成 | image_generate |
| PDF 分析 | |
| 语音合成 | tts |
| 浏览器自动化 | browser |
| 定时任务 | cron |
| 节点管理 | nodes |
| Canvas 控制 | canvas |
| 消息发送 | message |
| 会话管理 | sessions_* |
| 子 agent 管理 | subagents / sessions_spawn |
| Gateway 管理 | gateway |
| Agent 列表 | agents_list |
| 记忆搜索 | memory_search / memory_get |
| 补丁应用 | apply_patch |
5.2 沙盒模式选择
沙盒模式启用时: ├─ 读取文件 → sandboxed_read ├─ 写入文件 → sandboxed_write └─ 编辑文件 → sandboxed_edit 非沙盒模式时: ├─ 读取文件 → read ├─ 写入文件 → host_workspace_write └─ 编辑文件 → host_workspace_edit