feat: add Tavily setup support - #1113
Conversation
Register TAVILY_API_KEY across the configuration and setup flow: - OPTIONAL_ENV_VARS metadata (config.py) - ENV_VARS_BY_VERSION migration at version 10 - hermes config / hermes status display - hermes tools web provider selection - Setup summary - Config version bump 9 → 10 Cherry-picked from PR #1113 by kshitijk4poor. Fixed migration version (7 → 10) and resolved merge conflicts with current main. Closes #1069
|
Closing — Tavily only provides search, not full page extraction. It doesn't replace or complement the existing web toolset (Firecrawl does both search + extract). Adding config registration without a working tool integration is premature. If someone wants to build a full Tavily backend that covers both search and extract, that would be a different conversation. |
|
Thanks for putting this together @kshitijk4poor — the config registration work itself was clean and well-tested. The reason we're not going forward with it is that Tavily covers search but not page extraction, so it doesn't slot in as a web provider the way Firecrawl does (which handles both). We'd need a full tool backend, not just config wiring, for it to be useful. If you're interested in building a complete Tavily-backed search+extract backend (or a standalone Tavily research skill), we'd be happy to look at that. |
|
Addressed the review concern by turning this into a full Tavily-backed web backend instead of config-only wiring. What changed:
Verification run:
|
|
Replacement PR is up on top of current Link: #1707 This version keeps the work split into two atomic commits:
It also addresses the earlier concern by implementing Tavily-backed |
Register TAVILY_API_KEY across the configuration and setup flow: - OPTIONAL_ENV_VARS metadata (config.py) - ENV_VARS_BY_VERSION migration at version 10 - hermes config / hermes status display - hermes tools web provider selection - Setup summary - Config version bump 9 → 10 Cherry-picked from PR NousResearch#1113 by kshitijk4poor. Fixed migration version (7 → 10) and resolved merge conflicts with current main. Closes NousResearch#1069
Register TAVILY_API_KEY across the configuration and setup flow: - OPTIONAL_ENV_VARS metadata (config.py) - ENV_VARS_BY_VERSION migration at version 10 - hermes config / hermes status display - hermes tools web provider selection - Setup summary - Config version bump 9 → 10 Cherry-picked from PR NousResearch#1113 by kshitijk4poor. Fixed migration version (7 → 10) and resolved merge conflicts with current main. Closes NousResearch#1069
Register TAVILY_API_KEY across the configuration and setup flow: - OPTIONAL_ENV_VARS metadata (config.py) - ENV_VARS_BY_VERSION migration at version 10 - hermes config / hermes status display - hermes tools web provider selection - Setup summary - Config version bump 9 → 10 Cherry-picked from PR NousResearch#1113 by kshitijk4poor. Fixed migration version (7 → 10) and resolved merge conflicts with current main. Closes NousResearch#1069
Adds Tavily to the setup/configuration flow so users can configure
TAVILY_API_KEYalongside other optional web research integrations.What changed:
TAVILY_API_KEYin optional env var metadata and migration trackinghermes config/hermes statushermes toolsweb provider selectionValidation:
python -m pytest tests/hermes_cli/test_config.py tests/hermes_cli/test_status.py tests/hermes_cli/test_set_config_value.py -qpython -m pytest tests/hermes_cli/test_setup.py -qpython -m pytest tests/ -q(currently has 2 unrelated pre-existing failures on main:tests/test_cli_provider_resolution.py::test_codex_provider_uses_config_modelandtests/test_real_interrupt_subagent.py::TestRealSubagentInterrupt::test_interrupt_child_during_api_call)Closes #1069