OpenClaw 安装 Tavily Search 完整指南:让 AI 助手真正能”上网搜索”

适用版本:OpenClaw 2026.3.x | 系统:Windows / macOS / Linux
前置要求:已安装 OpenClaw,拥有有效的 Tavily API Key


为什么你的 AI 助手搜不到东西?

很多人在使用 OpenClaw 接入飞书或其他渠道后,发现一个让人抓狂的问题:明明已经配置了搜索工具,AI 助手还是要么说”我不知道最新信息”,要么调用 Brave 搜索失败,要么干脆什么都搜不到。

这不是 AI 的问题,也不是你网络的问题。根本原因在于:OpenClaw 的 web_search 工具默认使用 Brave 搜索,而 Tavily 是一个独立的 Skill 插件,两者的配置方式完全不同。如果只是设置了系统环境变量 TAVILY_API_KEY,飞书等渠道的 OpenClaw 进程根本读不到这个值。

本文会从头到尾把整个配置过程讲清楚,包括常见报错的处理方法。


Tavily Search 是什么?为什么选它?

Tavily 是一个专为 AI Agent 设计的搜索 API,和 Google、Bing 这类面向人类用户的搜索引擎不同,它的结果格式对大语言模型更友好——返回的是结构化的摘要内容,而不是一堆网页链接列表。

对比维度 Tavily Brave Search API
面向对象 AI Agent / LLM 开发者 / 人类用户
结果格式 结构化摘要 原始搜索结果
免费额度 每月 1,000 次 有限免费额度
接入方式 MCP / Skill 插件 Web Search 工具
适合场景 Agent 自动搜索 手动集成搜索

简单来说,如果你希望 AI 助手在回答问题时能自动查阅网络最新内容,Tavily 是目前最顺手的选择之一。


第一步:获取 Tavily API Key

  1. 打开 https://tavily.com
  2. 注册账号(支持 Google 账号快捷登录)
  3. 进入控制台,复制 API Key,格式类似:tvly-dev-xxxxxxxxxxxxxxxx

⚠️ 注意:免费套餐每月 1,000 次请求,个人日常使用完全够用。超出后需要升级付费计划。


第二步:了解 OpenClaw 的配置结构

在开始操作前,有必要理解 OpenClaw 配置文件 openclaw.json 的结构,这样遇到报错时你才能判断问题出在哪里。

openclaw.json 默认位于:

  • WindowsC:\Users\你的用户名\.openclaw\openclaw.json
  • macOS / Linux~/.openclaw/openclaw.json

文件里有几个关键区块:

openclaw.json
├── tools          → 工具配置(只有 profile 等基础设置,不能随意添加字段)
├── skills         → Skill 插件(tavily-search 在这里)
├── plugins        → 渠道插件(feishu、qwen-portal-auth 等)
├── channels       → 渠道连接配置(飞书 appId、appSecret 等)
└── gateway        → 本地网关配置

最容易踩的坑:很多教程会让你在 tools 下面加 web_searchsearchBackend 字段,但 OpenClaw 的配置校验会直接报错:

Config invalid
Problem:
  - tools: Unrecognized key: "web_search"
  - web: Unrecognized key: "searchBackend"

这些字段在当前版本中根本不存在,不要加。


第三步:正确配置 Tavily Search

3.1 通过命令行安装 Skill

打开终端(PowerShell 或 Terminal),执行:

npx clawhub install tavily-search --force

这条命令会把 tavily-search Skill 安装到 OpenClaw 的 skills 目录下。

3.2 写入 openclaw.json 配置

用文本编辑器打开配置文件:

# Windows
notepad C:\Users\你的用户名\.openclaw\openclaw.json

# macOS / Linux
nano ~/.openclaw/openclaw.json

找到 "skills" 区块,修改为:

"skills": {
  "entries": {
    "tavily-search": {
      "enabled": true,
      "env": {
        "TAVILY_API_KEY": "tvly-dev-你的实际APIKey"
      }
    }
  }
}

同时,在 "plugins""entries" 里新增 openclaw-tavily(与已有的 feishu 并列):

"plugins": {
  "entries": {
    "qwen-portal-auth": {
      "enabled": true
    },
    "feishu": {
      "enabled": true
    },
    "openclaw-tavily": {
      "enabled": true,
      "config": {
        "apiKey": "tvly-dev-你的实际APIKey"
      }
    }
  }
}

⚠️ 为什么要写两个地方?
skills.entries 里的配置是给 Skill 运行脚本用的(通过环境变量读取);plugins.entries 里的配置是让 OpenClaw 的插件系统识别并加载这个工具,两者缺一不可。

3.3 不要用这些命令

以下命令语法错误,会直接报错,不要用:

# ❌ 错误:--key 参数不存在
openclaw configure --section web --key tavily_api_key --value "xxx"

# ❌ 错误:tools 下没有 web_search 字段
openclaw config set tools.web_search.provider "tavily"

正确的 config set 用法是:

# ✅ 正确:直接设置 skills 路径下的配置
openclaw config set skills.entries.tavily-search.enabled true

第四步:验证配置并重启

4.1 验证配置文件

openclaw config validate

如果输出没有 Problem 字样,说明配置文件格式正确。

4.2 重启网关

openclaw gateway restart

4.3 检查 Skill 是否加载

openclaw skills list

在输出列表中,应该能看到 tavily-search 且状态为 enabled


完整的 openclaw.json 配置示例

以下是一份完整的配置文件示例,供参考。请将 你的API Key 替换为实际值,其他字段根据自己的实际配置保留:

{
  "tools": {
    "profile": "full"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "你的飞书AppID",
      "appSecret": "你的飞书AppSecret",
      "connectionMode": "websocket",
      "domain": "feishu",
      "groupPolicy": "allowlist"
    }
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "你的gateway token"
    }
  },
  "skills": {
    "entries": {
      "tavily-search": {
        "enabled": true,
        "env": {
          "TAVILY_API_KEY": "tvly-dev-你的实际APIKey"
        }
      }
    }
  },
  "plugins": {
    "entries": {
      "qwen-portal-auth": {
        "enabled": true
      },
      "feishu": {
        "enabled": true
      },
      "openclaw-tavily": {
        "enabled": true,
        "config": {
          "apiKey": "tvly-dev-你的实际APIKey"
        }
      }
    }
  }
}

常见报错与解决方法

错误一:Unrecognized key: "web_search"

Config invalid
Problem:
  - tools: Unrecognized key: "web_search"

原因tools 区块下没有 web_search 字段,是无效配置。
解决:删除 tools 下所有自行添加的字段,只保留 "profile": "full"


错误二:Unrecognized key: "searchBackend"

Config invalid
Problem:
  - web: Unrecognized key: "searchBackend"

原因:之前某次配置尝试写入了不存在的 web.searchBackend 字段。
解决:找到并删除整个 "web": { ... } 段落,或仅删除 searchBackend 那一行。


错误三:duplicate plugin id detected

plugins.entries.feishu: plugin feishu: duplicate plugin id detected;
later plugin may be overridden

原因:飞书插件被加载了两次,通常是 extensions 目录下有多个飞书文件夹。
解决

# 查看 extensions 目录
ls C:\Users\你的用户名\.openclaw\extensions\

# 重装飞书插件
openclaw plugin uninstall feishu
openclaw plugin install @openclaw/feishu

错误四:Start-Process: 系统找不到指定的文件

Start-Process : 由于出现以下错误,无法运行此命令: 系统找不到指定的文件。

原因setup-env.ps1 脚本中的 Edge 浏览器路径写错了用户名,或者你的 Edge 安装路径与脚本预设不同。
解决:这个错误不影响 API Key 的实际配置。脚本输出了 ✅ 说明 Key 已写入,这个报错仅仅是”自动打开浏览器”这一步失败了,可以直接忽略。

如需彻底修复,让 API Key 永久生效:

[System.Environment]::SetEnvironmentVariable("TAVILY_API_KEY", "你的API Key", "User")

错误五:飞书中搜索功能仍然失败

如果 OpenClaw 本地已经能用 Tavily 搜索,但飞书里不行,通常有两个原因:

  1. Key 只在系统环境变量里,没有写入 openclaw.json
    → 按本文第三步,把 Key 写入 skills.entriesplugins.entries 两个地方

  2. 飞书插件有重复冲突
    → 按”错误三”的方法重装飞书插件


安装后如何使用

配置成功后,你的 AI 助手拥有的是一个叫 tavily_search 的工具(注意:不是原来的 web_search,两者并存)。

在飞书或其他渠道里,你可以这样触发搜索:

  • “帮我搜索今天的 AI 行业新闻”
  • “查一下最新的 iPhone 价格”
  • “用 Tavily 搜索 OpenClaw 最新版本”

如果 AI 没有自动选择 Tavily,明确说”用 Tavily 搜索”即可。

Tavily 还支持以下搜索模式:

参数 说明
默认搜索 返回 5 条摘要结果,速度快
深度搜索(--deep 返回更全面的结果,速度稍慢
新闻搜索(--topic news 专注于新闻内容
指定结果数(-n 10 返回更多条目

常见问题(FAQ)

Q:Tavily 免费版够用吗?
A:每月 1,000 次请求,对个人日常使用完全充裕。如果是团队共用或高频使用场景,需要升级付费计划。

Q:配置完成后需要重启电脑吗?
A:不需要。只需执行 openclaw gateway restart 重启本地网关即可。

Q:Tavily 和 Brave Search 能同时使用吗?
A:可以。OpenClaw 内置的 web_search 工具和 Tavily 的 tavily_search 工具是独立存在的,AI 助手会根据上下文自动选择,或者你可以明确指定使用哪个。

Q:为什么系统环境变量设置了 Key 但还是不生效?
A:飞书等渠道插件运行在 OpenClaw 的内部进程里,这个进程在启动时就已经建立,不会读取后来设置的系统环境变量。必须把 Key 写入 openclaw.jsonskills.entries 才能生效。

Q:openclaw configureopenclaw config set 有什么区别?
A:openclaw configure 是交互式向导,会逐步引导你完成配置,适合初次设置;openclaw config set 是命令行直接写入配置项,适合自动化脚本或精确修改某个字段。

Q:配置文件改错了怎么办?
A:用本文提供的”完整配置示例”覆盖你的 openclaw.json,再按实际情况填入 appId、appSecret 等字段即可。


小结

整个配置过程的核心逻辑只有一句话:Tavily 是 Skill 插件,Key 必须写进 openclaw.jsonskillsplugins 两个区块,系统环境变量对飞书渠道无效。

遇到配置报错时,优先看报错里提示的是哪个字段,然后对照本文的常见报错部分处理。绝大多数问题都是多余的字段或路径写错导致的,删掉或修正就能解决。

如果你在配置过程中遇到本文没有覆盖到的问题,可以先执行 openclaw config validate 看具体的错误字段,再有针对性地调整。


本文基于 OpenClaw 2026.3.13 版本验证,如版本更新导致配置方式变化,请以官方文档为准。