Skip to content

LLM providers

Every Speedwave project connects to a single model provider: Anthropic, a local model server, or OpenRouter. This choice is stored within your user configuration rather than the code repository, allowing individual projects to use an Anthropic subscription while others communicate with a local server.

The selected provider remains active throughout the entire session: the /model command switches exclusively between models supported by the active provider.

Short model aliases such as opus, sonnet, and haiku also work with local servers and OpenRouter, mapping automatically to the corresponding models configured for that provider.

The Anthropic model selector organizes available models into Latest and Legacy categories, displaying context window sizes and model identifiers. This catalog is embedded directly within Speedwave rather than queried dynamically at runtime.

ModelContext windowCategory
Fable 51M tokensLatest
Opus 51M tokensLatest
Sonnet 51M tokensLatest
Haiku 4.5200k tokensLatest
Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 4.61M tokensLegacy

Fable 5 and the Opus model family belong to the premium tier, while Sonnet and Haiku comprise standard tiers.

Costs vary based on model selection and context length. See Usage and cost for details on billing metrics.

The local provider option connects to a model server running on your host machine at the default address http://host.docker.internal:11434 (matching the standard Ollama port). Speedwave queries this endpoint to list locally installed models. The discover models action refreshes this list on demand after pulling a new model. Automatic discovery is supported for Ollama, LM Studio, and llama.cpp-compatible endpoints.

If the local server is unreachable or returns invalid responses, the model selector is replaced with an error notification. Verify that the server is operational and trigger model discovery again.

Custom base URLs must be valid http or https addresses with clean endpoint paths (such as http://localhost:11434/v1). Configuring custom headers is an advanced setting: providing custom headers bypasses the project proxy, disabling token usage tracking. In addition, Speedwave explicitly blocks sensitive header names, including Authorization, Cookie, and Host. See Data and privacy for details on network boundaries.

Direct OpenAI and Gemini keys: Speedwave does not include an API translation layer between different provider formats. The project proxy passes Anthropic Messages API payloads directly, which requires local servers to natively support this format (as Ollama, LM Studio, and llama.cpp do). Entering an OpenAI or Gemini API key directly into local provider fields is not supported.

OpenRouter provides access to multiple model providers through a single integration. When you enter an OpenRouter API key, Speedwave fetches available models directly from the OpenRouter catalog, filtering the list to models that support tool calling.

The active provider, base URL, and associated parameters are stored in your user configuration file at ~/.speedwave/config.json. The full schema is documented in Configuration keys. Provider API keys are stored separately under ~/.speedwave/tokens/<project>/llm/ with owner-only file permissions. See Credentials management for security details.