Hermes Agent
Use Hermes Agent by Nous Research with AIRouter24
AIRouter24 adaptation
reviewVerify that the target tool supports custom OpenAI-compatible base URLs before relying on every setting.
What is Hermes Agent?
Hermes Agent is an open-source, terminal-native autonomous coding and task agent built by Nous Research. It features persistent memory, agent-created skills, and a messaging gateway that supports 21+ platforms including Telegram, Discord, Slack, WhatsApp, Signal, SMS, Matrix, and more.
Hermes runs on local, Docker, SSH, Daytona, Modal, Vercel Sandbox, or Singularity backends and works with multiple LLM providers — including AIRouter24 for multi-model access through a single API key.
Setup
Recommended: Use the Interactive Model Selector
The easiest way to configure Hermes with AIRouter24:
hermes modelSelect AIRouter24 from the provider list, enter your API key, and choose your preferred model. This is the recommended approach for new users.
Quick Start (Environment Variable)
If you already have your AIRouter24 API key:
hermes config set AIROUTER24_API_KEY sk-***Then start a chat:
hermes chat --provider airouter24 --model '~anthropic/claude-sonnet-latest'Manual Configuration
Warning: Advanced users only: The following manual configuration is for users who need to edit config files directly. For most users, we recommend using
hermes modelabove.
Step 1: Get Your AIRouter24 API Key
- Sign up or log in at AIRouter24
- Navigate to your API Keys page
- Create a new API key
- Copy your key (starts with
sk-***)
Step 2: Set Your API Key
Add your AIRouter24 API key to ~/.hermes/.env:
AIROUTER24_API_KEY=sk-***Note: Hermes separates secrets from non-secret settings. API keys go in
~/.hermes/.env, while model and provider configuration goes in~/.hermes/config.yaml.
Step 3: Configure Your Model
Edit ~/.hermes/config.yaml:
model:
provider: airouter24
default: ~anthropic/claude-sonnet-latestBrowse all available models at airouter24.com/models.
Step 4: Start Hermes
hermes # classic CLI
hermes --tui # modern TUIYour agent will now route all requests through AIRouter24 to your chosen model.
Model Format
When using AIRouter24 as a provider, Hermes uses the standard AIRouter24 model format <author>/<slug> (optionally prefixed with ~ for the latest version in a family):
~anthropic/claude-sonnet-latest~google/gemini-flash-latestdeepseek/deepseek-chatairouter24/auto(auto-routes to an optimal/best-fit model for your prompt)
You can find the exact model ID for each model on the AIRouter24 models page.
Provider Routing
AIRouter24 routes your requests across multiple infrastructure providers for each model. You can control this routing behavior in ~/.hermes/config.yaml:
provider_routing:
sort: "throughput" # "price" (default), "throughput", or "latency"
# only: ["anthropic"] # Only use these providers
# ignore: ["deepinfra"] # Skip these providers
# order: ["anthropic", "google"] # Try providers in this order
# data_collection: "deny" # Exclude providers that may store/train on dataShortcuts: Append :nitro to any model name for throughput sorting (e.g., ~anthropic/claude-sonnet-latest:nitro), or :floor for price sorting.
For a full breakdown of routing options, see the Provider Routing docs.
Fallback Providers
Configure a chain of backup providers Hermes tries when the primary model fails:
fallback_providers:
- provider: airouter24
model: ~anthropic/claude-sonnet-latest
- provider: airouter24
model: ~google/gemini-flash-latestThis provides an additional layer of reliability. When activated, the fallback swaps the model mid-session without losing your conversation.
Auxiliary Models
Hermes uses "auxiliary models" for side tasks like context compression, vision analysis, session titles, and web summarization. By default these use your main model, but you can route them to cheaper models via AIRouter24:
auxiliary:
title:
provider: airouter24
model: ~google/gemini-flash-latest
vision:
provider: airouter24
model: ~google/gemini-flash-latest
compression:
provider: airouter24
model: ~google/gemini-flash-latestThis keeps your main model focused on complex reasoning while cheaper models handle lightweight tasks.
Pareto Code Router
AIRouter24's experimental coding-model router auto-routes requests to the cheapest model meeting a coding-quality threshold. Configure it in ~/.hermes/config.yaml:
model:
provider: airouter24
model: airouter24/pareto-code
airouter24:
min_coding_score: 0.65 # 0.0–1.0; higher = stronger (more expensive) codersThis is useful for cost optimization on coding tasks — the router picks the cheapest model that meets your quality bar.
Note: Hermes uses its own
airouter24:config key to setmin_coding_score. This maps to thepluginsarray in the AIRouter24 API — you don't need to construct the plugins payload yourself.
Monitoring Usage
Track your Hermes usage in real-time:
- Visit the AIRouter24 Activity Dashboard
- See requests, costs, and token usage across all your Hermes sessions
- Filter by model, time range, or other criteria
Common Errors
"No API key" or provider not found
Hermes can't find your AIRouter24 API key.
Fix:
- Verify the key is set:
cat ~/.hermes/.env | grep AIROUTER24 - Or re-run:
hermes config set AIROUTER24_API_KEY sk-*** - Or use the interactive setup:
hermes model
Authentication errors (401/403)
Fix:
- Verify your API key is valid at airouter24.com/keys
- Check that you have sufficient credits in your account
- Ensure your key hasn't expired or been revoked
Model not working
Fix:
- Verify the model ID on the AIRouter24 models page
- Use the format
<author>/<slug>, optionally prefixed with~for the latest version in a family (e.g.,~anthropic/claude-sonnet-latest) - Ensure the model is available and not deprecated
Context length errors
Hermes requires a model with at least 64K context tokens. Models with smaller context windows will be rejected at startup, since the system prompt and tool schemas can fill smaller windows and leave no room for conversation. If you see context-related errors, switch to a model with a larger context window.