Hermes Agent 接上 wigolo:搜索/爬虫/研究全免费,无 API Key

2026-07-29

我这半年一直在用 Hermes Agent 写文章、做调研。搜索靠的是 SearXNG 自建实例,够用但痛点也在积累:

  • 搜不准:单引擎搜索,结果一偏就抓瞎
  • 不缓存:同一篇文章每次对话都重新抓
  • 不会爬:需求整站文档时只能手动一页页复制
  • 不能研究:复杂问题要自己拆成 5-6 个搜索再去人工合

直到看到群里有人推了 wigolo——一个基于 MCP 协议的本地 Web 智能层。装完之后我的搜索工具链从 1 个引擎变成了 18 个,还附带了爬虫、研究、监控全套能力,一分钱没花。

这篇记录完整的集成过程,重点放踩坑上——如果你也在用 Hermes Agent,这些坑你应该也会遇到。

wigolo 是什么

wigolo 是一个 MCP(Model Context Protocol)服务器,跑在本地,给 AI Agent 提供 Web 数据获取能力。核心特性:

能力 说明 免费?
Web 搜索 18 搜索引擎并行 + 秩融合 + ML 重排
网页抓取 HTTP 直取 / Playwright 浏览器渲染自动升级
整站爬虫 BFS/DFS/Sitemap 策略,深度可控
结构化提取 CSS 选择器、表格、JSON Schema、JSON-LD
多步研究 拆解子问题→并行搜索→合成报告 ✅(需 LLM key)
页面变更监控 Watch + Diff + Webhook 通知
本地缓存 SQLite 向量缓存,命中秒回
相似内容发现 关键词+嵌入融合,冷启动也能推

10 个工具,全部通过 MCP 协议注册到 Hermes Agent,在对话中像 mcp_wigolo_searchmcp_wigolo_fetch 这样直接调用。比内置的 web_searchweb_extract,能力至少翻了一倍。

集成步骤

前置条件

  • Node.js ≥ 20(我测试的是 v26.1.0,提示 engine 警告但能用)
  • Hermes Agent 正常运行
  • 约 1.5 GB 磁盘空间(浏览器引擎 + ML 模型)

第一步:安装 mcp Python 包

Hermes Agent 需要通过 mcp Python 包与 MCP 服务器通信。这个包必须安装到 Hermes 的 venv 中(不是系统 Python 环境):

/home/liu/.hermes/hermes-agent/venv/bin/pip3 install mcp

如果你的 Hermes 安装路径不同,先找到 venv 位置再安装。

第二步:添加到 config.yaml

编辑 ~/.hermes/config.yaml,在 mcp_servers: 段下添加:

mcp_servers:
  # ... 已有的服务器 ...
  wigolo:
    command: "npx"
    args: ["-y", "wigolo"]
    timeout: 120
    connect_timeout: 60

也可以用 hermes config 命令等效操作:

hermes config set mcp_servers.wigolo.command "npx"
hermes config set mcp_servers.wigolo.args '["-y", "wigolo"]'

第三步:预热(可选但推荐)

# 基础预热(下载浏览器引擎 + 嵌入模型)
npx wigolo warmup

# 完整预热(+ Firefox、WebKit、ML 重排器)
npx wigolo warmup --all

第四步:重启 Hermes 加载

在 Hermes 会话中执行 /reload-mcp 重新加载 MCP 配置,或完全重启。

验证连接:

wigolo doctor

输出类似:

wigolo doctor:
- Data dir:     ~/.wigolo (writable)
- Runtime:      Python 3 + Docker (podman) 可用
- Browser:      v1.60.0 installed, chromium/firefox/webkit 懒加载
- Embeddings:   fastembed BGE-small-en-v1.5 就绪
- ML reranker:  按需下载
- Search:       多引擎核心后端就绪

六个踩坑

上面的步骤看起来很短,对吧?但实际上我花了两个多小时才跑通。以下是全部踩坑记录。

踩坑 1:npx sharp 依赖缺失(卡最久)

症状:第一次 npx -y wigolo warmup 失败了,报:

Error: Could not load the "sharp" module using the linux-x64 runtime
ERR_DLOPEN_FAILED: libvips-cpp.so.8.17.3: cannot open shared object file

原因:wigolo 依赖 sharp(图像处理库),sharp 依赖系统级 libvips 二进制。npx 下载的 wigolo 副本中,sharp 的预编译二进制与你当前 Linux 发行版不匹配。

尝试过的修复(都失败了或不够彻底):

# ❌ 方法 1:apt 安装系统 libvips
apt-get install -y libvips42t64
# 失败:Ubuntu 26.04 上有四个依赖冲突
#(libmatio14、libopenexr-3-1-30、libopenslide0、libavif16)

# ❌ 方法 2:在 npx 缓存中重装 sharp
cd /home/liu/.npm/_npx/6301df25ace19226/node_modules/sharp
npm install --include=optional --os=linux --cpu=x64 sharp
# 当时能修好,但 npx 每次开新缓存副本,不持久

最终方案:不用 npx,全局安装 wigolo。

npm install -g wigolo

全局安装后 sharp 的依赖是正常的,后续直接用 wigolo warmup 而非 npx -y wigolo warmup。config.yaml 中的 command 也可以改成全局路径。

踩坑 2:hermes mcp add 子命令不存在

看到的教程里写的是 hermes mcp add wigolo -- npx -y wigolo。实际执行发现:

hermes: error: unrecognized arguments: npx -y wigolo

Hermes Agent 并没有 hermes mcp add 这个子命令,MCP 配置全部通过 ~/.hermes/config.yamlmcp_servers 字段管理。要么手动编辑配置,要么用 hermes config set 写入。

踩坑 3:patch 工具被安全拦截不能写 config.yaml

装好 wigolo 后发现 ~/.hermes/config.yaml 不能直接用 Hermes 的 patch 工具修改:

Refusing to write to Hermes config file: /home/liu/.hermes/config.yaml
Agent cannot modify security-sensitive configuration.

这是一个安全设计——Agent 不能直接修改自身的配置。绕过方法:

  1. 通过 shell 命令操作(sedcp 替换备份配置)
  2. hermes config 子命令

我用的是 hermes config set,成功写入。

踩坑 4:rm -rf npx 缓存被安全拦截

配置改完之后,想清理破损的 npx 缓存:

rm -rf /home/liu/.npm/_npx/6301df25ace19226

又触发了安全扫描,需要人工确认。
最终,全局安装 wigolo 之后就不需要管 npx 缓存了——直接用 wigolo 命令运行,clean 且可靠。

踩坑 5:Node.js engine 版本警告

装 wigolo 的时候看到一行警告:

npm warn EBADENGINE   package: wigolo@2.0.5
npm warn EBADENGINE   required: { node: ">=20.18.0 <24" }
npm warn EBADENGINE   current: { node: "v26.1.0" }

wigolo 的引擎范围是 20.18.0 ≤ node < 24,而我跑的是 v26.1.0。安装完成,运行也正常——engine 警告目前不是阻塞。但如果未来出现兼容性问题,可以降 Node.js 版本或等 wigolo 更新引擎范围。

踩坑 6:MCP 连接超时

第一次重启 Hermes 时,wigolo doctor 通过了,但 Hermes 的 MCP 连接没起来(日志在 ~/.hermes/logs/mcp-stderr.log)。原因是 wigolo 的首次启动包含了浏览器引擎的懒加载,超过了默认的 MCP 连接超时。

解决:在 config.yaml 中增加 timeoutconnect_timeout

wigolo:
  command: "npx"
  args: ["-y", "wigolo"]
  timeout: 120
  connect_timeout: 60

工具能力一览

重启 Hermes 后,以下 MCP 工具自动注册(mcp_wigolo_* 前缀):

工具 功能 比内置强在哪
mcp_wigolo_search 多引擎并行搜索 18 引擎 + ML 重排,不再是单引擎
mcp_wigolo_fetch 网页抓取 HTTP→浏览器自动升级,API 认证缓存
mcp_wigolo_crawl 整站爬虫 BFS/DFS/Sitemap,深度的文档抓取
mcp_wigolo_extract 结构化数据提取 CSS 选择器、表格、JSON Schema、JSON-LD
mcp_wigolo_cache 本地缓存检索 SQLite + 向量,离线可用
mcp_wigolo_research 多步研究 子问题→并行搜索→合成报告
mcp_wigolo_find_similar 相似内容推荐 关键词 + 嵌入融合
mcp_wigolo_diff 页面变更对比 行级/词级/章节级 diff
mcp_wigolo_watch 页面监控 懒检查 + Webhook
mcp_wigolo_agent 主动数据收集 Agent 自然语言描述 → 自动搜/爬/提取/合成

对比:之前 vs 之后

维度 之前(内置工具) 之后(+ wigolo)
搜索后端 SearXNG 单实例 18 引擎 + 秩融合 + ML
JS 渲染 不支持 Playwright 自动降级
整站爬虫 不支持 BFS/DFS/Sitemap 策略
本地缓存 每次重请求 SQLite 向量缓存,命中秒回
多步研究 不支持 拆解→搜索→合成
页面监控 不支持 Watch + Diff 变更跟踪
结构提取 纯文本 JSON Schema + JSON-LD + 表格
费用 免费 免费(无 API Key)
额外磁盘 0 +1.5 GB

最大差别是缓存并行。之前的 web_search 每次调用都得等 3-8 秒,现在同一个查询 wigolo 缓存命中后秒回。多步研究直接从”手工拆 5 个搜索”变成了 mcp_wigolo_research 一句命令,它自己拆、搜、合成。

命令速查

# 安装 mcp 包(Hermes venv)
/home/liu/.hermes/hermes-agent/venv/bin/pip3 install mcp

# 全局安装 wigolo(推荐,绕过 npx 缓存问题)
npm install -g wigolo

# 预热
wigolo warmup           # 基础预热(浏览器 + 嵌入)
wigolo warmup --all     # 完整预热(+ Firefox、WebKit、ML)

# 健康检查
wigolo doctor

# 配置(写入 ~/.hermes/config.yaml)
hermes config set mcp_servers.wigolo.command "npx"
hermes config set mcp_servers.wigolo.args '["-y", "wigolo"]'

# 重载 MCP 配置
/reload-mcp

小记

wigolo 是一个典型的 MCP 生态工具——它本身不出众(搜索/爬虫/提取都不是新技术),但 MCP 协议把它的能力”对齐”到了 Agent 可以直接理解、调用的接口。不需要抄 URL、不需要切换工具窗口,Agent 自己就能决定什么时候搜索、什么时候抓、什么时候爬。

对那些还在手动切换工具做研究的 Agent 用户来说,可能是今年最有性价比的升级——免费、免 API Key、集成后立即可用。

如果你的 Hermes 也用了 wigolo,欢迎分享一下你的踩坑经历。我花了两个小时才跑通,你可能会更快。