Back to skills
extension
Category: Content & MediaNo API key required

doubao-websearch

豆包 WebSearch 搜索工具。基于红狐 API 调用豆包联网搜索能力,提交查询后自动轮询等待结果返回。当用户需要使用豆包搜索、联网搜索、AI 搜索获取实时信息时使用。触发词:豆包搜索、豆包websearch、联网搜索、AI搜索、doubao搜索。

personAuthor: xabaabahubgithub

豆包 WebSearch

📝 简介

通过红狐 API 调用豆包联网搜索能力,提交查询后自动轮询等待结果返回。适用于需要联网实时搜索、AI 辅助信息检索的场景。

✨ 功能特性

| 功能模块 | 能力描述 | 核心价值 | |---------|---------|---------| | 异步提交 | 提交搜索关键词到豆包 WebSearch,返回 taskId | 无需等待,立即获取任务标识 | | 自动轮询 | 每 5 秒查询任务状态,最多等待 5 分钟 | 自动等待结果,无需手动查询 | | 进度反馈 | 轮询期间通过 stderr 实时输出等待状态 | 用户可知搜索进度 | | 结果输出 | 状态变为 completed 后输出完整 JSON | 结构化数据便于 Agent 解析展示 | | 异常处理 | 覆盖 API Key 缺失、提交失败、超时、任务失败四种场景 | 每种异常有明确提示和处理 |

🔑 鉴权

前往 红狐hub 获取 API Key,通过以下方式配置:

# 方式一:配置文件(如 OpenClaw 的 ~/.openclaw/openclaw.json)
{ "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 "<搜索关键词>"

脚本自动完成:

  1. 提交搜索POST /story/api/doubaoSearch/submit,传入 {"inquiry_text": "...", "source": "豆包websearch-GitHub"}
  2. 轮询结果:每 5 秒 POST /story/api/doubaoSearch/result 查询一次,直到状态为 completed
  3. 实时反馈:轮询期间通过 stderr 输出等待提示
  4. 最终输出:状态 completed 后输出完整 JSON 结果到 stdout

Step 3:展示结果

脚本返回 JSON 后,提取 data.content 中的豆包回答文本和 data.result 中的引用来源,结构化整理后向用户展示。

📦 依赖

pip3 install requests

⚠️ 错误处理

| 情况 | 处理方式 | |------|---------| | 未配置 REDFOX_API_KEY | 提示用户前往 红狐hub 获取 API Key | | 提交失败 | 输出错误信息,建议用户重试 | | 轮询超时(5 分钟) | 提示超时,建议稍后重试 | | 任务失败(status=failed) | 输出失败详情 |