Web Search Plus for Hermes

为 Hermes 提供多源网页搜索与正文提取,并保留真实来源。

Star 数
★ 419
最近更新
4 天前
License
MIT
主语言
Python

30 秒速览

运行形态
Agent 插件 / 技能命令行工具
可在哪里用
平台专用
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
Hermes AgentPython 3.10+至少一个支持搜索的 API 密钥或已配置的本地端点DonSeTch 4.2.9(可选)Shell / 命令行网络访问本地文件系统
典型场景
使用 Hermes Agent 调研近期事件的研究者,需要结果直接附带可核查的原始网页。
不适合
  • 不使用 Hermes Agent 的团队
  • 需要完全离线研究的用户
  • 要求所有提供商自动参与路由的团队

这个 Agent 能做什么,适合哪些场景?

Web Search Plus 是面向 Hermes Agent 插件 API 的网页搜索与页面提取插件,当前 README 标注版本为 v4.3.3。它注册 `web_search_plus` 和 `web_extract_plus` 两个工具,分别用于发现带原始链接的搜索结果,以及清理已有 URL 的页面正文。搜索引擎可在多个提供商之间进行路由和故障切换,并能使用 SearXNG、Keenable 或另行安装的 DonSeTch 等本地或免付费密钥选项。核心插件要求 Python 3.10+,通过 Hermes 插件命令安装,并在 Hermes 环境文件中保存提供商密钥。DonSeTch 以独立的 stdio MCP 进程运行且不随插件捆绑;Jev、Octen 和 TinyFish 等能力也都是有明确边界的可选集成。

一次搜索从 web_search_plus 接收查询以及可选的提供商、时效、区域、语言、域名、缓存和研究模式参数,再调用已配置的搜索服务,返回带标题、摘要和原始 URL 的来源;自动模式可在服务失败或无结果时尝试其他提供商。路由器能够记录提供商样本并使用 provider_stats.json 调整选择,搜索缓存支持 no_cache 与 cache_ttl。拿到 URL 后,web_extract_plus 会验证地址、调用选定的提取服务并生成清理后的页面文本;HTTP 路径限制响应大小,并只允许同源重定向。可选的 DonSeTch 适配器通过 DONSETCH_BIN 启动单独安装的 stdio MCP 程序,完成显式指定的搜索或 Markdown 提取。插件还提供 setup.py 状态检查与配置向导、命令行搜索测试,以及可选的 wsp 后端,把 Hermes 原生 web_search 和 web_extract 调用转入同一引擎。

  1. 使用 Hermes Agent 调研近期事件的研究者,需要结果直接附带可核查的原始网页。
  2. 已经收集一批 URL 的分析人员,希望把页面转换为更适合代理读取的干净正文。
  3. 担心单一搜索 API 故障的团队,希望配置多个提供商并获得受控的路由与回退。
  4. 有自建 SearXNG 的团队,希望结合 SearXNG 与免密钥 Keenable,降低对商业搜索 API 的依赖。
  5. 需要本地来源检索或 Markdown 提取的 Hermes 用户,愿意单独安装并显式调用 DonSeTch。
  6. 插件维护者或运营人员,需要通过质量报告、状态命令和缓存控制排查搜索链路。

如何安装或部署这个 Agent?

需要 Hermes Agent 与 Python 3.10+。先安装并启用插件:

hermes plugins install robbyczgw-cla/hermes-web-search-plus --enable

检查提供商状态并运行入门配置:

python3 ~/.hermes/plugins/web-search-plus/setup.py status
python3 ~/.hermes/plugins/web-search-plus/setup.py setup --preset starter

至少配置一个支持搜索的密钥或本地端点;提取工具同样需要一个支持提取的密钥或端点。配置助手把密钥写入当前 Hermes 环境文件,而不是 config.json。完成后重启 Hermes CLI,或在会话内执行 /reset;Gateway 用户执行 /restart 后再执行 /reset。

无商业 API 密钥的配置可使用自托管预设,但需要自己的 SearXNG 实例;该预设还启用 Keenable 的公共提取层:

python3 ~/.hermes/plugins/web-search-plus/setup.py setup --preset self-hosted
python3 ~/.hermes/plugins/web-search-plus/setup.py status

DonSeTch 并未捆绑。如需使用,应另行安装已测试版本并把 DONSETCH_BIN 指向其绝对可执行文件路径:

npm install -g [email protected]

如何使用这个 Agent?

重新加载 Hermes 后,可以直接调用两个已注册工具。搜索并保留来源链接:

web_search_plus(query="Hermes Agent latest release")
web_search_plus(query="compare recent open-source agent frameworks", mode="research", quality_report=True)

读取已有页面并提取干净正文:

web_extract_plus(urls=["https://example.com"])
web_extract_plus(urls=["https://docs.example.com"], provider="linkup", render_js=False)

也可以先在插件目录进行命令行冒烟测试:

cd ~/.hermes/plugins/web-search-plus
python3 search.py --query "Hermes Agent latest release" --provider auto --quality-report

Octen、TinyFish 与 DonSeTch 默认不会加入自动路由或回退,需显式选择。例如 Octen 需要 MONID_API_KEY:

web_search_plus(query="recent vector database research", provider="octen", freshness="month")

TinyFish 需要用户自己的 TINYFISH_API_KEY:

web_search_plus(query="recent agent framework releases", provider="tinyfish", freshness="week")

这个 Agent 有哪些优点和局限?

优点
  • 把 15 个搜索提供商和 9 个提取提供商收敛到两个 Hermes 工具中,只配置一个可用提供商即可启动相应工具。
  • 输出保留原始 URL,而不是只给出生成式答案,适合需要来源核查的研究流程。
  • 支持自动路由、失败回退、缓存控制、质量报告和提供商统计,能减少单一服务不可用造成的中断。
  • 提供 SearXNG、Keenable 和独立 DonSeTch 路径,可减少对付费搜索 API 的依赖。
  • 提取链路包含严格 URL 验证、同源重定向、响应大小限制以及不可信网页数据提示。
局限
  • 核心交付形式是 Hermes Agent 插件;来源没有记录 ChatGPT、Codex、Claude 或其 API 的原生集成。
  • 实际可用性取决于外部搜索或提取端点;自托管配置仍需 SearXNG,Keenable 公共层有速率限制且没有 SLA。
  • 提供商隐私条款并不一致;TinyFish 标准条款允许将客户数据用于模型训练,敏感查询需要额外审查。
  • DonSeTch、Jev 及其依赖均不捆绑,需要分别安装和配置;DonSeTch 默认只能显式调用。
  • 从旧 Hound 集成升级到 4.0 及更高版本需要迁移,因为 Hound 已被移除并由 DonSeTch 路径取代。

这个 Agent 与同类方案有什么区别?

与 Hermes 原生 web_search 和 web_extract 相比,Web Search Plus 增加了多提供商引擎、回退、缓存和质量报告;可选 wsp 后端能将原生调用转入这套引擎,但安装插件不会自动选用该后端。仓库还指向 TypeScript/OpenClaw 版本 web-search-plus-plugin,而本仓库是针对 Hermes Agent 插件 API 的 Python 版本。DonSeTch 不是捆绑替代品,而是独立的 AGPL-3.0-only 本地 MCP 程序,Web Search Plus 仅通过单独的 stdio 进程与它集成。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Web Search Plus for Hermes 当前 92 · 表现优秀 Agent 插件 / 技能免费 ★ 419 4 天前 Python —
BambooAI 数据分析师 85 · 表现良好 网页应用免费 + 模型费 ★ 792 2 天前 Python OpenAI API · Claude API
通义深度研究 49 · 缺口较多 命令行工具免费 + 模型费 ★ 20k 7 个月前 Python —
Maxun 48 · 缺口较多 云服务 / SaaS免费版 + 付费版 ★ 18k 3 天前 TypeScript —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现优秀
92/ 100 五分制 4.6 / 5
信任安全 25/29
可靠稳定 12/14
适用触发 18/18
规范维护 17/18
有效结果 13/13
证据核验 7/8
查看各维度的扣分理由
信任安全25 / 29 · 4.3/5

证据显示 CI 权限仅为 contents:read;核心为 Python 标准库实现,可选 DonSeTch、Jev 和商业提供商均需单独安装或显式启用,DonSeTch、Octen、TinyFish 默认不进入自动路由。README 清楚说明查询、URL、页面内容会流向哪些提供商,并披露训练、保留、计费及企业 ZDR 差异;密钥写入环境文件,Jev 密钥文件要求 mode 600,且不得进入 config.json。4.3.2 还记录了 URL 校验、同源重定向、响应大小限制、错误文本隔离及不可信网页数据标记。搜索结果保留原始链接,来源归属充分。扣分在于工具执行普通搜索和提取时不逐次要求用户确认,确认主要体现在安装、配置和选择提供商;回滚虽有迁移、备份恢复和 kill-switch 文档入口,但所给正文未展示完整恢复步骤;依赖安全有版本固定、分离安装和 npm --ignore-scripts 等措施,但 Python 依赖清单、依赖审计或漏洞扫描结果未提供。

可靠稳定12 / 14 · 4.3/5

README 的功能、版本、兼容性和测试命令与 CI、隔离测试以及提供商发现测试相互一致。测试展示了运行状态隔离、DNS 安全校验保持开启、重复提供商 ID 关闭失败、损坏模块产生类型化诊断。CI 覆盖 Python 3.10至3.12、Ruff、pytest、生成物检查、模式边界和编译。扣分在于多项能力依赖外部 API、自托管端点或另装的 DonSeTch/typesafe-sdk;公共 Keenable 层明确无 SLA 且限流,DonSeTch 其他已解析版本仅标为 compatible_unverified。失败消息证据充分,但静态材料没有覆盖所有外部提供商的故障语义。

适用触发18 / 18 · 5.0/5

资料明确区分当前信息检索、研究、已有 URL 提取、自托管无付费密钥、显式敏感提供商和原生 Hermes 后端等场景。能力边界具体:SearXNG 不负责提取,Jev 不是搜索提供商,Octen 禁止全文与答案 API,TinyFish 不发送 purpose/fetch,DonSeTch 是独立进程。触发精度较强,敏感或高风险提供商保持显式调用或需 auto_allow,Jev 需显式设置且 news 判定有 0.95 阈值。Python、Hermes 重载、Windows、CLI/Gateway、自托管和配置环境均有说明,因此未作实质扣分。

规范维护17 / 18 · 4.7/5

README 提供清晰的快速开始、工具说明、按任务导航的文档索引、开发命令和深层合同文档。安装、升级、迁移、示例、FAQ、已知限制、稳定接口、版本发布说明和变更日志均有明确入口;工具名和旧配置兼容行为也有说明。MIT 元数据与完整 LICENSE 一致。扣分在维护责任:仓库和许可证可归属到 Robby/robbyczgw-cla,也提供更新命令与贡献入口,但发布者未由企业注册表验证,所给文件没有正式支持渠道、维护承诺或多维护者治理信息。

有效结果13 / 13 · 5.0/5

输出面向代理使用,提供结构化搜索结果、原始 URL、清理后的页面内容、可选质量报告、缓存年龄和提供商诊断,实用性证据充分。相较单一搜索接口,多提供商回退、搜索加提取、来源保留、路由和本地选项构成明确增量价值。成本收益也有良好控制:只需一个提供商,可使用自托管或无密钥选项,商业服务和 Jev 均可选,并披露 Monid 计费及公共层限制。扣分较少,但性能百分比和提供商数量等声明在给定材料中主要来自 README,未附原始基准数据。

证据核验7 / 8 · 4.4/5

多数主张可追溯到具体版本发布说明、变更日志、提供商指南、架构和规范合同;代码片段进一步印证失败关闭、诊断和测试隔离。资料谨慎区分已测试版本、compatible_unverified、独立依赖、外部条款以及推断行为,事实与推断边界清楚。扣分在跨源印证:所给源主要是同一仓库内部材料,只有少量实现测试和 CI 配置支撑 README,外部提供商条款、实时性能数据及全部安全声明未在本材料中获得独立佐证。

风险与缓解建议
  • 这是未执行代码、未联网核验外部条款的静态低置信度审查;不能据此认定运行时结果正确、确定或可复现。
  • 查询、目标 URL 和提取内容可能发送给所选第三方提供商;处理敏感数据前应逐一核对当前隐私、训练、保留、删除和 ZDR 条款。
  • DonSeTch、typesafe-sdk 及部分提供商端点是独立依赖;应固定并审计实际安装版本,尤其不要把 compatible_unverified 当作已验证兼容。
  • TinyFish 被文档明确标为标准条款下高风险,除非合同提供更强保障,应保持显式调用且避免敏感数据。
  • 自托管或无密钥并不等于完全本地:所述 self_hosted 提取路径可使用 Keenable 公共层,该服务限流且无 SLA。
证据充分度:低 评估于 2026年10月5日 审查版本 c8a67fd7ed7f
查看完整评分方法 →

常见问题

必须购买搜索 API 吗?
不必须。自托管预设可使用自己的 SearXNG 实例和免密钥 Keenable;不过 Keenable 公共提取层受速率限制且没有 SLA,SearXNG 本身不提供提取。
最少需要配置多少个提供商?
一个支持搜索的密钥或端点即可启用 web_search_plus;一个支持提取的密钥或端点即可启用 web_extract_plus。增加提供商主要用于扩展路由和回退选择。
DonSeTch 会随插件安装吗?
不会。它必须单独安装,并通过 DONSETCH_BIN 配置绝对可执行路径;README 标明适配器测试版本为 4.2.9。
提供商失败时会怎样?
自动模式可在一个服务失败或返回空结果时尝试其他已允许的提供商,但 Octen、TinyFish 和 DonSeTch 默认不参加自动路由或回退。
敏感查询可以安全发送给任何提供商吗?
不能一概而论。项目明确指出不同提供商的训练、保留与零数据保留条款不一致;TinyFish 的标准条款尤其被标记为高风险,除非合同提供更强保护。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents