# Hermes agent

# Hermes agent

[Hermes](https://hermes-agent.nousresearch.com) (NousResearch) reads provider
config from `~/.hermes/config.yaml` and secrets from `~/.hermes/.env`. Add Hyphen
as a custom OpenAI-compatible provider whose base URL ends in `/v1` — Hermes
appends `/chat/completions` and talks to the gateway's default surface.

## 1. Get a key

[app.hyphen-solution.com](https://app.hyphen-solution.com) → sign in →
**Dashboard → API Keys → Create**. Copy the `sk-hy-...` key.

## 2. Configure — one copy-paste block

Add this to **`~/.hermes/config.yaml`**:

```yaml
# ~/.hermes/config.yaml
custom_providers:
  hyphen:
    name: "Hyphen"
    base_url: "https://api.hyphen-solution.com/v1"
    model: "m3"
    context_length: 200000

# Make Hyphen the default
model:
  provider: "hyphen"
  default: "m3"
```

Then put the key in **`~/.hermes/.env`**. Hermes resolves credentials by
appending `_API_KEY` to the provider name — for a provider named `hyphen`:

```bash
# ~/.hermes/.env
HYPHEN_API_KEY=sk-hy-YOUR_KEY
```

That's the full setup. Fields:

- `base_url` — the OpenAI-compatible root, **ending in `/v1`**. Hermes appends
  `/chat/completions` when it calls the model.
- `model` — a Hyphen model (`m3` strongest, `m2.7` balanced, `m2.5` fast).
- `context_length` — the context window to advertise for this provider/model.

## 3. Verify

```bash
hermes chat --model hyphen/m3
```

Ask it to reply with a single word and confirm you get a completion. With Hyphen
set as the default provider above, plain `hermes chat` also works.

## Related: `hermes proxy`

Hermes can run as a local proxy (`hermes proxy`) that exposes an
OpenAI-compatible endpoint on your machine and forwards to a configured
provider. If you front Hyphen this way, point the proxy's upstream provider at
the same `base_url` and key above — everything downstream then targets
`http://localhost:<port>/v1` while Hyphen remains the real backend.

## Troubleshooting

- **Auth errors** — confirm `HYPHEN_API_KEY` is in `~/.hermes/.env` and matches
  the provider name (`hyphen` → `HYPHEN_API_KEY`).
- **404 / wrong path** — `base_url` must end in `/v1`.
- **`429`** — monthly budget spent; see [Rate limits & caps](/rate-limits).
- **Config keys moved?** Hermes keys (`custom_providers`, `context_length`, the
  `hermes proxy` subcommand) evolve quickly. Confirm the current shape at the
  [Hermes configuration docs](https://hermes-agent.nousresearch.com/docs/user-guide/configuration).
