🧪 Skills

duckduckgo-search-skills

Search the web using DuckDuckGo. No API key required. Supports instant answers and HTML scraping modes. Privacy-focused search alternative.

v1.0.0
❤️ 0
⬇️ 47
👁 1
Share

Description


name: duckduckgo-search description: Search the web using DuckDuckGo. No API key required. Supports instant answers and HTML scraping modes. Privacy-focused search alternative. homepage: https://duckduckgo.com metadata: openclaw: emoji: "🦆" requires: bins: ["python3"]

DuckDuckGo Search Skill

使用 DuckDuckGo 进行隐私保护的网页搜索,无需 API Key

特点

  • 无需 API Key - 直接使用
  • 隐私保护 - 不追踪用户
  • 两种模式 - Instant API / HTML Scraping
  • 免费无限制 - 无配额限制

使用方法

基本搜索

python3 scripts/duckduckgo_search.py "搜索关键词"

指定结果数量

python3 scripts/duckduckgo_search.py "Python 教程" -n 10

选择搜索模式

# Instant 模式(快速,适合事实性问题)
python3 scripts/duckduckgo_search.py "Python 是什么" --mode instant

# HTML 模式(完整搜索结果)
python3 scripts/duckduckgo_search.py "Python 教程" --mode html

带关键信息总结

python3 scripts/duckduckgo_search.py "伊朗局势" --summarize

JSON 输出

python3 scripts/duckduckgo_search.py "API" --json

参数说明

参数 说明 默认值
query 搜索关键词(必需) -
-n, --top-k 返回结果数量 5
--mode 搜索模式:instant / html html
--fetch-content 抓取网页内容(仅 html) false
--summarize 生成关键信息总结 false
--json 输出原始 JSON false

搜索模式对比

模式 优点 缺点 适用场景
Instant 快速、稳定 结果有限 事实性问题、定义查询
HTML 完整搜索结果 可能被反爬 一般搜索、需要多个结果

Instant 模式示例

python3 scripts/duckduckgo_search.py "Python 编程语言"

输出

🔍 DuckDuckGo 搜索结果 (3 条)
============================================================

1. Python (programming language) - Wikipedia
   🔗 https://en.wikipedia.org/wiki/Python_(programming_language)
   📝 Python is a high-level, general-purpose programming language...
   📊 来源:instant

2. Python.org
   🔗 https://www.python.org/
   📝 The official home of the Python Programming Language...
   📊 来源:instant

HTML 模式示例

python3 scripts/duckduckgo_search.py "Python 入门教程" --mode html -n 10

输出格式

标准输出(默认)

🔍 DuckDuckGo 搜索结果 (5 条)
============================================================

1. 标题
   🔗 https://example.com
   📝 内容摘要...
   📊 来源:instant/html

JSON 输出

[
  {
    "title": "标题",
    "url": "https://example.com",
    "snippet": "摘要",
    "source": "instant",
    "type": "abstract"
  }
]

在 OpenClaw 中使用

自动搜索(根据 SOUL.md)

搜一下 Python 教程

手动调用

exec("python3 skills/duckduckgo-search/scripts/duckduckgo_search.py '关键词' -n 5")

限制与注意事项

⚠️ 速率限制

  • DuckDuckGo 没有官方 API,使用 HTML 端点可能被限制
  • 建议请求间隔 2-5 秒
  • 大量请求可能触发 403 错误

⚠️ 结果质量

  • Instant 模式:只返回"即时答案"和相关主题,不是完整搜索
  • HTML 模式:返回完整结果,但解析可能不稳定

⚠️ 反爬虫

  • DuckDuckGo 可能检测并阻止自动化请求
  • 如遇 403 错误,稍后重试
  • 生产环境建议使用官方 API(如 Tavily、Brave)

与 Tavily 搜索对比

特性 DuckDuckGo Tavily
API Key 不需要 需要
成本 免费 免费额度 + 付费
结果质量 一般 优秀(AI 总结)
稳定性 一般
适用场景 轻量搜索 生产环境

建议

  • 日常轻量搜索 → DuckDuckGo
  • 生产环境/高质量需求 → Tavily

故障排除

问题 1:无搜索结果

原因:Instant API 没有相关答案
解决:切换到 HTML 模式

python3 scripts/duckduckgo_search.py "关键词" --mode html

问题 2:403 Forbidden

原因:被 DuckDuckGo 限制
解决

  1. 等待几分钟后重试
  2. 降低请求频率
  3. 使用代理 IP

问题 3:URL 无法访问

原因:DuckDuckGo 重定向链接未正确解析
解决:检查 extract_real_url() 函数


示例查询

# 事实性问题(Instant 模式)
python3 scripts/duckduckgo_search.py "Python 是谁创造的"

# 教程搜索(HTML 模式)
python3 scripts/duckduckgo_search.py "Python 入门教程" --mode html -n 10

# 技术文档
python3 scripts/duckduckgo_search.py "Python requests 库用法" --mode html

# 获取 JSON 用于程序处理
python3 scripts/duckduckgo_search.py "API" --json

相关技能

  • tavily-search - AI 增强搜索(推荐用于生产)
  • web_search - OpenClaw 内置搜索(需 Brave API)
  • web_fetch - 网页内容提取

基于 DuckDuckGo 公开端点,仅供学习使用。生产环境建议使用官方 API。

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs