# Hermes Agent

Add Vultr Serverless Inference to Nous Research's Hermes Agent: a provider plugin with the live model list, context windows and reasoning efforts.

Hermes cannot read the model list on its own: [`GET /v1/models`](/docs/reference/list-models) nests limits under each model's inputs and outputs, where Hermes looks for flat fields. The `vultr-provider` plugin reads it for Hermes.

## Set it up

```bash
hermes plugins install https://github.com/vultr/model-provider-hermes.git --enable
hermes chat --provider vultr -m glm-5.3 --reasoning high
```

The install asks for `VULTR_INFERENCE_API_KEY` and keeps it in `~/.hermes/.env`; a key already in the environment is used as it is. A running Hermes gateway picks up the plugin after `hermes gateway restart`. The provider is also called `vultr-inference`.

## Pick a model

`-m` takes a model id, and `--reasoning` its reasoning effort. An effort the model does not accept is lowered to the nearest one it does, and turning reasoning off sends `none` unless the model always reasons.

## What it maps

- The model list, with each model's context window.
- The output limit, where it is below the context window. For most models it is the whole window, and then the server uses whatever the prompt leaves.
- Reasoning efforts.
- Not prices: Hermes has no way for a provider to set them.

The list is cached in `$HERMES_HOME/cache/vultr-model-catalog.json`. With neither the network nor that file the provider still works, without reasoning levels or live context windows.
