Burrow Source Download

Docs / Providers & endpoints

Providers & endpoints

Bring-your-own-key, stored where an OS already stores secrets, or no key at all.

Keys live in the keychain

Every API key entered in Settings goes into the OS keychain, not a config file or a database. Removing a provider removes its key from the keychain along with it.

One adapter, several providers

Providers are a factory, not a file each. providers/llm/openai.ts exports openAICompatible({url, models}), and OpenAI, Groq, Cerebras, and a fully custom endpoint are all configuration over that same function. Adding another compatible gateway is a config object, not a new integration.

The same pattern for speech

Voice input follows the identical shape: a local Whisper server or Ollama answers exactly like a hosted provider would, because both sides of the adapter, language and speech, are written against the same OpenAI-compatible contract. Details on the speech side live in Voice & wake word.

Pointing at anything else

The custom endpoint field accepts any URL that speaks the OpenAI chat completions API, hosted or on the same machine. A local image generation server is wired in through the identical field, so it runs the same way a local language model does.

Provider settings with web search and image provider pickers
Settings → API config. Each key goes to the provider it belongs to and nowhere else.