ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenClaw 安装 tavily-search skill:把搜索能力接进本地工作流

OpenClaw 安装 tavily-search skill:把搜索能力接进本地工作流 1. 为什么要在 OpenClaw 里装 tavily-searchOpenClaw 是一个把大模型能力落到本地工作流的开源框架你可以把它理解成一个「本地 AI 助手调度台」模型负责思考skill 负责干活。默认状态下模型的知识停在训练截止那一刻你问它今天的新闻、某个刚发布的库版本号、某家公司的融资情况它要么答不上来要么一本正经地编。tavily-search 这个 skill 解决的就是这件事——它把 Tavily Search API 接进 OpenClaw让助手具备实时联网检索能力。Tavily 不是给人类用的通用搜索引擎它是专门为 Agent 和 RAG 场景设计的检索接口。返回结果经过清洗去掉了导航栏、广告、页脚这些噪声直接给你正文片段和 AI 生成的摘要还支持页面提取、站点爬取和深度研究报告。对本地工作流来说这意味着模型拿到的上下文更干净幻觉更少回答质量更稳。我试过拿它和普通搜索接口对比同一个技术问题Tavily 返回的片段基本能直接喂给模型做推理省掉一大段二次清洗的代码。这篇面向的是已经在本地跑 OpenClaw、想让助手能联网查资料的开发者。整条链路我会拆成四步装 skill、配 Key、验证调用、排错。其中凭据管理这块我会用 TaoToken 做统一通道避免 API Key 散落在各个配置文件里。目标很明确一次跑通搜索链路并且能确认返回结果确实来自实时检索而不是模型在背课文。适合谁看手上有 OpenClaw 环境、写过一点 JSON 配置、能看懂 shell 命令的人。如果你还没装 OpenClaw建议先把基础环境跑起来再回来因为这篇的重点是 skill 的安装与配置不是框架本身的部署。2. 前置准备OpenClaw 环境与 TaoToken 统一 Key 通道在动手装 tavily-search 之前先把两件事理清楚OpenClaw 的 skill 目录约定以及 API Key 从哪来、怎么管。OpenClaw 的 skill 机制是插件式的每个 skill 是一个独立目录放在 skills 路径下框架启动时扫描加载。skill 的元信息、依赖、入口文件都有固定约定所以安装方式基本就是「把目录放对位置 装依赖 在配置里启用」。tavily-search 的 skill 地址在 clawhub 上仓库标识是matthew77/liang-tavily-search你可以直接 clone 或者下载压缩包解压到 skills 目录。然后是 Key。Tavily 官方需要你去 tavily.com 注册账号在 Dashboard 里拿到一个tvly-开头的 API Key。这一步本身不复杂但问题在于一旦你本地接了三五个需要联网或调用模型的 skillKey 就会散落在openclaw.json、.bashrc、各个 skill 自己的配置文件里改一次要翻好几个地方还容易把密钥提交到 git。我的做法是用 TaoToken 做统一通道。TaoToken 提供统一的 API 通道和 Key 管理官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。它的作用是让你在本地工作流里用一套凭据体系去对接不同的模型和检索服务配置项集中换 Key 的时候只改一处。对 OpenClaw 这种要同时挂多个 skill 的场景这点很实用。具体到操作层面你需要准备第一确认 OpenClaw 已经能正常启动openclaw --version或对应的启动命令能跑通。第二找到你的 skills 目录通常在~/.openclaw/skills/或者项目根目录下的skills/以你的实际安装为准。第三准备好 Tavily 的 API Key格式是tvly-xxxxxxxx。第四如果你打算走 TaoToken 统一管理先去控制台把通道和 Key 配好拿到对应的接入信息。这里有个容易踩的坑很多人把 Key 直接写死在 skill 的源码里或者提交到公开仓库。正确做法是走环境变量或者 OpenClaw 的配置文件让密钥和代码分离。后面第三节我会给出具体的 JSON 配置片段。环境检查清单检查项命令/位置预期结果OpenClaw 可启动openclaw --version输出版本号skills 目录存在ls ~/.openclaw/skills/能看到已有 skillNode/Python 运行时node -v/python3 -V版本满足 skill 要求Tavily Keytavily.com Dashboardtvly-开头字符串TaoToken 通道控制台拿到 Base URL 与 Key把这几项确认完再进入安装环节能省掉后面一大半的排错时间。3. 可复制配置skill 目录、依赖与 openclaw.json这一节是整篇的核心所有命令和配置都可以直接复制。我按「放目录 → 装依赖 → 写配置 → 设环境变量」的顺序来。3.1 放置 skill 目录先进入你的 skills 目录把 tavily-search 拉下来。假设你的 skills 路径是~/.openclaw/skills/cd ~/.openclaw/skills/ git clone https://clawhub.ai/matthew77/liang-tavily-search.git tavily-search cd tavily-search ls -la正常的话你能看到 skill 的入口文件、package.json或requirements.txt、以及一个说明文档。目录结构大致是这样tavily-search/ ├── skill.json # skill 元信息名称、版本、入口 ├── index.js # 入口逻辑或 main.py ├── package.json # Node 依赖声明 └── README.md如果你的 OpenClaw 版本要求 skill 放在特定子目录比如skills/community/按你的框架约定调整路径但目录名保持tavily-search因为配置里的 key 要和它对应。3.2 安装依赖看 skill 用的是 Node 还是 Python。Node 项目cd ~/.openclaw/skills/tavily-search npm installPython 项目cd ~/.openclaw/skills/tavily-search pip install -r requirements.txt依赖装完后可以先单独跑一下 skill 的自检脚本如果有确认模块能正常 import。这一步不做也行但做了能提前暴露缺包问题。3.3 配置 openclaw.json这是最关键的一步。打开~/.openclaw/openclaw.json在skills.entries下加入 tavily-search 的配置。完整片段如下{ skills: { entries: { tavily-search: { enabled: true, apiKey: tvly-你的密钥, baseUrl: https://taotoken.net/api, model: tavily-search } } } }这里三个字段要写全也就是常说的「三件套」Base URL、Key、Model ID。baseUrl指向 TaoToken 的 API 入口apiKey填你的凭据model标识这个 skill 调用的服务。如果你不用 TaoToken 中转baseUrl就填 Tavily 官方地址但那样 Key 就绕过了统一管理看你取舍。注意 JSON 的层级skills→entries→tavily-search少一层或者名字拼错skill 都不会被加载。改完保存别用中文引号别留尾逗号。3.4 环境变量与 shell 配置有些 skill 会优先读环境变量。为了兼容把 Key 也写进 shell 配置# bash 用户 echo export TAVILY_API_KEYtvly-你的密钥 ~/.bashrc source ~/.bashrc # zsh 用户 echo export TAVILY_API_KEYtvly-你的密钥 ~/.zshrc source ~/.zshrc验证环境变量是否生效echo $TAVILY_API_KEY能打印出你的 Key 就对了。这一步的意义在于即使配置文件被重置环境变量还能兜底而且很多命令行工具默认读这个变量。3.5 重启 OpenClaw配置改完必须重启框架skill 才会重新扫描加载# 按你的启动方式例如 openclaw restart # 或者直接杀掉进程重开重启后看启动日志如果出现loaded skill: tavily-search之类的字样说明加载成功。如果没看到回到第五节排错。4. 验证请求一次可复现的搜索调用配置写完不算完得实际发一次请求确认返回的是真实检索结果。这一节给你一个可复现的验证流程。4.1 用 OpenClaw 对话触发最直接的方式是在 OpenClaw 的对话界面里问一个时效性强的问题比如「最近一周有哪些新的开源大模型发布」。如果 skill 生效助手会调用 tavily-search返回带来源链接的结果。观察返回内容里有没有引用链接和摘要这是判断是否真的联网的关键。4.2 命令行直接验证 skill想更可控的话直接调 skill 的入口。假设入口是index.jscd ~/.openclaw/skills/tavily-search node index.js --query OpenClaw tavily-search skill 配置或者 Python 入口python3 main.py --query OpenClaw tavily-search skill 配置预期返回是一段 JSON结构大致包含results数组每个元素有title、url、content字段。看到url是真实可访问的链接content是正文片段就说明链路通了。4.3 用 curl 验证 TaoToken 通道如果你想确认 TaoToken 这一层是通的可以绕过 skill 直接打 APIcurl -X POST https://taotoken.net/api/v1/search \ -H Authorization: Bearer $TAVILY_API_KEY \ -H Content-Type: application/json \ -d {query: OpenClaw skill 安装, max_results: 3}返回 200 且 body 里有结果数组说明通道和 Key 都没问题。这一步能把「skill 的问题」和「凭据/通道的问题」分开定位。4.4 成功结果的判断标准一次成功的调用你应该看到第一返回里有明确的来源 URL不是模型编的。第二摘要内容和你的查询语义相关不是泛泛而谈。第三响应时间在合理范围通常几百毫秒到几秒。第四重复同一个查询结果会随时间变化因为检索的是实时内容如果每次返回一模一样反而要怀疑是不是走了缓存或者根本没联网。验证通过后你就可以在 OpenClaw 里正常用搜索能力了。日常研究、查库文档、追新闻助手都能给你带来源的答案。5. 常见报错排查401、local proxy failed 与 reading choices装 skill 的过程里报错基本集中在几类。我把真实遇到过的错误和对应解法列出来你对着日志找。5.1 401 Unauthorized这是最常见的。日志里出现401或者invalid api key说明凭据没被正确读取。排查顺序先确认openclaw.json里的apiKey字段拼写正确没有多余空格没有中文引号。再确认环境变量TAVILY_API_KEY是否生效echo $TAVILY_API_KEY能不能打印。如果两个地方都配了但值不一样以配置文件为准还是环境变量为准取决于 skill 的读取顺序建议两处保持一致。还有一种情况Key 本身过期或被撤销。去 Tavily Dashboard 或者 TaoToken 控制台确认 Key 状态必要时重新生成。5.2 local proxy failed日志里出现local proxy failed或类似的连接错误通常是网络层的问题。检查baseUrl是否写对TaoToken 的入口是https://taotoken.net/api别多写或少写路径段。再确认本机能不能访问这个地址curl -I https://taotoken.net/api如果连不上检查本地网络和 DNS。注意这里说的是正常的网络连通性排查不涉及任何特殊网络工具。5.3 reading choices 相关报错如果日志里出现reading choices或者cannot read property of undefined多半是返回结构和你预期的不一致。可能原因model字段填错导致请求打到了不兼容的接口或者 skill 版本和 OpenClaw 版本不匹配解析逻辑对不上。解法是核对model字段确认它和 TaoToken 通道支持的服务名一致必要时升级 skill 到最新版。5.4 OAuth 相关报错有些 skill 走 OAuth 流程拿 token日志里会出现OAuth字样。如果你用的是 API Key 模式就不该触发 OAuth。出现这类报错检查配置里是不是混入了 OAuth 相关字段或者 skill 默认走了授权码流程。按文档改成 Key 模式即可。5.5 skill 未加载重启后日志里没有loaded skill字样。检查目录名是否和配置里的 key 完全一致大小写敏感检查enabled是否为true检查 JSON 是否合法可以用python3 -m json.tool openclaw.json验证。排错的核心思路是分层先确认 Key 和通道用 curl 打 API再确认 skill 加载看启动日志最后确认调用逻辑看返回结构。一层层往下问题定位会快很多。6. 把搜索能力接进日常凭据管理与持续使用链路跑通之后剩下的是怎么让它稳定用下去。这里说几个实际经验。凭据集中管理这件事越早做越好。我一开始把 Tavily Key 写在 skill 配置里后来加了别的联网 skillKey 就开始散。换成 TaoToken 统一通道后所有 skill 的baseUrl都指向同一个入口Key 只在一处维护换 Key 的时候改一个地方所有 skill 跟着生效。控制台在 https://taotoken.net/api-keys 接入文档在 https://taotoken.net/doc 需要的时候可以对照着配。如果你后面要接 Claude Code 或者做长期编码任务Coding Plan 那条线也可以一起看入口在 https://taotoken.net/coding-plan 。模型对话验证在 https://taotoken.net/chat 。这些入口按你的实际需求选不用一次全上。日常使用上建议给搜索加一点约束在 prompt 里明确要求助手「引用来源链接」这样你能一眼看出结果是不是来自检索。另外对时效性要求高的查询可以指定时间范围参数Tavily 支持按天或按周过滤减少无关结果。最后一点skill 的版本要跟。clawhub 上的 skill 更新比较频繁接口字段和解析逻辑可能变。定期git pull一下能避免很多莫名其妙的解析错误。把这几件事做好OpenClaw 的搜索能力就能稳定融进你的本地工作流查资料、追动态、做研究都省心。
返回列表