Hermes on MiMo-V2.5: a 1M-context agent for pennies
Set MiMo-V2.5 as your everyday Hermes model: 1M context at $0.14/$0.28 per 1M tokens, with tool-use enforcement on for a non-GPT model.
Run this workflow
CI-verified, 2/2 fixtures passing.
Build this with your agent
One copy-paste hands Claude Code, Codex, or Cursor the full recipe, steps included, nothing to fetch.
Intended Use
Anyone who wants a cheap, capable default model for general Hermes agent work. CI validates that config.yaml parses and points Hermes at openrouter + xiaomi/mimo-v2.5 with tool_use_enforcement on (MiMo is not on Hermes' auto-enforce list, so you set it yourself). No API key, no model call. The actual conversation is a model step and is fenced.
Not for
- Tasks that need a frontier model's reasoning, this is the cheap-but-capable tier
- Expecting CI to judge MiMo's output quality, that is the fenced model step
The Stack
Tested Against
hermes-agent docs (2026-06)openrouter xiaomi/mimo-v2.5ruby@3.x (YAML stdlib)Side effects & data flow
- Network
- none, local only
- Writes
- ./config.yaml
- Credentials
- none required
Prerequisites
- Hermes Agent installed
- An OpenRouter API key (only to actually run the agent)
Steps
- 1
Point Hermes at MiMo-V2.5 and validate the config
Write ~/.hermes/config.yaml so model.provider is openrouter and model.model is the xiaomi/mimo-v2.5 slug. MiMo is not on Hermes' tool-use auto-enforce list (gpt/codex/gemini/gemma/grok), so turn tool_use_enforcement on if it narrates instead of calling tools. CI loads this exact YAML with a real parser and asserts the slug, no key.
cat > config.yaml <<'YAML' model: provider: openrouter model: xiaomi/mimo-v2.5 agent: tool_use_enforcement: true YAML ruby -ryaml -e ' c = YAML.load_file("config.yaml") m = c["model"] || {} abort "BAD: provider not openrouter" unless m["provider"] == "openrouter" abort "BAD: model not xiaomi/mimo-v2.5" unless m["model"] == "xiaomi/mimo-v2.5" puts "config OK: openrouter -> xiaomi/mimo-v2.5 (config.yaml parses)" ' - 2
Run the agent (the model step, not checked by CI)
Set OPENROUTER_API_KEY in ~/.hermes/.env and start Hermes. The conversation itself runs MiMo and costs per-token, so CI never claims it.
Eval, 2 fixtures
Last passed: verified todayconfig-okcontainstimeout 30s · max $0Expected:
config OK: openrouter -> xiaomi/mimo-v2.5 (config.yaml parses)clean-exitexit_codetimeout 30s · max $0Expected:
0
Results
MiMo-V2.5 scores ~49 on Artificial Analysis' Intelligence Index at $0.14 in / $0.28 out per 1M tokens (OpenRouter) with a 1M-token window: about as cheap as a capable default gets.
Did this work for you?
Our CI checks the setup runs. You tell us if the whole thing worked. Tell us straight.
Liked this workflow?
Get new verified workflows in WebAfterAI, three issues a week (Tue, Thu, Sat).