关于 web-search
面向 LLM Agent 的网页搜索技能,通过 `duckduckgo-cli` 获取精简的 DuckDuckGo 结果,并可按时间、地区、网站和数量筛选。
主要功能
- 01通过 `ddg` 搜索 DuckDuckGo
- 02支持纯文本或 JSON 输出
- 03按时间和地区筛选
- 04设置网站和结果数量
- 05分页查看搜索结果
适用场景
- 01查询近期新闻和更新
- 02核实事实性说法
- 03查找文档和参考资料
- 04通过多个查询研究主题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ysm-dev/ skills --skill web-search安装后在 Claude Code 中输入/web-search确认已加载。
详细介绍
网页搜索
此技能使用 duckduckgo-cli——一款命令行搜索工具,可将 DuckDuckGo 搜索结果以纯文本或 JSON 格式返回。它专为 LLM Agent 打造:纯文本输出简洁明了(每条结果包含标题、URL 和摘要),而各项标志可让你控制时间、地区、网站和结果数量。
适用场景
- 用户询问近期信息(例如“最新”“今天”“当前”,或知识截止日期当年及之后的年份)
- 需要核实某项说法
- 需要文档、参考资料或外部背景信息
- 用户要求搜索、查找、了解、研究或核查某些内容
- 你正在回答事实性问题,但不确定自己的知识是否最新
开始对话后,无需征求明确许可,直接搜索即可。
命令
CLI 调用名称为 ddg(duckduckgo-cli 的短别名)。
ddg rust async tutorial # plain text, default 10 results
ddg -n 5 "best Rust web framework 2026"
ddg --json -n 5 "topic" # JSON envelope, for parsing
echo "tokio runtime overhead" | ddg # query via stdin
纯文本是默认格式,也是大多数场景的最佳选择——内容简洁,可直接引用其中的 URL 和摘要。
值得了解的标志
-n <N>——结果数量(1–100,默认值为 10)。快速查找时使用 3–5 条,更广泛的研究可使用 10–20 条。更多结果会消耗更多令牌,而较少见的结果很少有帮助。
-t <d|w|m|y>——将范围限制为过去一天/一周/一个月/一年。对于“最新”或“近期”的问题至关重要——不加此选项时,常青页面会排在较新的页面前面,导致你引用过时信息。
-w <DOMAIN>——可重复使用的网站筛选条件。可用于官方文档(-w docs.python.org)、已知可信来源,或过滤垃圾内容。
-r <CODE>——地区(例如 us-en、kr-ko、jp-jp、de-de)。应与查询语言匹配。运行 ddg --list-regions 可查看所有地区。
--json——简洁的 JSON 封装。仅在需要通过程序解析时使用(例如统计结果,或将 URL 提取到脚本中)。日常阅读和引用时,纯文本更合适。
--page <N>——当第一页没有所需内容时,用于翻页。
常用模式
快速查找事实
ddg -n 3 "current ceo of openai"
三个结果足以交叉验证,形成一致的答案。
最新新闻/近期更新
ddg -n 5 -t w "anthropic claude release"
-t w 筛选条件是这条命令发挥作用的关键——不加它就会得到排名不错的旧文章。
文档
ddg -n 5 -w docs.python.org "asyncio gather exception"
核查特定说法
ddg -n 5 "the exact phrasing of the claim"
仔细阅读摘要。如果来源之间存在分歧,应向用户说明,而不是只选一个来源并将其说成事实。
更广泛的研究
与其进行一次庞大的查询,不如针对不同角度运行多次聚焦查询。针对不同角度进行三次 -n 10 查询,效果胜过一次 -n 30 查询。
阅读输出
每条结果都包含序号、标题、URL 和简短摘要。通常,摘要足以判断是否需要通过 WebFetch 获取完整页面。向用户引用时,请附上 URL,方便他们核实;如果你只有摘要,应注明“根据搜索摘要……”,不要暗示自己读过整篇页面。
注意事项
- 速率限制:在
--json模式下,响应中包含meta.rate_limit.tokens_remaining。如果该值降到 0,请稍作等待,不要在短时间内连续发起更多查询。 - 没有即时答案很正常——大多数查询只会返回编号列表。
- 地区必须与语言匹配——韩语查询搭配
-r us-en会返回较差的结果;应使用-r kr-ko。 - 不要用
head管道截断结果——请使用-n,否则结果可能会在摘要中途被截断。 - 如果未安装二进制文件,请使用
npm i -g duckduckgo-cli或cargo install duckduckgo-cli进行安装。