关于 doubao-websearch
doubao-websearch 是通过红狐 API 调用豆包联网搜索的技能,面向需要实时检索信息的 Agent。它会异步提交查询、轮询任务状态,并以 JSON 返回结果和引用来源。
主要功能
- 01异步提交搜索查询
- 02自动轮询任务状态
- 03通过标准错误输出进度
- 04以 JSON 返回结果
- 05处理鉴权、失败与超时
适用场景
- 01检索最新的网络信息
- 02获取带引用来源的搜索回答
- 03将搜索结果交由 Agent 解析
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redfox-data/ redfox-community --skill doubao-websearch安装后在 Claude Code 中输入/doubao-websearch确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.en.mdREADME.mdscripts/doubao_search.py详细介绍
来自项目 README豆包 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 "<搜索关键词>"
脚本自动完成:
- 提交搜索:
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) | 输出失败详情 |
评论
支持 Markdown