1. Ubuntu 24.04 下 OpenClaw 的 TAVILY Skills 到底解决什么问题
如果你在 Ubuntu 24.04 上跑 OpenClaw,大概率会遇到一个尴尬场景:模型本身能聊天、能写代码,但你问它「帮我查一下今天原油期货的实时报价」或者「搜一下自动收发邮件相关的技能包」,它要么直接编一个看起来很像真的答案,要么告诉你「我无法访问实时信息」。这不是模型笨,而是它缺一个能真正联网检索的 Skills。
OpenClaw 的技能体系(Skills)就是补这块短板的。它通过 clawhub 这个技能仓库分发能力包,你装什么技能,Agent 就多什么本事。其中 TAVILY 系列技能是联网搜索里最实用的一类:专为 AI Agent 设计,返回的是结构化、适合模型消化的搜索结果,而不是一堆需要你再解析的 HTML。每月有 1000 次免费额度,对个人开发者和中小团队做实时资讯查询、复杂信息检索完全够用。
这篇面向的是已经在 Ubuntu 24.04 上装好 OpenClaw、想进一步把 TAVILY Skills 装起来并跑通的人。我会从 clawhub 拉技能包开始,给出可复制的 config.toml 骨架,把 TaoToken 的统一 Key/API 通道接进去,最后用具体命令验证 Skills 是否真的加载成功。整个过程我按实际踩坑顺序写,包括那个「装了 tavily-search 但 web_search 根本不调用它」的经典坑。
2. 前置准备:OpenClaw 环境与 TaoToken 统一通道
在动 clawhub 之前,先把两件事确认掉,否则后面报错会很难定位。
第一是 OpenClaw 本体。Ubuntu 24.04 默认的 Node 版本可能偏低,建议用 Node 20 以上。装完后确认版本:
node -v npm -v openclaw -v正常会输出类似OpenClaw 2026.3.13 (61d171a)的版本号。如果openclaw命令找不到,说明全局 bin 路径没进 PATH,检查npm config get prefix并把对应 bin 目录加进环境变量。
第二是模型通道。OpenClaw 要调用大模型,你得给它一个稳定的 API 入口。我这边统一走 TaoToken 的通道,好处是 Key 和 Base URL 一套配置,后面接不同模型不用反复改。先去控制台拿 Key:
控制台入口:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
拿到 Key 之后,API 地址用https://taotoken.net/api(这个地址不加 UTM,直接填)。如果你还没决定用哪个模型,可以先去模型对话页面试一下响应速度:
模型对话:https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
长期要跑编码类 Agent 的话,Coding Plan 会更划算,后面第 6 节我会说什么时候切过去。
3. 从 clawhub 安装 TAVILY Skills 并写 config.toml
3.1 先装 find-skills,让 Agent 会自己找技能
clawhub 上的技能很多,与其一个个记名字,不如先装find-skills,它让 Agent 具备「搜索技能」的能力。安装命令:
clawhub install find-skills装完验证:
openclaw skills list | grep ready | grep find-skills预期输出里能看到find-skills且状态是ready。这一步过了,你就可以直接对 Agent 说「帮我搜索自动收发邮件相关的技能」,它会自己去 clawhub 检索并给出候选。
3.2 安装 tavily-search 技能包
联网搜索类技能的核心是tavily-search。先搜再装:
clawhub search tavily clawhub install tavily-search-1-0-0装完后 TAVILY 的 API Key 需要注入环境变量。注意这里有个坑:写进/etc/profile只对登录 shell 生效,而 OpenClaw 作为服务启动时未必读这个文件。更稳的做法是写进用户级配置,比如 root 跑服务就写/root/.bashrc:
echo 'export TAVILY_API_KEY="tvly-YOUR_API_KEY_HERE"' >> /root/.bashrc source /root/.bashrcTAVILY 的 Key 去 tavily.com 注册后拿,免费额度每月 1000 次。
3.3 config.toml 骨架
OpenClaw 的主配置一般在~/.openclaw/config.toml。下面是我实测能跑通的骨架,把模型通道和技能都串起来:
[model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model = "claude-3-5-sonnet" [skills] enabled = ["find-skills", "tavily-search"] auto_load = true [skills.tavily-search] api_key_env = "TAVILY_API_KEY" max_results = 5 search_depth = "basic" [gateway] host = "127.0.0.1" port = 8080几个参数说明:base_url指向 TaoToken 的 API 入口,api_key填控制台拿到的 Key;skills.enabled显式列出要加载的技能,避免自动扫描时漏掉;api_key_env告诉技能从哪个环境变量读 TAVILY Key,这样 Key 不落盘到配置文件里,更安全。
改完配置重启网关:
openclaw gateway stop openclaw gateway start4. 验证 TAVILY 联网搜索是否真的生效
配置写完不代表能用,必须验证。分两层:先验 TAVILY 本身通不通,再验 OpenClaw 有没有真的调用它。
4.1 直接 curl 打 TAVILY API
这一步绕开 OpenClaw,确认 Key 和网络没问题:
curl -s https://api.tavily.com/search \ -H "Content-Type: application/json" \ -d '{"api_key": "'$TAVILY_API_KEY'","query": "原油预计最高价格","max_results": 3}' | more返回 JSON 里如果有results数组且带title、url、content,说明 Key 有效。同时去 tavily.com 后台看访问次数,应该 +1。
4.2 验证 Skills 加载状态
openclaw skills list | grep ready openclaw plugins list | grep loaded预期能看到tavily-search处于 ready/loaded。如果这里没有,说明 config.toml 的enabled列表或技能名写错了,回去核对。
4.3 通过 OpenClaw 发起搜索
启动 web 聊天界面:
openclaw web然后在对话里说「使用 tavily-search 搜索腾讯云最新的服务器优惠价格」。观察两点:一是回答里是否带真实链接,二是 tavily 后台访问次数是否增加。如果次数没动,说明 Agent 没走 TAVILY,跳到下一节。
5. 本篇常见错误排查
5.1 装了 tavily-search 但 web_search 不调用它
这是最高频的坑。现象是:技能明明 ready,但 Agent 搜索时用的是内置的 Brave Search,tavily 后台次数纹丝不动。原因是旧版本 OpenClaw 的web_search工具只支持内置 Brave Search API,不认 Tavily。我当时的版本是OpenClaw 2026.3.13,就卡在这。
解决办法是升级:
openclaw gateway stop npm update -g openclaw openclaw -v如果npm update没拉到最新,直接指定:
npm install -g openclaw@latest openclaw -v升级后再装插件形态的 tavily:
openclaw plugins install openclaw-tavily openclaw plugins list | grep loaded5.2 TAVILY_API_KEY 读不到
服务启动方式不同,读的环境文件也不同。systemd 启动的服务不读.bashrc,需要在 service 文件里加Environment=或EnvironmentFile=。排查方法是在服务进程里打印环境变量,或者临时把 Key 写进 config.toml 的api_key字段验证是不是环境变量的问题。
5.3 技能名对不上
clawhub 上包名带版本号,比如tavily-search-1-0-0,但 config.toml 里enabled要写技能注册名tavily-search。写错会导致加载失败但不报明显错误,只能靠openclaw skills list核对。
5.4 模型通道 401
如果对话直接报鉴权失败,先确认base_url是https://taotoken.net/api,Key 没有多余空格。可以去 API Keys 页面重新生成一个对比:
API Keys:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
接入细节和参数说明看文档:
接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
6. 通道选择与后续扩展
跑通 TAVILY 之后,你会发现 OpenClaw 的能力边界基本由 Skills 决定。想加更多技能,继续用clawhub search找、clawhub install装,然后在 config.toml 的enabled里补名字即可。
模型通道这块,如果你只是偶尔对话验证,用模型对话页面就够;但如果你要长期跑编码类 Agent、频繁调用工具链,建议切到 Coding Plan,额度和成本结构更适合持续使用:
Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
另外如果你用 Claude Code 这类工具配合 OpenClaw,Anthropic 通道的配置方式可以参考:
ClaudeCodeAnthropic:https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
最后留一个我实测有效的习惯:每次改完 config.toml 或环境变量,先openclaw gateway stop再start,别指望热重载。技能加载状态用openclaw skills list | grep ready当唯一真相,页面显示 ready 才算数。