hermes - 💡(How to fix) Fix [Feature]: Clarification / documentation request for Tavily search + self-hosted Firecrawl extract

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

The reason is that web_search and web_extract have different cost and quality profiles.

Code Example

web:
  search_backend: tavily
  extract_backend: firecrawl

---

web:
  backend: tavily              # optional legacy/default behavior
  search_backend: tavily
  extract_backend: firecrawl

---

FIRECRAWL_API_URL=http://localhost:3002
FIRECRAWL_API_KEY=...
TAVILY_API_KEY=...

---
RAW_BUFFERClick to expand / collapse

Problem or Use Case

Hi Hermes team,

First of all, thank you for building Hermes Agent. I really like the direction of making it a long-running, practical agent with configurable tools and self-hostable components.

I would like to request, or confirm support for, configuring different backends for web_search and web_extract.

Motivation

Currently, my ideal setup is:

web:
  search_backend: tavily
  extract_backend: firecrawl

with a self-hosted Firecrawl instance configured via FIRECRAWL_API_URL.

The reason is that web_search and web_extract have different cost and quality profiles.

For web_search, Tavily gives very useful search results and is often better suited for broad information discovery. I would like to keep using Tavily there.

For web_extract, however, many agent workflows call extraction frequently after search results are found. If Tavily is used for both search and extraction, it can consume the free 1000-credit quota very quickly. Using a self-hosted Firecrawl instance for extraction would reduce API-credit usage significantly while still keeping Tavily for high-quality search.

Proposed Solution

Use case

A common workflow looks like this:

  1. Use web_search to discover relevant URLs.
  2. Use web_extract repeatedly on selected URLs.
  3. Summarize or reason over the extracted content.

In this flow, search quality matters most in step 1, while extraction volume and cost matter most in step 2.

So the most useful configuration for me is:

  • web_search → Tavily
  • web_extract → self-hosted Firecrawl

This would combine Tavily's strong search quality with Firecrawl's self-hosted extraction cost advantage.

Why this improves Hermes Agent

This separation would make Hermes Agent more practical for daily, heavy web-research use:

  • preserves high-quality web search
  • avoids burning through Tavily credits on repeated extraction calls
  • encourages self-hosted infrastructure where it makes sense
  • gives power users more control without making the default setup more complex
  • improves Hermes Agent's usability for production-like agent workflows

Expected behavior

Ideally, Hermes would support per-capability backend configuration such as:

web:
  backend: tavily              # optional legacy/default behavior
  search_backend: tavily
  extract_backend: firecrawl

And for self-hosted Firecrawl:

FIRECRAWL_API_URL=http://localhost:3002
FIRECRAWL_API_KEY=...
TAVILY_API_KEY=...

If this is already supported in the latest version, it would be very helpful to document this use case explicitly, especially the "Tavily for search + self-hosted Firecrawl for extract" pattern.

Thanks again for the great work. I think documenting or officially supporting this backend separation pattern would make Hermes Agent much more cost-efficient and attractive for real-world agent deployments.

Alternatives Considered

No response

Feature Type

Configuration option

Scope

None

Contribution

  • I'd like to implement this myself and submit a PR

Debug Report (optional)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Ideally, Hermes would support per-capability backend configuration such as:

web:
  backend: tavily              # optional legacy/default behavior
  search_backend: tavily
  extract_backend: firecrawl

And for self-hosted Firecrawl:

FIRECRAWL_API_URL=http://localhost:3002
FIRECRAWL_API_KEY=...
TAVILY_API_KEY=...

If this is already supported in the latest version, it would be very helpful to document this use case explicitly, especially the "Tavily for search + self-hosted Firecrawl for extract" pattern.

Thanks again for the great work. I think documenting or officially supporting this backend separation pattern would make Hermes Agent much more cost-efficient and attractive for real-world agent deployments.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING