hermes-atmorouter
AtmoRouter model-provider plugin for Hermes Agent.
AtmoRouter is an OpenAI-compatible gateway: one ar- key reaches Claude, GPT, Gemini, GLM, Kimi, Qwen, DeepSeek, MiniMax and Grok models, billed per token from a prepaid balance.
This plugin registers an atmorouter provider profile (aliases atmo, atmo-router) so the setup wizard, key storage, /model picker, hermes doctor and --provider atmorouter work without editing YAML. It is two files: plugin.yaml and __init__.py. It uses only providers.register_provider(ProviderProfile): no tools, hooks, middleware or core patching.
Install
hermes plugins install atmorouter # once listed in the catalog
# or straight from this repo:
hermes plugins install bayuh85/hermes-atmorouter
Then add your key (create one at https://atmorouter.dev):
hermes auth add atmorouter # or: export ATMOROUTER_API_KEY=ar-...
hermes -z "hello" --provider atmorouter -m cbcn/glm-5.3
| Setting | Value |
|---|---|
| Provider id | atmorouter (aliases atmo, atmo-router) |
| API key env var | ATMOROUTER_API_KEY |
| Base URL override | ATMOROUTER_BASE_URL (default https://atmorouter.dev/v1) |
| API mode | chat_completions |
| Model list | live GET https://atmorouter.dev/v1/models; a short fallback list is shown only when that is unreachable |
| Aux model (compression, titles) | ali/deepseek-v4.1-flash |
Model ids carry a family prefix, for example cc/claude-sonnet-4-6, cx/gpt-5.6-sol, cb/gemini-3.1-pro, cbcn/glm-5.3, ali/kimi-k2.7-code, ali/qwen3.8-max, ali/deepseek-v4.1-flash. Pick a model with native tool calling for agent work.
Vision is left off (supports_vision default False) because input modalities differ per model.
What this plugin does and sends (disclosure)
- Network calls: Hermes' normal provider traffic to
https://atmorouter.dev/v1: your prompts, conversation history, tool definitions and tool results. AtmoRouter forwards each request to the upstream infrastructure serving the chosen model; that infrastructure's processing location and retention can differ per model, and AtmoRouter does not promise zero retention. AtmoRouter states it does not store prompt or response content in its usage records and does not train on API content. See the Privacy Policy and Terms. - Model listing: the picker calls
GET /v1/modelswith your key. - Billing: usage is billed per token from your prepaid AtmoRouter balance (USDC on Solana or QRIS top-up). Prices vary by available capacity tier, and by default a request can route to any listed tier, including tiers priced above the official rate; set maximum input/output prices under Budgets in the dashboard to cap routing. Failed upstream requests are not billed; an empty balance blocks new calls. The plugin itself makes no payments.
- Credentials:
ATMOROUTER_API_KEYonly, through Hermes' standard provider auth. The plugin never reads.env,auth.jsonor any other credential store. - No background processes, self-updating code, shell commands or telemetry. Requests carry a
User-Agent: HermesAgent-AtmoRouter/<version>header.
Development
hermes plugins validate --install-deps .
License
MIT