跳转至

Brave 搜索

OpenClaw 支持将 Brave Search API 用作 web_search 提供方。

获取 API 密钥

  1. 在 https://brave.com/search/api/ 创建一个 Brave Search API 账户。
  2. 在控制面板中选择 Search 套餐并生成 API 密钥。
  3. 将密钥存入 config,或在 Gateway 环境中设置 BRAVE_API_KEY。

配置示例

{
  plugins: {
    entries: {
      brave: {
        config: {
          webSearch: {
            apiKey: "BRAVE_API_KEY_HERE",
            mode: "web", // or "llm-context"
            baseUrl: "https://api.search.brave.com", // optional proxy/base URL override
          },
        },
      },
    },
  },
  tools: {
    web: {
      search: {
        provider: "brave",
        maxResults: 5,
        timeoutSeconds: 30,
      },
    },
  },
}

Brave 搜索的提供方专用设置位于 plugins.entries.brave.config.webSearch.* 下;这是标准配置路径。

webSearch.mode 控制 Brave 的传输方式:

  • web(默认):常规 Brave 网页搜索,返回标题、URL 和摘要片段。
  • llm-context:Brave LLM Context API,提供预提取的文本块和来源,用于 grounding(溯源)。

webSearch.baseUrl 可将 Brave 请求指向受信任的、兼容 Brave 的代理或网关。OpenClaw 会在所配置的 base URL 后追加 /res/v1/web/search 或 /res/v1/llm/context,并将 base URL 保留在缓存键中。公共端点必须使用 https://;http:// 仅允许用于受信任的回环地址或私有网络代理主机。

工具参数

query string (path) required
搜索查询。
count number (path) default: 5
要返回的结果数量(1–10)。
country string (path)
两位字母 ISO 国家代码(例如 US、DE)。
language string (path)
用于搜索结果的 ISO 639-1 语言代码(例如 en、de、fr)。
search_lang string (path)
Brave 搜索语言代码(例如 en、en-gb、zh-hans)。
ui_lang string (path)
用于界面元素的 ISO 语言代码。
freshness 'day' | 'week' | 'month' | 'year' (path)
时间筛选条件 — day 表示 24 小时内。
date_after string (path)
仅返回此日期之后发布的结果(YYYY-MM-DD)。
date_before string (path)
仅返回此日期之前发布的结果(YYYY-MM-DD)。

示例:

// Country and language-specific search
await web_search({
  query: "renewable energy",
  country: "DE",
  language: "de",
});

// Recent results (past week)
await web_search({
  query: "AI news",
  freshness: "week",
});

// Date range search
await web_search({
  query: "AI developments",
  date_after: "2024-01-01",
  date_before: "2024-06-30",
});

备注

  • 结果通过 Brave 的 ISO 发布元数据暴露 published:在 web 模式下是 page_age,在 llm-context 模式下是对应来源的 ISO 时间戳或日期。相对年龄和抓取时间戳并非发布日期。无偏移的时间戳仍保持无偏移;OpenClaw 不会擅自假定时区。当新鲜度很重要时,请核实来源日期。

  • OpenClaw 使用 Brave Search 套餐。如果你拥有旧版订阅(例如原本每月 2,000 次查询的 Free 套餐),它仍然有效,但不包含 LLM Context 等新功能或更高的速率限制。

  • 每个 Brave 套餐均包含 每月 \$5 的免费额度(按月续期)。Search 套餐每 1,000 次请求收费 \$5,因此该额度可覆盖每月 1,000 次查询。请在 Brave 控制面板中设置用量上限,以避免意外收费。当前套餐请参阅 Brave API 门户。
  • Search 套餐包含 LLM Context 端点和 AI 推理权限。若要将结果存储以训练或微调模型,则需要具有明确存储权限的套餐。请参阅 Brave 服务条款。
  • llm-context 模式返回带 grounding 的来源条目,而不是常规网页搜索的摘要片段结构。
  • llm-context 模式支持 freshness 以及有边界的 date_after + date_before 范围。它不支持 ui_lang;单独的 date_before(未配合 date_after)会被拒绝,因为 Brave 的自定义新鲜度范围要求同时包含开始和结束日期。
  • ui_lang 必须包含区域子标签,例如 en-US。
  • 结果默认缓存 15 分钟(可通过 cacheTtlMinutes 配置)。
  • tools.web.search.timeoutSeconds 涵盖端点验证,包括 DNS、HTTP 请求以及两种 Brave 模式下的响应读取。
  • 自定义的 webSearch.baseUrl 值会包含在 Brave 缓存标识中,因此代理特有的响应不会相互冲突。
  • 在排查问题时,可启用 brave.http 诊断标志,以记录 Brave 请求 URL/查询参数、响应状态/耗时以及搜索缓存的命中/未命中/写入事件。该标志绝不会记录 API 密钥或响应主体,但搜索查询可能包含敏感信息。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw