Hermes Agent makes dozens of LLM calls per task. Point it at BTL Runtime instead of OpenAI directly and every one of those calls passes through the optimization layer automatically — cached, routed, deduplicated. One config change. No code changes.
Hermes Agent is an open-source AI agent built by Nous Research — the same team behind the Nous Hermes model family. Think of it as an AI that runs on your computer, completes real tasks (browse the web, read and write files, run code, send Slack messages, search GitHub), and remembers what it learns across sessions so it gets better over time.
The thing that makes it different from a chatbot: it takes a goal, breaks it into steps, uses tools to complete those steps, and produces a result — without you having to hold its hand through each decision. And after it finishes a complex task, it saves a reusable "skill" so next time it encounters something similar, it already knows how.
| What Hermes can do | How it does it |
|---|---|
| Browse the web and read pages | Built-in browser tools: click, scroll, screenshot |
| Read and write files on your computer | File read, write, edit, and list tools |
| Run terminal commands | Sandboxed terminal tool |
| Remember what it learned last session | Persistent memory in ~/.hermes/MEMORY.md |
| Post messages to Slack, Discord, Telegram, WhatsApp | 16+ messaging platform integrations |
| Build on solutions it found before | Auto-generated skills in ~/.hermes/skills/ |
Every decision Hermes makes — every reasoning step, every tool-call plan, every output check — goes through an LLM call. By default those calls go straight to OpenAI or Anthropic, at full list price, every single time. A single agent task can involve 10–20 model calls. Multiply that across your daily workload and the token bill is significant.
When you point Hermes at Runtime instead, each of those calls passes through the optimization layer. Repeated reasoning patterns get served from the exact-response cache. Similar prompts get matched semantically. Common prefixes — system instructions, tool schemas, conversation history — are deduplicated. The upstream provider only sees the novel work. You pay for that, and nothing else.
Agents are actually one of the best fits for Runtime because they're more repetitive than human users. The same system prompt, the same tool list, the same decision loop — over and over. Cache hit rates on agentic workloads climb fast, and Runtime's billing model means when they do, you keep 50% of every dollar saved.
Hermes has a one-line installer that sets up Python, Node.js, the Hermes source code, and the hermes command on your path. Takes about a minute.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashGo to Dashboard / API keys, create a key with the inference scope, and copy it. Then set it as an environment variable:
# Add to ~/.hermes/.env (or export in your shell)
GATEWAY_API_KEY=gw_your_runtime_key_hereOpen ~/.hermes/config.yaml (created automatically when you installed Hermes) and update the model section. This is the only change you need to make:
# ~/.hermes/config.yaml
model:
provider: custom
base_url: https://api.rntm.sh/v1
api_key: ${GATEWAY_API_KEY}
model_name: nous-hermes-3-70b
context_length: 131072That's it. You're telling Hermes: instead of talking to OpenAI directly, talk to Runtime — same API format, cheaper. The model_name is the Runtime model slug. See the available models section to pick a size.
Give Hermes a task from the command line, start an interactive chat, or run it as an API server that your app can call:
# Give Hermes a task
hermes "Summarize the last 5 GitHub issues and write a weekly digest"
# Interactive chat mode
hermes chat
# Run as an API server your app can call
hermes --serveHermes picks up your config automatically. Every LLM call it makes now routes through Runtime's optimization layer.
Run the same task twice. The second time should be noticeably faster — that's the exact-response cache kicking in at near-zero latency. You can also check your Runtime dashboard to see every request Hermes made, what each one cost, and how much was saved.
# Run the same prompt twice — second response is instant (cache hit)
hermes "What is the capital of France?"
hermes "What is the capital of France?"
# Check your Runtime dashboard to see the savings:
# x-btl-cache-tier: exact_response_cache
# x-btl-benchmark-cost: 0.0024
# x-btl-customer-charge: 0.0012
# x-btl-saved: 0.0012The Runtime catalog includes the full Nous Hermes 3.1 model family via Fireworks. Pick the size that fits your workload:
You can also use any other model in the Runtime catalog — claude-opus-4-8, gpt-5-5, supergrok-4-3, and more. Just change model_name in your config. Check the full list at https://rntm.sh/models or call GET /v1/models.
If you're building an application and want to call Hermes from Python code rather than the CLI, Hermes ships as a Python library. Pass your Runtime credentials directly:
import os
from run_agent import AIAgent
agent = AIAgent(
base_url="https://api.rntm.sh/v1",
api_key=os.environ["GATEWAY_API_KEY"],
model="nous-hermes-3-70b",
)
response = agent.chat("Write a Python function that validates email addresses")
print(response)Or use the standard OpenAI SDK — works with any agent framework that accepts an OpenAI-compatible endpoint (LangChain, AutoGen, CrewAI, custom loops — all of them):
import OpenAI from "openai";
// Works with any agent framework — just swap base_url
const client = new OpenAI({
apiKey: process.env.GATEWAY_API_KEY,
baseURL: "https://api.rntm.sh/v1",
});
const response = await client.chat.completions.create({
model: "nous-hermes-3-70b",
messages: [{ role: "user", content: "Plan a 5-step marketing campaign." }],
});
console.log(response.choices[0]?.message?.content);
// Response headers include:
// x-btl-saved: 0.0014 ← money back in your pocketYou load credits into your Runtime workspace. Each LLM call Hermes makes deducts the amount you were charged. Credits never expire, and every call comes with proof headers showing exactly what the normal price was, what you paid, and how much you saved.
| What happened | Normal price | You pay | You saved |
|---|---|---|---|
| Hermes reasoning call — new, nothing cached | $0.05 | $0.05 | $0.00 |
| Same reasoning call, served from exact cache | $0.05 | $0.025 | $0.025 (50%) |
| Similar call matched by semantic cache | $0.05 | $0.025 | $0.025 (50%) |
| Smarter route found for the same model | $0.05 | ~$0.035 | ~$0.015 (30%) |
Runtime only earns money when it saves you money. On pure pass-through calls where nothing can be optimized, you pay exactly what the provider charges and Runtime earns nothing. The incentives are aligned.
Create a free Runtime workspace, copy your API key, update one line in ~/.hermes/config.yaml, and your agent starts running cheaper immediately.