问题所在
CrewAI 的默认搜索工具功能有限:基础网络搜索无多平台覆盖,无结构化 SERP 特性,无法访问 Amazon、TikTok 或 Reddit 数据。CrewAI 中的代理受限于通用网络搜索返回的内容。
Scavio 解决方案
创建由 Scavio API 支持的自定义 CrewAI BaseTool 子类。工具接受 query 和 platform 参数,返回结构化结果,并集成到任何 crew。代理可搜索 Google、Amazon、Reddit、YouTube、TikTok 和 Walmart。
之前
使用自定义工具前,CrewAI 代理使用返回无结构化数据通用摘要的基础网络搜索。产品定价任务返回估算而非实际价格。
之后
添加 Scavio 支持的工具后,crew 中任何代理可一次函数调用搜索6个平台。研究代理获取当前 Reddit 讨论,定价代理获取实时 Amazon 数据。
适用人群
构建需要超越默认工具的网络搜索的多代理 crew 的 CrewAI 开发者。构建研究、分析或数据收集代理的团队。
核心优势
- 一个自定义工具为整个 crew 提供6平台搜索能力
- 结构化 JSON 结果为代理提供特定数据点
- 实时定价、库存和讨论数据替代训练数据
- 简单 BaseTool 子类与标准 CrewAI 工具集成
- 按查询定价使 crew 运营成本可预测
Python 示例
import requests
# from crewai_tools import BaseTool # uncomment for CrewAI
API_KEY = "your_scavio_api_key"
class ScavioSearchTool:
"""Multi-platform search tool for CrewAI agents."""
name = "web_search"
description = "Search Google, Amazon, YouTube, Reddit, TikTok, or Walmart for current data. Specify platform as second argument."
def _run(self, query: str, platform: str = "google") -> str:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=15,
)
res.raise_for_status()
data = res.json()
results = []
for r in data.get("organic", [])[:5]:
line = f"- {r.get('title', '')}: {r.get('snippet', '')}"
if r.get("price"):
line += f" (${r['price']})"
if r.get("link"):
line += f" [{r['link']}]"
results.append(line)
return "\n".join(results) if results else "No results found."
# Usage in CrewAI:
# from crewai import Agent, Task, Crew
# tool = ScavioSearchTool()
# researcher = Agent(role="Researcher", tools=[tool], ...)
search = ScavioSearchTool()
print(search._run("best search api pricing 2026", "google"))JavaScript 示例
const API_KEY = "your_scavio_api_key";
// CrewAI JS tool pattern
const scavioSearchTool = {
name: "web_search",
description: "Search Google, Amazon, YouTube, Reddit, TikTok, or Walmart for current data.",
async run(query, platform = "google") {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
return (data.organic ?? [])
.slice(0, 5)
.map((r) => `- ${r.title ?? ""}: ${r.snippet ?? ""}${r.price ? ` ($${r.price})` : ""} [${r.link ?? ""}]`)
.join("\n") || "No results found.";
},
};
console.log(await scavioSearchTool.run("best search api pricing 2026"));使用的平台
包含知识图谱、PAA和AI概览的网页搜索
Amazon
包含价格、评分和评论的产品搜索
YouTube
包含转录和元数据的视频搜索
来自任何subreddit的社区、帖子及线程评论
TikTok
发现热门视频、创作者和产品
Walmart
包含定价和配送数据的产品搜索