| name | doubao-websearch |
| description | 豆包 WebSearch 搜索工具。基于红狐 API 调用豆包联网搜索能力,提交查询后自动轮询等待结果返回。当用户需要使用豆包搜索、联网搜索、AI 搜索获取实时信息时使用。触发词:豆包搜索、豆包websearch、联网搜索、AI搜索、doubao搜索。 |
豆包 WebSearch
📝 简介
通过红狐 API 调用豆包联网搜索能力,提交查询后自动轮询等待结果返回。适用于需要联网实时搜索、AI 辅助信息检索的场景。
✨ 功能特性
| 功能模块 | 能力描述 | 核心价值 |
|---|
| 异步提交 | 提交搜索关键词到豆包 WebSearch,返回 taskId | 无需等待,立即获取任务标识 |
| 自动轮询 | 每 5 秒查询任务状态,最多等待 5 分钟 | 自动等待结果,无需手动查询 |
| 进度反馈 | 轮询期间通过 stderr 实时输出等待状态 | 用户可知搜索进度 |
| 结果输出 | 状态变为 completed 后输出完整 JSON | 结构化数据便于 Agent 解析展示 |
| 异常处理 | 覆盖 API Key 缺失、提交失败、超时、任务失败四种场景 | 每种异常有明确提示和处理 |
🔑 鉴权
前往 红狐hub 获取 API Key,通过以下方式配置:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
export REDFOX_API_KEY="ak_xxxx..."
🔄 工作流程
Step 1:提取搜索关键词
从用户自然语言描述中提取搜索意图和关键词,作为 inquiry_text 传入。
Step 2:调用搜索脚本
python3 ~/.agents/skills/doubao-websearch/scripts/doubao_search.py "<搜索关键词>"
脚本自动完成:
- 提交搜索:
POST /story/api/doubaoSearch/submit,传入 {"inquiry_text": "...", "source": "豆包websearch-GitHub"}
- 轮询结果:每 5 秒
POST /story/api/doubaoSearch/result 查询一次,直到状态为 completed
- 实时反馈:轮询期间通过 stderr 输出等待提示
- 最终输出:状态
completed 后输出完整 JSON 结果到 stdout
Step 3:展示结果
脚本返回 JSON 后,提取 data.content 中的豆包回答文本和 data.result 中的引用来源,结构化整理后向用户展示。
📦 依赖
pip3 install requests
⚠️ 错误处理
| 情况 | 处理方式 |
|---|
未配置 REDFOX_API_KEY | 提示用户前往 红狐hub 获取 API Key |
| 提交失败 | 输出错误信息,建议用户重试 |
| 轮询超时(5 分钟) | 提示超时,建议稍后重试 |
| 任务失败(status=failed) | 输出失败详情 |