free-web-search-ai

Other

Free unified web search with Tavily + SearXNG. AI-powered intelligent routing with multi-objective optimization, query intent understanding, month-end strate...

Install

openclaw skills install free-web-search-ai

Free Web Search AI v3.0 - 智能搜索(Perplexity 模式)

功能特性

本技能提供企业级智能搜索解决方案,采用 Perplexity 模式:

核心功能

  • 多引擎搜索:Tavily(AI 理解)+ SearXNG(隐私搜索)
  • 智能分类:自动识别 tech/commerce/news/academic/howto 查询类型
  • 并发抓取:使用 Crawl4AI 异步并发抓取网页,提速 3-5 倍
  • 语义去重:基于 SentenceTransformer 向量相似度去重
  • 加权排序:域名权威性 + 内容质量综合评分
  • SQLite 缓存:支持过期时间、自动清理
  • 自动重试:3 次指数退避重试机制
  • 详细日志:完整的搜索过程日志记录

技术架构

用户查询 → Tavily 搜索 → 查询分类 → SearXNG 补充 → 去重 → 排序 → 并发抓取 → 生成答案 → 缓存

使用方法

基础搜索

python3 main.py "Python 异步编程"

技术搜索

python3 main.py "github actions 报错 timeout"

商业搜索

python3 main.py "iPhone 15 价格 对比"

配置说明

编辑 config.py

TAVILY_API_KEY = "your-api-key"  # Tavily API 密钥
SEARXNG_URL = "http://localhost:8080/search"  # SearXNG 服务地址
MAX_CRAWL = 5  # 最大抓取 URL 数
CONCURRENT_CRAWL = 3  # 并发抓取数
CACHE_TTL = 300  # 缓存过期时间(秒)

依赖安装

pip install -r requirements.txt

SearXNG 部署

docker run -d -p 8080:8080 searxng/searxng

版本历史

v3.0.0 (2026-03-24) - Perplexity 模式

  • ✅ 多引擎搜索 + 智能调度
  • ✅ 并发抓取(asyncio.gather)
  • ✅ 语义去重(SentenceTransformer)
  • ✅ 加权排序(域名权威性 + 内容质量)
  • ✅ SQLite 缓存(支持过期时间)
  • ✅ 自动重试(tenacity)
  • ✅ 日志记录

v2.0.0 - 基础版本

  • Tavily + SearXNG 双引擎
  • 基础缓存功能

v1.0.0 - 初始版本

  • 单一 Tavily 引擎

性能对比

版本搜索耗时结果质量并发数
v1.05-8 秒⭐⭐⭐1
v2.03-5 秒⭐⭐⭐⭐1
v3.01-3 秒⭐⭐⭐⭐⭐3

常见问题

Q: 为什么需要 SearXNG? A: Tavily 结果不足时,SearXNG 提供补充搜索结果,确保 coverage。

Q: 缓存多久过期? A: 默认 300 秒(5 分钟),可在 config.py 调整。

Q: 并发抓取会封 IP 吗? A: CONCURRENT_CRAWL 默认为 3,已做限流保护。

作者

brucetangc

许可证

MIT License