DuckDuckGo WebSearch Skill.Purpose. 提供稳定,注重隐私的网络搜索技能,使用DuckDuckGo的即时回答JSON API作为
功能概述
DuckDuckGo WebSearch Skill.Purpose. 提供稳定,注重隐私的网络搜索技能,使用DuckDuckGo的即时回答JSON API作为是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
DuckDuckGo Websearch 技能
用途
- 提供一个稳定、注重隐私的网页搜索技能,主要调用 DuckDuckGo 的 Instant Answer JSON API,并在需要更丰富的链接列表时,作为备选方案使用轻量级 HTML SERP 页面抓取。
- 返回结构化结果:简明摘要(若可用)、前 5 条链接(含标题与摘要片段),以及在请求时可选返回落地页的简短摘要。
适用场景
- 当用户提出“搜索网页”、“查找关于 X 的链接”、“汇总 Y 的搜索结果”等请求,或任何需快速进行网页检索但无需付费搜索 API 的任务时,应使用本技能。
- 当可接受注重隐私的数据源,且其他搜索引擎因配额限制或缺少 API Key 而不可用时,优先选用本技能。
设计原则
- 渐进式披露:SKILL.md 文件中包含触发条件与工作流程;详细解析逻辑与辅助函数置于 scripts/ 目录下,使 agent 可执行而无需加载大量文本。
- 优雅降级:若 Instant Answer 返回数据有限,技能将自动回退至最小化 HTML 获取与解析流程,以提取顶部搜索结果。
- 安全性:不返回原始 HTML;始终对摘要片段进行清洗,并遵守 robots.txt 协议(基础检查)。
配套资源
- scripts/ddg_search.js — 执行搜索并返回 JSON(含 summary、links[])的 Node 脚本。该脚本在技能被调用时由 agent 直接执行。
- references/usage_examples.md — 短小精悍的提示词示例,列出了应触发本技能的典型输入。
输出格式
- scripts/ddg_search.js 返回的 JSON 结构如下:
{
"query": "...",
"summary": "简短摘要,若无则为空字符串",
"links": [ {"title":"...","url":"...","snippet":"..."}, ... 最多 5 条],
"source": "instant-answer|serp-fallback",
"notes": "任何警告信息"
}
安全与限制
- 脚本使用 DuckDuckGo 公开的 instant-answer 接口(无需 API Key)。多数查询可直接满足;少数情况下,SERP 回退机制会发起一次轻量级 HTML 请求。请尊重速率限制,避免高强度爬取。
- 不得对明确通过 robots.txt 禁止自动化爬取的页面执行跳转或获取操作(针对面向自动化的 User Agent)。
安装 / 使用(维护者专用)
- 将本技能放置于 ~/.openclaw/workspace/skills/duckduckgo-websearch 目录下。
- 确保系统已安装 Node(建议 Node 18+)。该脚本无外部依赖,仅使用 Node 内置模块(https/http 和 node-html-parser)。
- 手动测试方法:
node scripts/ddg_search.js "查询关键词"
触发示例(详见 references/usage_examples.md)
- "在 DuckDuckGo 上搜索关于 [主题] 的最新新闻,并提供排名靠前的链接。"
- "查找 Django Channels 最佳教程,并汇总顶部结果。"