Hermes 回答老掉牙?先给它装上这个免费搜索 Skill,不用 API Key

如果你的 Hermes Agent 还在一本正经地回答 “截至 2024 年我的知识库 …”,那不是模型懒,是它缺一个趁手的搜索工具。问题是 Tavily、Firecrawl、Exa 都要 API key,账单一旦跑起来也不便宜。
其实 Hermes 早就内置了三种不用花钱的搜索方案:
- ddgs — DuckDuckGo 搜索,零 API key,装个 Python 包就能用。
- SearXNG — 自托管元搜索引擎,聚合 Google/Bing/Brave 等 70+ 来源,隐私可控。
- brave-free — Brave Search 免费 tier,每月 2000 次,注册一个 key 即可。
这篇文章会带你把 Hermes 的免费搜索后端装起来、配好、并选出最适合你的那一套。
1. 为什么 LLM 需要实时搜索?
大模型的知识截止日、闭源模型的版本更新、以及瞬息万变的软件生态,都让它容易给出 “过期但自信” 的答案。Hermes 本身能执行终端、浏览网页,但最高效的路径还是让 agent 在需要时自己搜索。
- 问 “PostgreSQL 17 新特性” → 直接返回 2026 年的官方文档。
- 问 “Python 最新稳定版” → 搜索后给出准确版本号,而不是靠训练记忆。
- 查竞品、看论文、验证新闻 — 都离不开 web search。
Hermes 的 web_search 和 web_extract 工具设计得很灵活:
web_search负责搜。web_extract负责抓取/萃取具体页面。- 后端可切换,搜索和萃取可以分别配置不同 provider。
2. Hermes 搜索后端一览
从源码 tools/web_tools.py 可以看到,Hermes 目前支持 7 个 web provider:
| 后端 | 是否需要 API Key | 是否支持 web_extract | 适合场景 |
|---|---|---|---|
| ddgs | 否 | 否 | 最快上手,零成本 |
| searxng | 否 | 否 | 隐私/高可控,懂 Docker 者 |
| brave-free | 免费 key | 否 | 质量不错,月 2000 次 |
| tavily | 付费 key | 是 | 高质量搜索+萃取 |
| exa | 付费 key | 是 | 语义搜索强 |
| parallel | 付费 key | 是 | 企业级 |
| firecrawl | 付费 key / Nous Subscription | 是 | 搜索+萃取一体 |
注意:ddgs、searxng、brave-free 都是搜索-only,不自带 web_extract。如果你还要抓取页面,需要把 web.extract_backend 单独配置成 firecrawl / tavily / exa / parallel。
3. 方案 A:ddgs(DuckDuckGo)——最快,零配置
这是 Hermes 内置的 ddgs 插件(plugins/web/ddgs),底层是社区流行的 duckduckgo-search Python 包。它直接 scrape DuckDuckGo 的 HTML 结果,不需要 API key。
3.1 安装依赖
# 在 Hermes 的虚拟环境里执行
uv pip install -U ddgs
# 或者
pip install -U ddgs
Hermes 的 hermes tools 交互式配置也会在你选择 ddgs 时自动尝试安装。
3.2 启用并配置
# 方法 1:交互式配置(推荐)
hermes tools
# 勾选 "Web Search & Scraping" → 选择 DuckDuckGo → 自动安装 ddgs
# 方法 2:直接改 config.yaml
hermes config set web.backend ddgs
hermes config set web.search_backend ddgs
~/.hermes/config.yaml 会变成类似:
web:
backend: ddgs
search_backend: ddgs
3.3 验证
启动 Hermes 后问:
> 搜索 "Hermes Agent v0.18 新功能"
如果看到 Hermes 调用 web_search_tool,并返回带 title/url/description 的 JSON 结果,说明 ddgs 已生效。
3.4 注意事项
- DuckDuckGo 会在服务器端做 rate limit,不要高频连续查询。
- 搜索-only,不返回完整页面内容。后续需要
web_extract时,要额外配置 extract provider。 - 如果搜索偶尔超时,是 DuckDuckGo 在限流,稍后再试或换 SearXNG/Brave。
4. 方案 B:SearXNG 自托管——隐私最好、来源最广
SearXNG 是一个元搜索引擎,把 Google、Bing、Brave、DuckDuckGo、Wikipedia 等 70+ 来源的结果聚合起来,不追踪用户。它不依赖任何商业 API,只要你有一台能跑 Docker 的机器(本地或 VPS)就能搭。
4.1 一键部署 SearXNG
# 本地快速跑起来
docker run -d --name searxng -p 127.0.0.1:8080:8080 -e BASE_URL=http://localhost:8080 --restart unless-stopped searxng/searxng
验证:浏览器打开 http://localhost:8080 能搜即可。
4.2 配置 Hermes 使用 SearXNG
hermes config set web.backend searxng
hermes config set web.search_backend searxng
hermes config set env.SEARXNG_URL http://localhost:8080
或者手动写入 ~/.hermes/.env:
SEARXNG_URL=http://localhost:8080
4.3 为什么选 SearXNG?
- 多引擎聚合:一次查询覆盖多个搜索引擎,结果更全面。
- 隐私:查询不经过第三方商业 API。
- 稳定可控:自己的服务器,自己限速、自己加代理。
- 免费:除了你的机器成本,零 API 费用。
4.4 局限
- 需要维护一个服务。
- 某些搜索引擎(如 Google)可能会封 SearXNG 实例的 IP,需要配置轮换或 fallback engine。
- 同样是搜索-only,抓取需要另外配 extract provider。
5. 方案 C:Brave Search Free Tier——质量高、轻维护
Brave Search 提供一个免费 Data-for-Search API tier,每月 2000 次查询,对大多数个人用户足够。
5.1 申请 key
- 打开 https://brave.com/search/api/
- 注册账号并创建 Data-for-Search API key。
- 复制
BRAVE_SEARCH_API_KEY。
5.2 配置 Hermes
hermes config set env.BRAVE_SEARCH_API_KEY "your-key-here"
hermes config set web.backend brave-free
hermes config set web.search_backend brave-free
~/.hermes/.env:
BRAVE_SEARCH_API_KEY=your-key-here
5.3 特点
- 结果质量通常比 DuckDuckGo scraping 更稳定。
- 有官方 API,rate limit 明确(免费 1 qps)。
- still search-only,需要额外 extract provider。
6. 搜索与萃取分开配置:高级用法
免费搜索后端通常不处理页面抓取。如果你问 “把这篇文章总结成 3 点”,Hermes 需要 web_extract。你可以让搜索和萃取分别用不同后端:
web:
search_backend: ddgs # 或 searxng / brave-free
extract_backend: firecrawl # 或 tavily / exa / parallel
backend: firecrawl # 兜底
search_backend只影响web_search。extract_backend只影响web_extract。- 如果只想用免费方案,可以先用 ddgs 搜索,然后让 Hermes 用
browser_navigate去浏览器里读页面(内置浏览器工具,免费)。
7. 常见问题排查
| 问题 | 原因 | 解决 |
|---|---|---|
找不到 web_search 工具 |
web toolset 没启用 | 运行 hermes tools,勾选 Web Search & Scraping |
| ddgs 报错 “package is not installed” | 没装 ddgs |
uv pip install -U ddgs |
| SearXNG 连接失败 | SEARXNG_URL 不对或服务没启动 |
检查 URL 和 Docker 容器状态 |
| Brave 报错 401/403 | key 无效或额度用完 | 去 Brave 控制台检查 key 和 quota |
| 搜索后不会自动抓取 | 没配置 extract provider | 设置 web.extract_backend 或直接用 browser 工具 |
8. 对比:哪个免费方案适合你?
| 维度 | ddgs | SearXNG | Brave Free |
|---|---|---|---|
| 设置难度 | 最简单 | 中等 | 简单 |
| 成本 | 0 | 0(自托管) | 0(2000次/月) |
| 隐私 | 中 | 最高 | 中 |
| 结果质量 | 够用 | 取决于引擎配置 | 好 |
| 稳定性 | 一般 | 自己掌控 | 较好 |
| 推荐人群 | 新手/快速体验 | 进阶/隐私控 | 日常轻度使用 |
9. 操作建议
- 先装 ddgs:5 分钟让 Hermes 拥有实时搜索能力。
- 日常再搭 SearXNG:如果你经常查资料,自建一个更稳。
- Brave Free 备用:当 ddgs 限流或 SearXNG 维护时切换。
- 不要只靠搜索:免费搜索是 “找到结果”,理解结果还要靠模型和 extract/browser 工具。
结语
Hermes Agent 不是不知道最新信息,而是默认没开启实时搜索。装上 ddgs、SearXNG 或 Brave Free 任意一种,它就立刻从 “2024 年知识库终结者” 变成能查最新资料的智能助手。
免费的搜索后端就在 Hermes 源码里躺着,只是很多人不知道。现在打开终端,给它装上吧。