📦 Tavily Search Pro Native Node — Tavily 搜索专业版原生 Node
v1.0.1针对 OpenClaw 的研究级 Tavily 工具包 - 原生 Node.js,零依赖。支持搜索 + 提取 + 缓存 + 统计 + 速率限制回退。适用于用户需要...
运行时依赖
安装命令
点击复制技能文档
Tavily Search Pro (Native Node) 是一款研究级别的Tavily工具包。它包含一个脚本和四个子命令:search、extract、stats、cache。它是Native Node.js实现的,零依赖,足够小以便直接审计。
何时使用此技能:
- 用户需要进行彻底的研究,而不仅仅是快速查找
- 会话中有多个查询(缓存可以减少30-50%的信用额度)
- 用户想要从特定URL提取完整内容
- 用户想要知道他们的Tavily信用使用情况
- 网络条件不稳定(自动重试)
使用tavily-search-native-node(基本版本)代替时:
- 只需要进行一次搜索,不需要其他功能
- 想要最小化审计表面(无磁盘写入)
- 不需要缓存或日志记录
不应在以下情况下使用:
- 私密敏感的查询(所有内容都传输到api.tavily.com)
- 简单的URL获取 - 使用web_fetch进行一次性页面读取
如何运行: 脚本位于scripts/tavily-pro.mjs。
快速参考: # 搜索 node "/scripts/tavily-pro.mjs" search "OpenClaw skills ecosystem" # 从URL提取完整内容 node "/scripts/tavily-pro.mjs" extract https://example.com/ https://www.iana.org/help/example-domains # 查看使用情况 node "/scripts/tavily-pro.mjs" stats # 检查或清除缓存 node "/scripts/tavily-pro.mjs" cache info node "/scripts/tavily-pro.mjs" cache clear # 帮助 node "/scripts/tavily-pro.mjs" help
Search子命令: 标志 值 默认 目的 --topic general | news general 新闻偏向最新文章 --depth basic | advanced basic 高级 = 2信用 --max 1-20 5 返回结果数 --days 整数 7(仅新闻) 年龄窗口 --include 逗号列表(无) 包含域名 --exclude 逗号列表(无) 排除域名 --raw-content 标志 关闭 包含每个结果的完整页面文本 --json 标志 关闭 原始JSON输出 --no-cache 标志 关闭 跳过缓存 --no-log 标志 关闭 跳过使用日志 --no-retry 标志 关闭 无回退429 --ttl 秒 24小时 通用,1小时新闻 覆盖缓存TTL
Extract子命令: 包装Tavily的/extract端点 - 获取一个或多个URL,返回清洁的文章文本。 # 单个URL node "./scripts/tavily-pro.mjs" extract https://example.com # 多个URL(比单独调用更高效) node "./scripts/tavily-pro.mjs" extract https://a.com https://b.com https://c.com # 高级深度用于JavaScript渲染的页面 node "./scripts/tavily-pro.mjs" extract --depth advanced https://spa-site.com 标志:--depth、--json、--no-cache、--no-log、--no-retry、--ttl(默认7天)。 信用:Tavily按5个URL的批次计费 - 每5个URL 1信用(基本),每5个URL 2信用(高级)。我们的日志正确跟踪此信息。
Stats子命令: 显示JSONL日志的使用情况摘要。 node "./scripts/tavily-pro.mjs" stats # 最后30天 node "./scripts/tavily-pro.mjs" stats --days 7 # 最后一周 node "./scripts/tavily-pro.mjs" stats --json # 机器可读输出 包括:总调用次数、搜索与提取、缓存命中率、错误、使用信用、缓存节省的信用。
Cache子命令: node "./scripts/tavily-pro.mjs" cache info # 显示目录、条目数、大小、年龄 node "./scripts/tavily-pro.mjs" cache clear # 清除缓存
此技能的功能: 从进程环境中读取TAVILY_API_KEY 调用https://api.tavily.com/search和https://api.tavily.com/extract 将缓存的响应写入~/.openclaw/cache/tavily-search-pro-native-node/cache/ 将每个调用的一行JSON追加到~/.openclaw/cache/tavily-search-pro-native-node/usage.log 将格式化的、ASCII安全的human-readable结果打印到stdout;--json保留原始提供者JSON
此技能不执行的操作: 不触摸~/.openclaw/cache/tavily-search-pro-native-node/以外的任何文件 不进行api.tavily.com以外的网络调用 不修改系统配置 不自动更新 不向任何外部服务报告
缓存: 响应缓存到~/.openclaw/cache/tavily-search-pro-native-node/cache/,按请求正文的SHA-256 + 类型(search/extract)键入。 不同的标志组合 = 不同的缓存条目。 没有假命中。 默认TTL: 搜索,通用主题:24小时 搜索,新闻主题:1小时 提取:7天(网页内容稳定;仅在新鲜度重要时重新提取) 每次调用使用--ttl SECONDS覆盖。 使用--no-cache完全跳过。
速率限制回退: 在HTTP 429(速率限制)上,脚本最多重试3次,具有指数回退(1s、2s、4s),或者如果存在,则尊重Retry-After标头。 使用--no-retry禁用。 网络错误也会重试。 所有其他HTTP错误立即出现。
使用日志: 每个调用将一行JSON追加到~/.openclaw/cache/tavily-search-pro-native-node/usage.log: {"ts":1713732000000,"kind":"search","query":"OpenClaw","depth":"basic","topic":"general","cached":false,"credits":1} 查询以明文记录。 如果对特定调用敏感,请使用--no-log跳过。 日志仅由脚本读取,除追加外。 如果日志增长太大(典型:~200字节/条目),请手动轮换/删除。