跳转到内容

Search Routing Profile

Hermes Agent 的完整搜索路由架构。覆盖 MCP 统一搜索、原生 web_search、公共 API 路由三层,自动按模式选引擎、按失败降级、多 Key 轮换。

用户搜索请求
┌─ MCP 统一搜索 (mcp_mcp_search_mcp) ───────────────────┐
│ 按 mode 选首引擎 → 失败自动降级 → 返回结果 │
│ modes: auto / fast / zh / news / academic / deep │
│ full_content / crawl / google / fallback │
└────────────────────────────────────────────────────────┘
┌─ 原生 web_search ──────────────────────────────────────┐
│ 走 config.yaml → web.backend: tavily (1000次/月) │
│ 适合:简单查询、快速问答 │
└────────────────────────────────────────────────────────┘
┌─ 公共 API 路由 (public-api-brain-router) ──────────────┐
│ 意图匹配 → 调用免key公共API → 结构化数据做主干 │
│ 覆盖:书籍/词典/论文/古籍/汇率/天气/地震/诗歌 │
└────────────────────────────────────────────────────────┘

MCP 搜索服务器 mcp_search_server.py 聚合 9 个引擎,按 mode 自动选首引擎,失败自动降级。

场景mode示例
通用搜索automcp_mcp_search_mcp(query="...")
快速查询fast同上,mode 参数省略时默认 auto
中文内容zh优先走 AnySearch(中文友好)
新闻news优先走 You.com
学术/深度academic / deep优先走 Exa
全文抓取full_content / crawl优先走 Firecrawl
Google 风格google优先走 Serper
兜底fallback直接走 DuckDuckGo

auto 模式引擎顺序(依次尝试,前一个失败自动降级到下一个):

tinyfish → perplexity → anysearch → firecrawl → youcom → exa → tavily → serper → duckduckgo
mode首引擎说明
autotinyfish免费自由层,5次/分钟
fasttinyfish同上
zhanysearch中文搜索结果好
newsyoucom新闻类结果
academicexa学术论文搜索
deepexa深度研究
full_contentfirecrawl全页抓取
crawlfirecrawl批量爬取
googleserperGoogle 搜索结果
fallbackduckduckgo零成本兜底

支持多 Key 轮换,失败自动换下一个:

引擎Key 列表
anysearchANYSEARCH_API_KEY_OUTLOOK, ANYSEARCH_API_KEY_GMAIL
firecrawlFIRECRAWL_API_KEY_GOOGLE, FIRECRAWL_API_KEY_GITHUB
youcomYOUCOM_API_KEY_GOOGLE, YOUCOM_API_KEY_APPLE
tavilyTAVILY_API_KEY_1, TAVILY_API_KEY_2, TAVILY_API_KEY_3
exaEXA_API_KEY, EXA_API_KEY_2
perplexityOPENROUTER_API_KEY(单 Key)
serperSERPER_API_KEY(单 Key)

轮换算法:Round-robin,每个引擎失败后自动尝试下一个 Key,全部 Key 都失败才降级到下一个引擎。

Hermes 内置的 web_search 工具,走 Tavily API。

config.yaml → web.backend: tavily
免费额度:1000 次/月
HTTPS 432 → 触发降级

适合快速问答、简单查询。耗尽时降级到 MCP 统一搜索。

免 Key 公共 API 直接查询,不走搜索引擎。适用于精确结构化数据场景。

领域API免 Key
搜书OpenLibrary
查词典Free Dictionary
论文arXiv
古籍Chinese Text Project
电子书Gutendex
汇率Exchangerate API
地震USGS
诗歌PoetryDB
IP 定位ip-api.com
论文元数据Crossref
天气Weatherstack❌ 需 Key
新闻Mediastack❌ 需 Key

降级链:免Key API → 需Key API → 搜索引擎兜底。

免费搜索(5次/分钟)+ 抓取(25 URL/分钟),基于自建 Chromium 集群渲染。

  • 被集成到 MCP 搜索服务器的首层引擎
  • Key 存储在 ~/.tinyfish-key
  • WSL/容器环境需代理,证书验证失败时 SSL 降级

绕过付费墙的 6 层递进方案:

r.jina.ai → Googlebot UA → Bingbot UA → Referer伪装 → AMP → archive.today → Google Cache

覆盖 NYT/WSJ/FT/Economist/Medium 等 50+ 付费站点。

场景推荐入口mode原因
日常问答MCP 搜索autoTinyFish 免费,降级链全
快速查资料MCP 搜索fast同上
中文内容MCP 搜索zhAnySearch 中文结果好
找新闻MCP 搜索newsYou.com 新闻优先
查论文MCP 搜索academicExa 学术搜索
深度调研MCP 搜索deepExa 多结果
提取全页MCP 搜索full_contentFirecrawl
精确数据(书/词/汇率)公共 API 路由免 Key,100% 准确
web_search 可用原生 web_searchTavily,简单够用
Tavily 额度耗尽自动降级到 MCP 搜索auto
所有 API 都挂DuckDuckGofallback零成本兜底
文件作用
/opt/data/config.yamlweb.backend, web.search_backend
/opt/data/scripts/mcp_search_server.pyMCP 统一搜索服务器(9 引擎降级链 + Key 轮换)
/opt/data/skills/software-development/public-api-brain-router/SKILL.md公共 API 路由技能
/opt/data/skills/research/tinyfish-search-fetch/SKILL.mdTinyFish 集成技能
~/.tinyfish-keyTinyFish API Key
  • TinyFish 自由层 5次/分钟 search,批量任务需间隔
  • Tavily 1000次/月,超额后返回 432
  • Serper 免费层 2500次/月(Google 搜索)
  • Firecrawl 需代理访问
  • 公共 API 部分有 Rate Limit
  • 如需更多免费额度:每个 Tavily/AnySearch/Firecrawl Key 可注册多个免费账号,轮换使用