Integration guide
Hermes Agent
Hermes Agent is an open-source terminal coding and task agent from Nous Research. It supports custom OpenAI-compatible providers, so a little config gets you onto the CrossModel catalog.
Quickstart
1. Install Hermes Agent
pip install hermes-agent
hermes postinstallReload your shell afterward (source ~/.zshrc or source ~/.bashrc).
2. Create an API key
Sign in to the Console and create a key that starts with cm- on the API Keys page. The key is shown only once, so copy it somewhere safe.
3. Add your API key
Hermes Agent keeps secrets in ~/.hermes/.env. In custom-provider mode it reads the key from OPENAI_API_KEY by default — put your CrossModel cm- key there:
OPENAI_API_KEY=cm-YOUR_KEYThe variable is named OPENAI_API_KEY, but the value should be your CrossModel cm- key.
4. Point Hermes at CrossModel
CrossModel isn't a built-in Hermes provider, so wire it up as a custom OpenAI-compatible one. Edit ~/.hermes/config.yaml:
model:
provider: custom
default: deepseek/deepseek-v4-pro
base_url: https://api.crossmodel.ai/v15. Launch
hermesOr use the modern terminal UI:
hermes --tuiHow it works
With model.provider set to custom and a base_url provided, Hermes Agent skips its built-in providers and sends requests straight to the OpenAI-compatible endpoint you specify (https://api.crossmodel.ai/v1), authenticated with the key from ~/.hermes/.env.
Hermes keeps secrets (.env) separate from other settings (config.yaml): the key lives in .env, while model and interface settings live in config.yaml.
Choosing models
To switch models, just change model.default in config.yaml, using the vendor/short_name format — e.g. deepseek/deepseek-v4-flash or anthropic/claude-sonnet-4.6. See the full list in the model catalog.
Troubleshooting
| Symptom | What to check |
|---|---|
| "Missing API key" | Confirm OPENAI_API_KEY is set in ~/.hermes/.env to a valid cm- key. |
| Auth failure (401/403) | Check that the key is valid and your account has balance. |
| "Model not found" | Verify model.default matches an ID from the /v1/models response. |
| Insufficient balance | Top up in the Console. |