Hermes Agent is the terminal agent from Nous Research. Its documentation puts a single requirement on a third-party address: the server must serve POST /v1/chat/completions. Guard serves that address for all four families, so the setup below is the same everywhere and only the exact model id changes.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashOn Windows the same installer runs from PowerShell: iex (irm https://hermes-agent.nousresearch.com/install.ps1).
Settings live in ~/.hermes/config.yaml, keys in ~/.hermes/.env. The quick path: run hermes model, pick Custom endpoint, then answer the address, key and model name. The same thing by hand:
# ~/.hermes/config.yaml
model:
provider: custom
base_url: https://api.guardrelay.ai/v1
api_key: gd-your-key-from-bot
default: claude-sonnet-5# ~/.hermes/config.yaml
model:
provider: custom
base_url: https://api.guardrelay.ai/v1
api_key: gd-your-key-from-bot
default: k3# ~/.hermes/config.yaml
model:
provider: custom
base_url: https://api.guardrelay.ai/v1
api_key: gd-your-key-from-bot
default: cursor-grok-4.6-medium# ~/.hermes/config.yaml
model:
provider: custom
base_url: https://api.guardrelay.ai/v1
api_key: gd-your-key-from-bot
default: composer-2.5The address is written with /v1 at the end. Hermes does not append the version itself: in its own examples for OpenAI-compatible addresses /v1 sits inside the base_url value.
Several addresses are kept under the providers: section of the same file. An entry takes api (the base address), key_env or api_key, transport, default_model and context_length. For Guard use transport: chat_completions.
# ~/.hermes/config.yaml
providers:
guard:
api: https://api.guardrelay.ai/v1
key_env: GUARD_API_KEY
transport: chat_completionsAfter that the model is switched inside the session: /model custom:guard:<exact id>. With no named providers the short form /model custom:<exact id> works.