Claude Skill

doubao-websearch

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

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download redfox-data-redfox-community-skills_doubao-websearch-5e7b435.zip · 6 KB
Part of redfox-data/redfox-community — 66 skills

Install

skills CLI npx skills add https://github.com/redfox-data/redfox-community/tree/main/skills/doubao-websearch
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install redfox-data-redfox-community@llmmart
Git git clone https://github.com/redfox-data/redfox-community.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole redfox-data/redfox-community collection as a plugin from our marketplace. Git is the plain clone.

README

豆包 WebSearch / doubao-websearch


简介

豆包 WebSearch 是一款联网智能搜索工具,只需用自然语言描述你想了解的话题,就能调用豆包的联网能力为你找到最新、最全的答案。

核心价值

  • 输入任意问题,自动联网搜索并返回结构化答案
  • 无需等待,后台自动轮询结果,搜完即时呈现
  • 结果包含完整回答和引用来源,方便核实

适用对象

  • 🔍 信息搜集者 — 需要快速获取某个话题的实时信息
  • ✍️ 内容创作者 — 为写作寻找参考素材和最新数据
  • 🎯 日常用户 — 想问什么直接问,省去自己翻网页的麻烦

功能特性

核心功能

  • 自然语言提问,智能联网搜索最新信息
  • 自动等待搜索结果,中途实时提示进度
  • 返回结构化答案,附带引用来源链接
  • 覆盖 API Key 缺失、超时等异常情况的友好提示

密钥获取与安全说明

  • 本技能需要使用环境变量:REDFOX_API_KEY。
  • REDFOX_API_KEY 由 红狐 hub(https://redfox.hk)提供。
  • 请前往 红狐 hub 注册账号,获取 REDFOX_API_KEY。
  • 配置设备环境变量 REDFOX_API_KEY 后使用本技能。
  • 在提供密钥前,请先确认密钥来源、可用范围、有效期及是否支持重置/撤销。
  • 禁止在代码、提示词、日志或输出文件中硬编码/明文暴露密钥。

使用指南

直接用自然语言描述需求,无需记忆命令。

常用说法速查

意图 示例话术 效果
搜索资讯 「推荐几个父亲节礼物」 返回分预算、分类型的礼物推荐清单
探店查询 「成都周边有热门的二次元书店吗」 列出市区及周边的书店,含地址和交通
知识问答 「AI Agent 的最新发展趋势是什么」 返回结构化的行业分析

输出示例

搜索「推荐几个父亲节礼物」后,你会得到类似这样的回答:

百元内平价实用款

礼物 预算 适合人群
保温杯 50-100元 爱喝茶、常出门的爸爸
电动剃须刀 80-100元 所有爸爸,日常刚需

100-500元品质提升款

……

选礼物时,实用性永远是第一位,结合父亲的日常习惯和爱好,才能送出真正让他开心的礼物!


使用场景

场景 角色 示例问法 收益
日常搜索 普通用户 「2026年最值得买的手机」 快速获得分档位对比推荐
内容创作 自媒体博主 「最近的热点话题有哪些」 获取实时选题灵感
旅游规划 旅行爱好者 「成都周边有什么好玩的」 获得带地址和交通的攻略
学习研究 学生/研究者 「Transformer 架构的原理」 得到结构化知识总结

Skill manifest

豆包 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) 输出失败详情
Files (redfox-community)
  • scripts
    • doubao_search.py 3.8 KB
      #!/usr/bin/env python3
      """
      豆包 WebSearch — 提交搜索查询并轮询结果
      
      用法:
          python3 doubao_search.py "<搜索关键词>" [source标识]
      
      环境变量:
          REDFOX_API_KEY — 红狐 API Key(必填)
      """
      
      import os
      import sys
      import json
      import time
      
      import requests
      
      API_BASE = "https://redfox.hk/story/api/doubaoSearch"
      API_KEY = os.environ.get("REDFOX_API_KEY")
      MAX_ATTEMPTS = 60  # 最多轮询 5 分钟
      POLL_INTERVAL = 5  # 轮询间隔(秒)
      
      
      def main():
          if not API_KEY:
              print(
                  json.dumps(
                      {
                          "error": (
                              "未配置 REDFOX_API_KEY 环境变量,"
                              "请前往 https://redfox.hk/settings/api-keys?source=github 获取 API Key"
                          )
                      },
                      ensure_ascii=False,
                  )
              )
              sys.exit(1)
      
          if len(sys.argv) < 2:
              print(json.dumps({"error": "请提供搜索关键词"}, ensure_ascii=False))
              sys.exit(1)
      
          query = sys.argv[1]
          source = sys.argv[2] if len(sys.argv) > 2 else "豆包websearch-GitHub"
      
          headers = {
              "X-API-Key": API_KEY,
              "Content-Type": "application/json",
          }
      
          # ── Step 1: 提交搜索 ──────────────────────────────────────────────
          try:
              submit_resp = requests.post(
                  f"{API_BASE}/submit",
                  json={"inquiry_text": query, "source": source},
                  headers=headers,
                  timeout=30,
              )
              submit_resp.raise_for_status()
              submit_data = submit_resp.json()
          except requests.RequestException as e:
              print(json.dumps({"error": f"提交搜索请求失败: {e}"}, ensure_ascii=False))
              sys.exit(1)
      
          task_id = submit_data.get("data", {}).get("taskId")
          if not task_id:
              print(
                  json.dumps(
                      {"error": f"提交失败,未获取到 taskId: {submit_data}"},
                      ensure_ascii=False,
                  )
              )
              sys.exit(1)
      
          print(
              f"⏳ 已提交搜索请求 (taskId: {task_id}),正在等待豆包 WebSearch 返回结果…",
              file=sys.stderr,
          )
      
          # ── Step 2: 轮询结果 ──────────────────────────────────────────────
          for attempt in range(1, MAX_ATTEMPTS + 1):
              time.sleep(POLL_INTERVAL)
      
              try:
                  result_resp = requests.post(
                      f"{API_BASE}/result",
                      json={"taskId": task_id},
                      headers=headers,
                      timeout=30,
                  )
                  result_resp.raise_for_status()
                  result_data = result_resp.json()
              except requests.RequestException as e:
                  print(
                      f"⚠️ 第 {attempt} 次查询结果失败: {e},继续重试…",
                      file=sys.stderr,
                  )
                  continue
      
              status = result_data.get("data", {}).get("status", "")
              if not status:
                  status = result_data.get("status", "")
      
              if status == "completed":
                  # 成功:输出最终结果到 stdout
                  print(json.dumps(result_data, ensure_ascii=False))
                  return
      
              if status == "failed":
                  print(
                      json.dumps(
                          {"error": f"搜索任务失败: {result_data}"}, ensure_ascii=False
                      )
                  )
                  sys.exit(1)
      
              # 仍在处理中,提示用户进度
              print(
                  f"   ⏳ 第 {attempt} 次轮询,状态: {status},继续等待…",
                  file=sys.stderr,
              )
      
          print(
              json.dumps({"error": "搜索超时(已等待 5 分钟),请稍后重试"}, ensure_ascii=False)
          )
          sys.exit(1)
      
      
      if __name__ == "__main__":
          main()
      
  • README.en.md 3.2 KB
    # Doubao WebSearch / doubao-websearch
    
    ---
    
    ## Overview
    
    Doubao WebSearch is an intelligent web search tool. Simply describe what you want to find out in natural language, and it will leverage Doubao's web search capability to deliver the freshest, most comprehensive answers.
    
    **Core Value**
    
    - Ask any question and get structured answers through automated web search
    - No manual waiting — results are polled automatically and presented as soon as ready
    - Answers include full text and citation sources for easy verification
    
    **Who It's For**
    
    - 🔍 **Information seekers** — Quickly gather real-time insights on any topic
    - ✍️ **Content creators** — Find reference material and up-to-date data for writing
    - 🎯 **Everyday users** — Ask whatever comes to mind without browsing through web pages
    
    ---
    
    ## Features
    
    ### Core Capabilities
    
    - Natural language queries with intelligent web search for the latest information
    - Automatic result polling with real-time progress updates
    - Structured answers with source citations
    - Friendly guidance for exceptions such as missing API keys, timeouts, etc.
    
    ---
    
    ## API Key Acquisition & Security
    
    - This skill requires the environment variable: `REDFOX_API_KEY`.
    - `REDFOX_API_KEY` is provided by [RedFoxHub](https://redfox.hk/settings/api-keys?source=github) (`https://redfox.hk`).
    - Visit [RedFoxHub](https://redfox.hk?source=github) to register and obtain your `REDFOX_API_KEY`.
    - Configure the environment variable `REDFOX_API_KEY` on your device before using this skill.
    - Before providing a key, verify its source, scope, expiration, and whether it supports reset/revocation.
    - Do not hardcode or expose the key in plain text within code, prompts, logs, or output files.
    
    ---
    
    ## Usage
    
    Just describe what you need in natural language — no commands to memorize.
    
    ### Quick Reference
    
    | Intent | Example Prompt | Result |
    |--------|---------------|--------|
    | Search for info | "Recommend some Father's Day gifts" | A categorized gift guide by budget and type |
    | Discover local spots | "Are there any popular anime bookstores around Chengdu?" | A list of bookstores with addresses and directions |
    | Knowledge Q&A | "What are the latest trends in AI agents?" | A structured industry analysis |
    
    ### Example Output
    
    After searching "Recommend some Father's Day gifts", you'll receive something like:
    
    > #### Under 100 CNY — Practical & Affordable
    > | Gift | Budget | Best For |
    > |------|--------|----------|
    > | Thermos | 50-100 CNY | Dads who love tea and are often out |
    > | Electric shaver | 80-100 CNY | All dads, daily essential |
    >
    > #### 100-500 CNY — Quality Picks
    > ……
    >
    > When choosing a gift, practicality always comes first. Match it to your dad's habits and hobbies, and you'll find something he truly enjoys!
    
    ---
    
    ## Use Cases
    
    | Scenario | Role | Example | Benefit |
    |----------|------|---------|---------|
    | Everyday search | General user | "Best phones of 2026" | Quick tiered comparison |
    | Content creation | Blogger / Creator | "What's trending lately?" | Real-time topic inspiration |
    | Travel planning | Travel enthusiast | "Things to do around Chengdu" | Guides with addresses and directions |
    | Study & research | Student / Researcher | "How does the Transformer architecture work?" | Structured knowledge summaries |
    
  • README.md 3 KB
    # 豆包 WebSearch / doubao-websearch
    
    ---
    
    ## 简介
    
    豆包 WebSearch 是一款联网智能搜索工具,只需用自然语言描述你想了解的话题,就能调用豆包的联网能力为你找到最新、最全的答案。
    
    **核心价值**
    
    - 输入任意问题,自动联网搜索并返回结构化答案
    - 无需等待,后台自动轮询结果,搜完即时呈现
    - 结果包含完整回答和引用来源,方便核实
    
    **适用对象**
    
    - 🔍 **信息搜集者** — 需要快速获取某个话题的实时信息
    - ✍️ **内容创作者** — 为写作寻找参考素材和最新数据
    - 🎯 **日常用户** — 想问什么直接问,省去自己翻网页的麻烦
    
    ---
    
    ## 功能特性
    
    ### 核心功能
    
    - 自然语言提问,智能联网搜索最新信息
    - 自动等待搜索结果,中途实时提示进度
    - 返回结构化答案,附带引用来源链接
    - 覆盖 API Key 缺失、超时等异常情况的友好提示
    
    ---
    
    ## 密钥获取与安全说明
    
    - 本技能需要使用环境变量:`REDFOX_API_KEY`。
    - `REDFOX_API_KEY` 由 [红狐 hub](https://redfox.hk/settings/api-keys?source=github)(`https://redfox.hk`)提供。
    - 请前往 [红狐 hub](https://redfox.hk?source=github) 注册账号,获取 `REDFOX_API_KEY`。
    - 配置设备环境变量 `REDFOX_API_KEY` 后使用本技能。
    - 在提供密钥前,请先确认密钥来源、可用范围、有效期及是否支持重置/撤销。
    - 禁止在代码、提示词、日志或输出文件中硬编码/明文暴露密钥。
    
    ---
    
    ## 使用指南
    
    直接用自然语言描述需求,无需记忆命令。
    
    ### 常用说法速查
    
    | 意图 | 示例话术 | 效果 |
    |------|---------|------|
    | 搜索资讯 | 「推荐几个父亲节礼物」 | 返回分预算、分类型的礼物推荐清单 |
    | 探店查询 | 「成都周边有热门的二次元书店吗」 | 列出市区及周边的书店,含地址和交通 |
    | 知识问答 | 「AI Agent 的最新发展趋势是什么」 | 返回结构化的行业分析 |
    
    ### 输出示例
    
    搜索「推荐几个父亲节礼物」后,你会得到类似这样的回答:
    
    > #### 百元内平价实用款
    > | 礼物 | 预算 | 适合人群 |
    > |------|------|----------|
    > | 保温杯 | 50-100元 | 爱喝茶、常出门的爸爸 |
    > | 电动剃须刀 | 80-100元 | 所有爸爸,日常刚需 |
    >
    > #### 100-500元品质提升款
    > ……
    >
    > 选礼物时,实用性永远是第一位,结合父亲的日常习惯和爱好,才能送出真正让他开心的礼物!
    
    ---
    
    ## 使用场景
    
    | 场景 | 角色 | 示例问法 | 收益 |
    |------|------|---------|------|
    | 日常搜索 | 普通用户 | 「2026年最值得买的手机」 | 快速获得分档位对比推荐 |
    | 内容创作 | 自媒体博主 | 「最近的热点话题有哪些」 | 获取实时选题灵感 |
    | 旅游规划 | 旅行爱好者 | 「成都周边有什么好玩的」 | 获得带地址和交通的攻略 |
    | 学习研究 | 学生/研究者 | 「Transformer 架构的原理」 | 得到结构化知识总结 |
    
  • SKILL.md 2.8 KB
    ---
    name: doubao-websearch
    description: 豆包 WebSearch 搜索工具。基于红狐 API 调用豆包联网搜索能力,提交查询后自动轮询等待结果返回。当用户需要使用豆包搜索、联网搜索、AI 搜索获取实时信息时使用。触发词:豆包搜索、豆包websearch、联网搜索、AI搜索、doubao搜索。
    ---
    
    # 豆包 WebSearch
    
    ## 📝 简介
    
    通过红狐 API 调用豆包联网搜索能力,提交查询后自动轮询等待结果返回。适用于需要联网实时搜索、AI 辅助信息检索的场景。
    
    ## ✨ 功能特性
    
    | 功能模块 | 能力描述 | 核心价值 |
    |---------|---------|---------|
    | 异步提交 | 提交搜索关键词到豆包 WebSearch,返回 taskId | 无需等待,立即获取任务标识 |
    | 自动轮询 | 每 5 秒查询任务状态,最多等待 5 分钟 | 自动等待结果,无需手动查询 |
    | 进度反馈 | 轮询期间通过 stderr 实时输出等待状态 | 用户可知搜索进度 |
    | 结果输出 | 状态变为 completed 后输出完整 JSON | 结构化数据便于 Agent 解析展示 |
    | 异常处理 | 覆盖 API Key 缺失、提交失败、超时、任务失败四种场景 | 每种异常有明确提示和处理 |
    
    ## 🔑 鉴权
    
    前往 [红狐hub](https://redfox.hk/settings/api-keys?source=github) 获取 API Key,通过以下方式配置:
    
    ```bash
    # 方式一:配置文件(如 OpenClaw 的 ~/.openclaw/openclaw.json)
    { "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
    
    # 方式二:终端环境变量
    export REDFOX_API_KEY="ak_xxxx..."
    ```
    
    ## 🔄 工作流程
    
    ### Step 1:提取搜索关键词
    
    从用户自然语言描述中提取搜索意图和关键词,作为 `inquiry_text` 传入。
    
    ### Step 2:调用搜索脚本
    
    ```bash
    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` 中的引用来源,结构化整理后向用户展示。
    
    ## 📦 依赖
    
    ```bash
    pip3 install requests
    ```
    
    ## ⚠️ 错误处理
    
    | 情况 | 处理方式 |
    |------|---------|
    | 未配置 `REDFOX_API_KEY` | 提示用户前往 [红狐hub](https://redfox.hk/settings/api-keys?source=github) 获取 API Key |
    | 提交失败 | 输出错误信息,建议用户重试 |
    | 轮询超时(5 分钟) | 提示超时,建议稍后重试 |
    | 任务失败(status=failed) | 输出失败详情 |
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related