关于 search
面向 LLM 的网页搜索技能,返回适合 LLM 使用的结果。脚本支持设置结果数量、搜索深度、日期范围和域名筛选等选项。
主要功能
- 01搜索网页
- 02设置结果数量和深度
- 03按日期范围筛选
- 04包含或排除域名
- 05请求完整页面内容
适用场景
- 01查找近期技术信息
- 02在可信域名内搜索
- 03按查询获取页面内容
MCP 相关
脚本通过 Tavily MCP 服务进行 OAuth 认证,也可选择使用 API 密钥。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tavily-ai/ skills --skill search安装后在 Claude Code 中输入/search确认已加载。
附带文件scripts/search.sh
详细介绍
搜索技能
搜索网络并获取针对大模型优化的相关结果。
身份验证
该脚本通过 Tavily MCP 服务使用 OAuth。无需手动设置——首次运行时,它将:
- 检查
~/.mcp-auth/中是否存在令牌 - 如果没有找到令牌,则自动打开浏览器进行 OAuth 身份验证
**注意:**你必须拥有现有的 Tavily 账户。OAuth 流程仅支持登录,无法通过此流程创建账户。如果你还没有账户,请先在 tavily.com 注册。
替代方案:API 密钥
如果你更倾向于使用 API 密钥,请前往 https://tavily.com 获取,并将其添加到 ~/.claude/settings.json:
{
"env": {
"TAVILY_API_KEY": "tvly-your-api-key-here"
}
}
快速开始
使用脚本
./scripts/search.sh '<json>'
示例:
# Basic search
./scripts/search.sh '{"query": "python async patterns"}'
# With options
./scripts/search.sh '{"query": "React hooks tutorial", "max_results": 10}'
# Advanced search with filters
./scripts/search.sh '{"query": "AI news", "time_range": "week", "max_results": 10}'
# Domain-filtered search
./scripts/search.sh '{"query": "machine learning", "include_domains": ["arxiv.org", "github.com"], "search_depth": "advanced"}'
基本搜索
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "latest developments in quantum computing",
"max_results": 5
}'
高级搜索
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "machine learning best practices",
"max_results": 10,
"search_depth": "advanced",
"include_domains": ["arxiv.org", "github.com"]
}'
API 参考
端点
POST https://api.tavily.com/search
请求头
| 请求头 | 值 |
|---|---|
Authorization | Bearer <TAVILY_API_KEY> |
Content-Type | application/json |
请求正文
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
query | 字符串 | 必填 | 搜索查询(不超过 400 个字符) |
max_results | 整数 | 10 | 最大结果数(0-20) |
search_depth | 字符串 | "basic" | ultra-fast、fast、basic、advanced |
topic | 字符串 | "general" | 搜索主题(仅限 general) |
time_range | 字符串 | null | day、week、month、year |
start_date | 字符串 | null | 返回此日期之后的结果(YYYY-MM-DD) |
end_date | 字符串 | null | 返回此日期之前的结果(YYYY-MM-DD) |
include_domains | 数组 | [] | 要包含的域名(最多 300 个) |
exclude_domains | 数组 | [] | 要排除的域名(最多 150 个) |
country | 字符串 | null | 提升特定国家/地区的结果排名(仅限 general 主题) |
include_raw_content | 布尔值 | false | 包含完整页面内容 |
include_images | 布尔值 | false | 包含图片结果 |
include_image_descriptions | 布尔值 | false | 包含图片描述 |
include_favicon | 布尔值 | false | 包含每个结果的 favicon URL |
响应格式
{
"query": "latest developments in quantum computing",
"results": [
{
"title": "Page Title",
"url": "https://example.com/page",
"content": "Extracted text snippet...",
"score": 0.85
}
],
"response_time": 1.2
}
搜索深度
| 深度 | 延迟 | 相关性 | 内容类型 |
|---|---|---|---|
ultra-fast | 最低 | 较低 | NLP 摘要 |
fast | 低 | 良好 | 分块内容 |
basic | 中等 | 高 | NLP 摘要 |
advanced | 较高 | 最高 | 分块内容 |
各模式的适用场景:
ultra-fast:实时聊天、自动补全fast:需要分块内容,但延迟很重要basic:通用场景,兼顾各方面advanced:注重精确度(默认推荐)
示例
按域名筛选的搜索
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "Python async best practices",
"include_domains": ["docs.python.org", "realpython.com", "github.com"],
"search_depth": "advanced"
}'
搜索并获取完整内容
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "React hooks tutorial",
"max_results": 3,
"include_raw_content": true
}'
提示
- 查询不超过 400 个字符——输入搜索查询,而不是提示词
- 将复杂查询拆分为多个子查询——效果优于单个冗长查询
- 使用
include_domains聚焦可信来源 - 使用
time_range获取近期信息 - 按
score(0-1)筛选,获取相关性最高的结果
评论
支持 Markdown