For agents Are you a coding agent? Get the full docs here: https://appelon.ai/llms.txt
Guides / Hermes Agent

Hermes Agent

GRONINGEN · NL

Point Hermes Agent, the open-source autonomous coding agent by Nous Research, at Appelon. Your code stays in the Netherlands, your agent keeps working the way you know it.

Hermes Agent

Hermes Agent talks to any endpoint that speaks the OpenAI chat-completions format. Appelon is one. Point Hermes at https://router.appelon.ai/v1 and every turn of your agent loop runs on GPUs in Groningen.

Hermes Agent is an open-source (MIT) autonomous agent by Nous Research: a CLI and TUI with file operations, shell access, web search and IDE integrations (VS Code, Zed, JetBrains via ACP). It keeps all of its own state on your machine. The one thing it sends off the machine is the model call, and that is the part this guide moves to the Netherlands.

Setup

Run the interactive setup and pick the custom endpoint option.

hermes setup
# Provider: Custom endpoint (self-hosted / vLLM / etc.)
# Base URL: https://router.appelon.ai/v1
# Model:    qwen

Hermes appends /chat/completions to the base URL itself, so the URL ends at /v1.

Configuration file

Hermes writes its settings to ~/.hermes/config.yaml and its secrets to ~/.hermes/.env. You can also edit them directly.

~/.hermes/config.yaml:

model:
  default: qwen
  provider: custom
  base_url: https://router.appelon.ai/v1

~/.hermes/.env:

APPELON_API_KEY=sk-appelon-...

Hermes derives the variable name from the endpoint’s host, so router.appelon.ai becomes APPELON_API_KEY. Running hermes setup writes it for you; if you are editing by hand, check the name Hermes expects in its own environment variables reference.

Keep the key in .env rather than in the api_key field of config.yaml: Hermes rewrites its own config file, and a key sitting there can end up in the model’s context. Create a key in your dashboard; see Authentication for how tokens work.

Which model to pick

Model Context Best for
qwen 256K Agent loops. Long sessions, large files, many tool results in the transcript.
gemma 64K Short, fast tasks and anything where the conversation is mostly Dutch.

Agent sessions accumulate context quickly: every file read and every tool result stays in the transcript. qwen (Qwen 3.8 27B, 256K context) is the one to start with. Hermes compresses context when it fills up, but a bigger window means that happens less often.

Both models support tool calling, which is what makes an agent loop work at all. See Models for the full lineup.

What works

  • Tool calling. Hermes’ file, shell and search tools all round-trip through tools / tool_calls on /v1/chat/completions.
  • Streaming. Token-by-token output in the TUI.
  • Long sessions. 256K context on qwen, with a 300 second request timeout so a large cold prefill has room to finish.
  • Per-key usage. Every request is logged against the token that made it, so an agent’s consumption is visible in your dashboard rather than buried in one shared bill. See Usage attribution.

What does not work yet

  • Vision. Image input is not supported, so any Hermes skill that reads a screenshot will fail.
  • The Assistants API and OpenAI’s /v1/responses endpoint. Hermes’ custom provider path uses chat completions, so this does not affect normal use.

Cost

Agents read far more than they write, and reading is the cheap half. Input costs 0.04 units per 1,000 tokens, output costs 1 unit per 1,000 tokens.

A session where the agent reads 1 million tokens of code and writes 50,000 tokens back costs about 40 + 50 = 90 units. Full details on how we meter usage.

Troubleshooting

401 Unauthorized. The key is missing or not being read. Check that ~/.hermes/.env holds the key and that config.yaml does not carry a stale inline one.

404 on the model name. Use the model identifier as Appelon expects it: qwen, gemma, or the full name from GET /v1/models.

The agent stops mid-task. You are probably hitting the context limit and Hermes is compressing. Switch to qwen if you are on gemma.

503 with a queue message. Capacity is full and your request is waiting for a GPU slot. Streaming requests receive queue status updates while they wait; see Errors & retries.

Hermes Agent is a project of Nous Research and the name is their trademark. Appelon is not affiliated with or endorsed by Nous Research.