Configuring a model provider & API key
Short answer: Piskes Agent talks to models over the OpenAI-compatible protocol. Pick a provider in Settings → Provider, paste the API key; it is stored in ~/.hermes/.env on your machine. Piskes never holds your key.
Three ways to configure
| Option | When to use it | You enter |
|---|---|---|
| Quick setup: OpenAI | You already have an OpenAI account | API key |
| Quick setup: OpenRouter | You want to switch between many models (Claude, GPT, Gemini, open models) with one key | API key |
| Custom | Your own endpoint: Anthropic behind a proxy, Azure OpenAI, or a local model | Base URL, model name, key variable name, API key |
Local models (no internet needed)
Any server exposing /v1/chat/completions works. For example:
- Ollama: Base URL
http://localhost:11434/v1, modelqwen2.5:14b(or whatever youollama pulled). Put anything in the API key field. - LM Studio: enable Local Server, Base URL
http://localhost:1234/v1.
Local models need enough RAM/VRAM; for office tasks (drafting, spreadsheet summaries) 7–14B models are usually fine, while tool-heavy steps (reading many files, calling Gmail) are more reliable with larger models.
Where the key lives and who can read it
- Written to
~/.hermes/.envunder the variable name you choose (defaultOPENAI_API_KEY). - Only the Hermes Agent engine running on your machine reads it when calling the model.
- The diagnostic bundle (Settings → Support → Diagnostic bundle) redacts every key before packing.
- While you are not signed in to a Piskes account, requests go straight from your machine to the provider — never through Piskes servers. See Pricing & fees for what changes when you sign in.
Switching providers
Saving the new configuration in Settings is enough. The app rewrites the config and restarts the Hermes engine (a few seconds) — memory and bot profiles are kept.
Common issues
- “No model provider configured” on the chat screen: Base URL/API key not saved yet.
- Invalid Base URL: must start with
http://orhttps://and usually ends with/v1. - 401/403 from the provider: wrong key or exhausted quota on their side — check the provider’s dashboard, not Piskes.
Next: Autonomy levels.