Skip to content

fix: restore search fallback routing - #35690

Closed
jonathanwxh-cell wants to merge 1 commit into
NousResearch:mainfrom
jonathanwxh-cell:fix/search-fallback-routing-clean
Closed

fix: restore search fallback routing#35690
jonathanwxh-cell wants to merge 1 commit into
NousResearch:mainfrom
jonathanwxh-cell:fix/search-fallback-routing-clean

Conversation

@jonathanwxh-cell

Copy link
Copy Markdown

Summary

  • restores Kimi routing guidance to kimi-coding/k2p6
  • registers MiniMax and Serper as selectable web search backends
  • adds fallback-on-error and fallback-on-empty-results behavior for web_search_tool
  • fixes Serper plugin metadata and updates substrate/search docs

Test Plan

  • python -m pytest tests/tools/test_web_providers.py tests/tools/test_web_providers_xai.py tests/integration/test_web_tools.py tests/hermes_cli/test_plugins.py -o 'addopts=' -q
  • bash -n switch-agent.sh
  • python -m compileall -q plugins/web/minimax plugins/web/serper tools/web_tools.py
  • git diff --check

- Restore Kimi switch preset to kimi-coding/k2p6 and clean AGENTS guidance
- Register MiniMax and Serper as selectable web search backends
- Add empty-result/error fallback chain for web_search_tool
- Add regression tests for backend selection and fallback behavior
- Correct substrate/search docs and switch-agent helper
@alt-glitch alt-glitch added type/feature New feature or request comp/plugins Plugin system and bundled plugins tool/web Web search and extraction provider/minimax MiniMax (Anthropic transport) provider/kimi Kimi / Moonshot P3 Low — cosmetic, nice to have labels May 31, 2026
@jonathanwxh-cell jonathanwxh-cell closed this by deleting the head repository Jun 22, 2026
Icather added a commit to Icather/hermes-agent that referenced this pull request Jun 26, 2026
…u-baidu, serpapi, jina, google-cse, sogou, 360-search)

v0.17 removed the Parallel free MCP fallback (NousResearch#46350), sharply reducing free search options. This adds 9 new providers as plugins following the existing brave-free/ddgs pattern, registered in backend_candidates in composite quality-score order after the existing backends.

New functional providers (search-only):
- serper      — Google SERP, 2,500 free queries, no credit card
- baidu       — Baidu AI Search, 100/day free, native Chinese content
- bocha       — Chinese market leader, 1,000 free starter queries
- qiniu-baidu — Qiniu Cloud Baidu, 3M tokens for new users
- serpapi     — Multi-engine, 100/month free
- jina        — Full-page extraction, 10M tokens free (blocked in China)
- google-cse  — Google Custom Search, 100/day (blocked in China)

Registry-only entries (no public API, listed for completeness):
- sogou, 360-search

Two prior attempts (NousResearch#41015 Serper by ViezeVingertjes, NousResearch#35690 fallback by jonathanwxh-cell) were self-closed without review. This salages their approach with a complete provider surface covering both Western and Chinese search engines.

Changes:
- plugins/web/*/ — 27 new files (provider.py, plugin.yaml, __init__.py per backend)
- tools/web_tools.py — +9 entries in _KNOWN_WEB_BACKENDS set, +9 in backend_candidates tuple, +_check_provider_available() helper, generic plugin probe in _is_backend_available()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have provider/kimi Kimi / Moonshot provider/minimax MiniMax (Anthropic transport) tool/web Web search and extraction type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants