Hermes Agent
Hermes Agent is a command-line AI agent maintained by Nous Research. The official docs confirm that Hermes can connect to any OpenAI-compatible endpoint implementing /v1/chat/completions, and recommend configuring custom endpoints with hermes model or ~/.hermes/config.yaml. Sakrylle API is compatible with OpenAI Chat Completions, so it can be used as a Hermes custom provider.
- Website: https://hermes-agent.nousresearch.com
- AI Providers docs: https://hermes-agent.nousresearch.com/docs/integrations/providers
- Environment variables docs: https://hermes-agent.nousresearch.com/docs/reference/environment-variables
- Provider runtime docs: https://hermes-agent.nousresearch.com/docs/developer-guide/provider-runtime
Prerequisites
- Hermes Agent installed according to the official instructions.
- An API Key created in the Sakrylle Console.
- The Key's model group includes the model you want to use; this example uses
gpt-5.6-solfor chat.
Option 1
Hermes officially recommends hermes model for full provider setup:
hermes modelIn the wizard, choose Custom endpoint and enter:
| Field | Value |
|---|---|
| API base URL | https://api.sakrylle.com/v1 |
| API key | sk-xxxxxxxxxxxxxxxx |
| Model name | gpt-5.6-sol |
| API mode | chat_completions |
Then start Hermes:
hermes chatSend a simple message in the session. If the response returns normally, the configuration is active.
Option 2
To configure it manually, use the named custom provider shape from the Hermes provider docs. This keeps the Key in ~/.hermes/.env and makes model switching clearer.
Field reference:
custom_providers[].name: custom provider name; this example usessakrylle.base_url: Sakrylle's OpenAI-compatible endpoint, with/v1.key_env: the environment variable Hermes reads for the API Key.api_mode: chat_completions: use the OpenAI Chat Completions-compatible mode.model.provider: custom:sakrylle: point the default provider to this named custom provider.model.default: default model name; this example uses Sakrylle's recommended OpenAI-compatible default,gpt-5.6-sol.
Hermes provider docs state that persistent model, provider, and base URL configuration should live in config.yaml; if you previously followed older .env-based model or endpoint instructions, use hermes model or the config.yaml below to confirm the active configuration.
~/.hermes/.env:
SAKRYLLE_API_KEY=sk-xxxxxxxxxxxxxxxx~/.hermes/config.yaml:
custom_providers:
- name: sakrylle
base_url: https://api.sakrylle.com/v1
key_env: SAKRYLLE_API_KEY
api_mode: chat_completions
model:
provider: custom:sakrylle
default: gpt-5.6-solInside a session, switch with Hermes' triple syntax:
/model custom:sakrylle:gpt-5.6-solClaude model usage
Hermes has native Anthropic Messages support and also allows named custom providers with api_mode: anthropic_messages. For Sakrylle, the safer default is the OpenAI-compatible setup above: https://api.sakrylle.com/v1 with api_mode: chat_completions. Sakrylle's /v1/chat/completions can also route to Claude-family models, so the configuration is the same as GPT models; only the model name changes.
Example:
custom_providers:
- name: sakrylle
base_url: https://api.sakrylle.com/v1
key_env: SAKRYLLE_API_KEY
api_mode: chat_completions
model:
provider: custom:sakrylle
default: claude-haiku-4-5-20251001Only switch to Anthropic mode if you specifically need native Anthropic Messages fields and have verified that the current Sakrylle endpoint is compatible with Hermes' anthropic_messages mode. Otherwise, keep chat_completions.
FAQ
- 401 / authentication failed: check that
api_keyorSAKRYLLE_API_KEYis a valid Sakrylle Key. - 404 / model not found: change
defaultto a valid model listed in Models and Pricing. .envis configured but not taking effect: Hermes docs state that model, provider, and base URL come fromconfig.yaml; runhermes modelor edit~/.hermes/config.yamldirectly.- Switch back to another provider: run
hermes modelagain, or use/modelinside a session for providers that are already configured. - 402 insufficient balance: top up in the Console.
