Web Search Plus for Hermes
为 Hermes 提供多源网页搜索与正文提取,并保留真实来源。
- Star 数
- ★ 419
- 最近更新
- 4 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 92/100 · 表现优秀
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 使用 Hermes Agent 调研近期事件的研究者,需要结果直接附带可核查的原始网页。
- 不适合
- 不使用 Hermes Agent 的团队
- 需要完全离线研究的用户
- 要求所有提供商自动参与路由的团队
- 源码审查
- 92/100 · 表现优秀
这个 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 调用转入同一引擎。
- 使用 Hermes Agent 调研近期事件的研究者,需要结果直接附带可核查的原始网页。
- 已经收集一批 URL 的分析人员,希望把页面转换为更适合代理读取的干净正文。
- 担心单一搜索 API 故障的团队,希望配置多个提供商并获得受控的路由与回退。
- 有自建 SearXNG 的团队,希望结合 SearXNG 与免密钥 Keenable,降低对商业搜索 API 的依赖。
- 需要本地来源检索或 Markdown 提取的 Hermes 用户,愿意单独安装并显式调用 DonSeTch。
- 插件维护者或运营人员,需要通过质量报告、状态命令和缓存控制排查搜索链路。
如何安装或部署这个 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 statusDonSeTch 并未捆绑。如需使用,应另行安装已测试版本并把 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-reportOcten、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?
查看各维度的扣分理由
证据显示 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 依赖清单、依赖审计或漏洞扫描结果未提供。
README 的功能、版本、兼容性和测试命令与 CI、隔离测试以及提供商发现测试相互一致。测试展示了运行状态隔离、DNS 安全校验保持开启、重复提供商 ID 关闭失败、损坏模块产生类型化诊断。CI 覆盖 Python 3.10至3.12、Ruff、pytest、生成物检查、模式边界和编译。扣分在于多项能力依赖外部 API、自托管端点或另装的 DonSeTch/typesafe-sdk;公共 Keenable 层明确无 SLA 且限流,DonSeTch 其他已解析版本仅标为 compatible_unverified。失败消息证据充分,但静态材料没有覆盖所有外部提供商的故障语义。
资料明确区分当前信息检索、研究、已有 URL 提取、自托管无付费密钥、显式敏感提供商和原生 Hermes 后端等场景。能力边界具体:SearXNG 不负责提取,Jev 不是搜索提供商,Octen 禁止全文与答案 API,TinyFish 不发送 purpose/fetch,DonSeTch 是独立进程。触发精度较强,敏感或高风险提供商保持显式调用或需 auto_allow,Jev 需显式设置且 news 判定有 0.95 阈值。Python、Hermes 重载、Windows、CLI/Gateway、自托管和配置环境均有说明,因此未作实质扣分。
README 提供清晰的快速开始、工具说明、按任务导航的文档索引、开发命令和深层合同文档。安装、升级、迁移、示例、FAQ、已知限制、稳定接口、版本发布说明和变更日志均有明确入口;工具名和旧配置兼容行为也有说明。MIT 元数据与完整 LICENSE 一致。扣分在维护责任:仓库和许可证可归属到 Robby/robbyczgw-cla,也提供更新命令与贡献入口,但发布者未由企业注册表验证,所给文件没有正式支持渠道、维护承诺或多维护者治理信息。
输出面向代理使用,提供结构化搜索结果、原始 URL、清理后的页面内容、可选质量报告、缓存年龄和提供商诊断,实用性证据充分。相较单一搜索接口,多提供商回退、搜索加提取、来源保留、路由和本地选项构成明确增量价值。成本收益也有良好控制:只需一个提供商,可使用自托管或无密钥选项,商业服务和 Jev 均可选,并披露 Monid 计费及公共层限制。扣分较少,但性能百分比和提供商数量等声明在给定材料中主要来自 README,未附原始基准数据。
多数主张可追溯到具体版本发布说明、变更日志、提供商指南、架构和规范合同;代码片段进一步印证失败关闭、诊断和测试隔离。资料谨慎区分已测试版本、compatible_unverified、独立依赖、外部条款以及推断行为,事实与推断边界清楚。扣分在跨源印证:所给源主要是同一仓库内部材料,只有少量实现测试和 CI 配置支撑 README,外部提供商条款、实时性能数据及全部安全声明未在本材料中获得独立佐证。
- 这是未执行代码、未联网核验外部条款的静态低置信度审查;不能据此认定运行时结果正确、确定或可复现。
- 查询、目标 URL 和提取内容可能发送给所选第三方提供商;处理敏感数据前应逐一核对当前隐私、训练、保留、删除和 ZDR 条款。
- DonSeTch、typesafe-sdk 及部分提供商端点是独立依赖;应固定并审计实际安装版本,尤其不要把 compatible_unverified 当作已验证兼容。
- TinyFish 被文档明确标为标准条款下高风险,除非合同提供更强保障,应保持显式调用且避免敏感数据。
- 自托管或无密钥并不等于完全本地:所述 self_hosted 提取路径可使用 Keenable 公共层,该服务限流且无 SLA。
常见问题
必须购买搜索 API 吗?
最少需要配置多少个提供商?
web_search_plus;一个支持提取的密钥或端点即可启用 web_extract_plus。增加提供商主要用于扩展路由和回退选择。DonSeTch 会随插件安装吗?
DONSETCH_BIN 配置绝对可执行路径;README 标明适配器测试版本为 4.2.9。