Hermes Tool Router
AtlasOmnia/hermes-tool-router
Experimental Hermes Agent plugin that sends a smaller tool schema on the first turn, failing open
Hermes Tool Router is an experimental plugin for Hermes Agent that classifies the first turn and sends the main model a smaller tool schema. It falls back to the full tool set whenever it is unsure.
What Hermes Tool Router does
Hermes Tool Router reduces first-turn tool-schema overhead without changing the tool prefix repeatedly later in the conversation. It classifies only the first turn. High-confidence routes send a narrower set of tools to the main model, and uncertainty keeps the full surface. If a pruned tool is needed later, Hermes adds its owning toolset for the rest of the session, through a request_toolset tool or automatic recovery in the tool_request middleware.
Routing can use deterministic rules, an optional OpenRouter classifier, or both. The README gives a config example with a 0.90 confidence threshold, a 2000 ms hard timeout and google/gemini-3.5-flash-lite as the classifier model. It fails open on a timeout, malformed output or low confidence. The implementation is plugin-only, needs no Hermes core patch, and python diagnostics.py reports whether a routing path exists before the provider request.
Key features
- First-turn tool routing that narrows the schema sent to the main model
- Session-sticky tool surface with permanent, monotonic recovery of requested toolsets
- Fail-open behavior on uncertainty, timeouts, invalid classifier output or unsupported runtimes
- Optional OpenRouter classifier, disabled by default
request_toolsetfallback tool generated from the live toolset registrydiagnostics.pythat exits 0 when a routing path is available and 2 when it is not
When to use it
- Cut input tokens and first-response latency when a large tool catalog is loaded
- Test model-driven tool routing on a separate Hermes profile before wider use
- Check whether your Hermes runtime supports first-turn tool pruning
Who it is for: Hermes Agent users with large tool catalogs who want lower first-turn token cost and are willing to test an experimental plugin.
How it fits with Hermes Agent
It is a standalone Hermes Agent plugin that works through stock Hermes hooks such as pre_llm_call and the tool_request middleware, with no change to Hermes core.
Requirements: A Hermes Agent runtime with the needed hooks; an OPENROUTER_API_KEY only if you enable the optional classifier
Note: The author labels it experimental and advises testing on a separate Hermes profile first.
FAQ
What is Hermes Tool Router?
Hermes Tool Router is an experimental Hermes Agent plugin that picks a smaller set of tools for the first turn of a conversation. It keeps the full tool set whenever its confidence is low.
Does Hermes Tool Router work with Hermes Agent?
Yes, it is built as a plugin for Hermes Agent using existing hooks, and the README says no core patch is required. Run python diagnostics.py to confirm your runtime supports it.
Is Hermes Tool Router free and open source?
Yes, it is open source under the MIT license.
Similar plugins for Hermes Agent
All pluginsLow-overhead tool execution layer for Hermes Agent: faster file reads, warm terminal, parallel batches
esaradev IcarusHermes plugin for shared agent memory, training-data extraction and model replacement
8bit64k CronalyticsHermes Agent plugin that attributes cost and usage to every cron-originated run
PlayForm AphroditeCompression proxy that replaces bulky tool output with short previews before it reaches Hermes Agent
amazinglvxw EnsoDiscipline plugin with code-enforced learning, active forgetting and proactive challenges for Hermes
BkashJEE Hermes Bot ForgeHermes plugin that builds a complete Bot from one sentence, with SOUL.md, memory, tools and a gateway
Related guides: How to install Hermes Agent · How to run Hermes Agent securely