Skip to content

Configuring a model provider & API key

Updated 14 September 2026

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, model qwen2.5:14b (or whatever you ollama 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/.env under the variable name you choose (default OPENAI_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:// or https:// 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.