# Use Hermes Agent with open models
URL: https://docs.munito.ai/agents/hermes

The Munito AI plugin for [Hermes Agent](https://github.com/NousResearch/hermes-agent) adds Munito AI as a model provider with one command.
Create an [API key](https://console.munito.ai/keys), then install the plugin:

```bash
hermes plugins install munitoai/hermes-provider
```

Put the key in the Hermes `.env` file as `MUNITO_API_KEY`. Then run `hermes model` and choose **Munito AI**, or start Hermes with `hermes --provider munito`.

The plugin adds two providers that use the same key. The EU provider processes each request in the EU, see [Regions](https://docs.munito.ai/regions).

| Provider    | Base URL                                | Region |
| ----------- | --------------------------------------- | ------ |
| `munito`    | `https://api.munito.ai/inference/v1`    | Any    |
| `munito-eu` | `https://api.eu.munito.ai/inference/v1` | EU     |

Each model comes with its context window and its price.
Hermes then compacts the conversation before the window is full, and shows the cost of each response.

## Reasoning effort [#reasoning-effort]

The plugin sends the effort of Hermes as `reasoning_effort`, and Munito AI moves each level to the nearest level that the model has.
When reasoning is off, the plugin sends `none`. A model that always reasons, such as GLM-5.3-Flash, then runs its lowest level.
See [Reasoning models](https://docs.munito.ai/features/reasoning).

## Prompt cache [#prompt-cache]

Hermes sends a `prompt_cache_key` with each request, and Munito AI keeps the conversation on its prompt cache.
See [Prompt caching](https://docs.munito.ai/features/prompt-caching).

The plugin is open source, in [munitoai/hermes-provider](https://github.com/munitoai/hermes-provider).

## Without the plugin [#without-the-plugin]

Munito AI also works as a custom OpenAI-compatible provider in Hermes Agent.
Create an [API key](https://console.munito.ai/keys), then run:

```bash
export MUNITO_API_KEY=munitoai_...

hermes config set model.provider custom
hermes config set model.base_url https://api.munito.ai/inference/v1
hermes config set model.default zai-org/glm-5.3-flash
hermes config set model.context_length 1048576

hermes
```

Hermes reads the key from `MUNITO_API_KEY` because the base URL is on `munito.ai`.
Keep the key in the environment or the Hermes `.env` file.
`model.context_length` tells Hermes the context window of GLM-5.3-Flash, 1,048,576 tokens.
The same provider configuration works with Hermes Desktop.
Use `/model` to select another model.
To keep processing in the EU or the US, use a [regional host](https://docs.munito.ai/regions) in place of `api.munito.ai`.
See the [models that your key can use](https://docs.munito.ai/api/listModels) and the [Chat Completions reference](https://docs.munito.ai/api/createChatCompletion).
