为什么需要让 AI 联网

OpenClaw 本身是个跑在本机的智能体,默认只凭训练知识和你给的上下文回答问题。但遇到下面这些情况,闭门造车就会翻车:

  • 问「今天某框架最新版本号是多少」——知识有截止日期,答不准。
  • 要抓取某个网页的正文做摘要——纯靠记忆根本拿不到页面内容。
  • 做竞品/舆情/资料调研——需要实时、可追溯的信源。

OpenClaw 给了两个原生工具解决这个问题:web_search(联网搜索)和 web_fetch(抓取指定 URL 并提取正文)。两者配合,基本能覆盖 90% 的「AI 联网」需求。下面按真实可用参数来讲,不编造输出。

工具一:web_search —— 联网搜索

这是 OpenClaw 封装的搜索能力,返回的是归一化后的搜索结果列表(标题、链接、摘要),不是一整页 HTML。

常用参数

参数 作用 示例
query 搜索词,必填 OpenClaw 定时任务 配置
count 返回条数,1–10 5
country 两位国家码,影响区域结果 CN
language 结果语言(ISO 639-1) zh
freshness 时间过滤:day/week/month/year week
date_after / date_before 按发布日期过滤,格式 YYYY-MM-DD 2026-09-01
domain_filter 只在指定域名内搜 ["github.com"]

一个真实调用示例

{
  "tool": "web_search",
  "arguments": {
    "query": "OpenClaw cron 定时任务 实战",
    "count": 5,
    "country": "CN",
    "language": "zh",
    "freshness": "month"
  }
}

返回结构是结果数组,每条带 titleurldescription(摘要)。你可以直接让 AI 基于摘要判断哪几条值得深入,再对其中一条用 web_fetch 取正文。

注意:freshnessdate_after 是两套时间过滤,二选一即可;同时给时以搜索提供方实际行为为准,不建议混用。

工具二:web_fetch —— 抓取并提取正文

web_search 拿到的是摘要,web_fetch 才是真正「打开那个网页、把正文读出来」。

常用参数

参数 作用 示例
url 目标地址,必填 https://example.com/doc
extractMode markdowntext,默认 markdown markdown
maxChars 返回最大字符数,超长会截断 8000

一个真实调用示例

{
  "tool": "web_fetch",
  "arguments": {
    "url": "https://github.com/openclaw/openclaw",
    "extractMode": "markdown",
    "maxChars": 6000
  }
}

extractMode=markdown 会把页面正文转成干净的 Markdown,去掉导航/广告等噪声;text 则更朴素。抓长文时务必用 maxChars 控制长度,否则一篇几万字的文档会直接撑爆上下文。

实战组合:搜 → 筛 → 抓

最实用的不是单独用,而是一条流水线:

  1. :web_search 拿到 5–10 条候选,看标题和摘要。
  2. :挑出 2–3 条最相关的 URL。
  3. :对每条用 web_fetch 取正文,让 AI 汇总成你要的答案。

例如调研「2026 年国内静态站点生成器选型」:

第一步 web_search: query="静态站点生成器 2026 对比", freshness="year", count=8
第二步 从结果里挑出 3 个看起来权威的对比文 URL
第三步 对每个 URL 各跑一次 web_fetch(maxChars=5000)
第四步 让 AI 按「构建速度 / 部署难度 / 生态」三列整理成表

这条链路的好处是:每条结论都能回溯到 web_fetch 抓过的真实 URL,不是模型凭空编的。

三个真实踩坑

坑 1:中文搜索结果偏少或被限域

web_search 的结果质量高度依赖 query 写法。中文长句当搜索词,效果往往不如「核心词 + 限定词」。

  • 差:我想知道 OpenClaw 怎么配置微信频道
  • 好:OpenClaw 微信频道 配置 教程

country=CN + language=zh 能明显提升中文结果占比。需要英文一手资料时,反过来去掉这两个限制、直接用英文 query。

坑 2:动态渲染页面抓不到正文

web_fetch 是轻量抓取,不会执行 JavaScript。遇到用前端框架渲染的页面(很多后台面板、SPA 应用),抓回来的可能是空壳或只有脚本标签。

应对办法:

  • 优先找该内容的「静态版」,比如 GitHub 的 raw 文件、文档站的 /api 或 RSS、官网的 *.md 源。
  • 真需要渲染,可走 OpenClaw 的 browser 工具(浏览器自动化)打开页面再读,那是带 JS 引擎的完整浏览器,能拿到渲染后内容——但那是另一条工具链,不在本文范围。

坑 3:超长页面不截断会撑爆上下文

直接 web_fetch 一个长文档且不设 maxChars,正文可能几万字符。一次抓两三个就接近上下文上限,后续对话质量骤降。

经验值:调研场景 maxChars 设在 4000–8000;只要某一节就设小一点,配合多次抓取不同锚点。摘要类任务不需要全文,截中段就够。

一个提效小技巧:用 date_after 锁时间

做「近期动态」「最新版本」类查询时,养成加时间过滤的习惯,能挡掉大量过时结果:

{
  "tool": "web_search",
  "arguments": {
    "query": "OpenClaw 更新日志",
    "date_after": "2026-08-01",
    "count": 5
  }
}

这样搜出来基本都是近一个多月的讨论,配合 web_fetch 抓官方仓库的 release 说明,就能拿到可信的「最新版」信息,而不是模型记忆里的旧版本号。

小结

  • web_search 管「找」,参数里 query/count/freshness/country 最常用。
  • web_fetch 管「读」,记得用 extractModemaxChars 控干净、控长度。
  • 真正好用的是「搜→筛→抓」三段式,每条结论都能回溯到真实 URL。
  • 中文搜不好就改短词 + 加 CN/zh;动态页抓不到换静态源或 browser 工具;长文必设上限。

把这两个工具用顺,OpenClaw 就从「凭记忆回答」升级成「能查、能证、能溯源」的研究型助手。


扫码关注公众号,获取更多 OpenClaw 实操技巧:

公众号二维码