词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
web_search — 搜索网页并返回排序结果web_extract — 从一个或多个 URL 获取并提取可读内容hermes tools 选择,或直接在 config.yaml 中设置。| 提供商 | 环境变量 | 搜索 | 提取 | 免费层级 |
|---|---|---|---|---|
| Firecrawl(默认) | FIRECRAWL_API_KEY | ✔ | ✔ | 500 积分/月 |
| SearXNG | SEARXNG_URL | ✔ | — | ✔ 免费(自托管) |
| Brave Search(免费层级) | BRAVE_SEARCH_API_KEY | ✔ | — | 2 000 次查询/月 |
| DDGS (DuckDuckGo) | —(无需密钥) | ✔ | — | ✔ 免费 |
| Tavily | TAVILY_API_KEY | ✔ | ✔ | 1 000 次搜索/月 |
| Exa | EXA_API_KEY | ✔ | ✔ | 1 000 次搜索/月 |
| Parallel | PARALLEL_API_KEY | ✔ | ✔ | 付费 |
| xAI (Grok) | XAI_API_KEY 或 hermes auth login xai-oauth | ✔ | — | 付费(SuperGrok 或按 token 计费) |
web_extract,可将其中任意一个与 Firecrawl/Tavily/Exa/Parallel 配合使用。DDGS 底层使用 ddgs Python 包;若尚未安装,请运行 pip install ddgs(或让 Hermes 在首次使用时懒加载安装)。xAI 通过 Responses API 运行 Grok 服务端的 web_search 工具——结果由 LLM 生成而非基于索引,因此标题、描述和 URL 选择均为模型输出(参见下方信任模型说明)。hermes setup --portal 登录并一次性开启所有 gateway 工具;现有安装可通过 hermes tools 单独开启网页功能。web_extract 如何处理长页面web_extract 在将内容交给 agent 之前,会通过 web_extract 辅助模型对返回内容进行处理。行为完全由大小决定:| 页面大小(字符数) | 处理方式 |
|---|---|
| 5 000 以下 | 原样返回——不调用 LLM,完整 markdown 直达 agent |
| 5 000 – 500 000 | 通过 web_extract 辅助模型单次摘要,输出上限约 5 000 字符 |
| 500 000 – 2 000 000 | 分块处理:拆分为 10 万字符的块,并行摘要每块,再合成最终摘要(约 5 000 字符) |
| 超过 2 000 000 | 拒绝处理,并提示使用更具体的来源 URL |
web_extract 辅助任务。默认情况下(auxiliary.web_extract.provider: "auto"),使用您的主聊天模型——与 hermes model 相同的提供商和模型。对大多数配置而言这没问题,但在昂贵的推理模型(Opus、MiniMax M2.7 等)上,每次长页面提取都会产生可观的成本。hermes model → Configure auxiliary models → web_extract。browser_navigate + browser_snapshot。浏览器工具返回实时无障碍树,不经辅助模型改写(在超大页面上受其自身 8 000 字符快照上限约束)。hermes tools 快速设置hermes tools,导航至 Web Search & Extract,选择一个提供商。向导会提示输入所需 的 URL 或 API 密钥,并写入您的配置。FIRECRAWL_API_URL 后,API 密钥为可选项(使用 USE_DB_AUTHENTICATION=false 禁用服务器认证)。web_extract 需要单独的提取提供商。docker-compose.yml:~/searxng/searxng/settings.yml,找到 formats 块(约第 84 行):10 results 的输出。如果收到 403 Forbidden,说明 JSON 格式仍未启用——请重新检查第 4 步。~/.hermes/config.yaml 中选择 SearXNG 作为搜索后端:hermes tools → Web Search & Extract → SearXNG 设置。web_extract 需要单独的提供商。使用按能力配置的键:web_search 路由至 Grok 服务端的 web_search 工具。Grok 执行实际搜索并以结构化 JSON 返回最佳结果。web_extract,请与 Firecrawl / Tavily / Exa / Parallel 配合使用。遇到 401 时,提供商会执行一次强制 OAuth token 刷新并重试(覆盖窗口中途吊销和主动过期检查无法解码的不透明 token);环境变量凭证跳过重试。web.backend。当 web.backend 也为空时,后端根据存在的 API 密钥/URL 自动检测。web.search_backend / web.extract_backend(显式按能力配置)web.backend(共享回退)| 存在的凭证 | 自动选择的后端 |
|---|---|
FIRECRAWL_API_KEY 或 FIRECRAWL_API_URL | firecrawl |
PARALLEL_API_KEY | parallel |
TAVILY_API_KEY | tavily |
EXA_API_KEY | exa |
SEARXNG_URL | searxng |
XAI_API_KEY(或通过 xAI Grok OAuth 登录)不会自动将网页流量路由至 xAI,因为这些凭证同时用于推理/TTS/图像生成,用户可能希望为网页使用不同的后端。请通过 web.backend: "xai" 显式启用。hermes setup 查看检测到的网页后端:✅ Web Search & Extract (searxng)✅ Web backend: searxng
Using SearXNG (search only): http://localhost:8888web_search 返回 {"success": false}SEARXNG_URL 是否可达:curl -s "http://localhost:8888/search?q=test&format=json"settings.yml 的 formats 列表中添加 json 并重启docker ps | grep searxngweb_extract 提示"search-only backend"web.extract_backend 设置为支持提取的提供商:web_extract 返回截断内容并附有"summarization timed out"提示config.yaml 中调大 auxiliary.web_extract.timeout(新安装默认 360 秒,若键缺失则为 30 秒)web_extract 辅助任务切换到更快的模型(例如 google/gemini-3-flash-preview)——参见 web_extract 如何处理长页面browser_navigatesearxng-searchcurl 使用 SearXNG 的 agent(例如作为网页工具集不可用时的回退),请安装 searxng-search 可选技能:curl 或 Python 调用 SearXNG JSON APIgeneral、news、science 等)