Skip to content

Providers

Providers are the LLM backends that power your workflows. Each provider represents a connection to an AI service — OpenAI, Anthropic, Google, Ollama, or any OpenAI-compatible endpoint. Before you can run a workflow, at least one provider must be configured with a valid API key.

Runsight supports the following providers out of the box:

ProviderType keyModelsAPI key required
OpenAIopenaiGPT-4o, GPT-4, o-seriesYes
AnthropicanthropicClaude Haiku, Sonnet, OpusYes
GooglegoogleGemini Pro, Gemini FlashYes
Azure OpenAIazure_openaiGPT models via AzureYes
AWS Bedrockaws_bedrockClaude, Titan via AWSYes
MistralmistralMistral Large, CodestralYes
CoherecohereCommand R+, EmbedYes
GroqgroqLLaMA, Mixtral (fast inference)Yes
Together AItogetherOpen-source modelsYes
OllamaollamaLocal models (LLaMA, etc.)No
CustomcustomAny OpenAI-compatible endpointYes

Provider type is inferred from the name when you create a provider. For example, a provider named “OpenAI Production” is automatically assigned the type openai.

  1. Open Settings from the sidebar.
  2. On the Providers tab, click Add Provider.
  3. In the dialog, select a provider from the dropdown.
  4. Enter your API key. Runsight auto-tests the connection after a short debounce.
  5. For Ollama or custom providers, enter a Base URL (Ollama defaults to http://localhost:11434).
  6. Once the connection test shows success, click Save.

After saving, Runsight tests the connection again and populates the provider’s model list from the remote API.

Providers are persisted as individual YAML files in custom/providers/. The provider ID is the slugified name — for example, a provider named “OpenAI” is stored at custom/providers/openai.yaml.

custom/providers/openai.yaml
name: OpenAI
type: openai
api_key: ${OPENAI_API_KEY}
base_url: null
status: connected
is_active: true
models:
- gpt-4o
- gpt-4o-mini
- gpt-4-turbo

API keys are stored as environment variable references (${PROVIDER_API_KEY}) pointing to entries in .runsight/secrets.env. The secrets file is gitignored and never committed. You can also reference real environment variables — os.environ takes precedence over the secrets file.

Every soul must set both provider and model_name. The soul schema marks these fields as optional, but the runner hard-fails at execution time if either is missing:

  • Neither set → ValueError: "Soul '{id}' must define an explicit provider and model_name"
  • model_name set but no providerValueError: "Soul '{id}' must define an explicit provider"
  • provider set but no model_nameValueError: "Soul '{id}' must define an explicit model_name"

There is no global fallback or default provider. If you see a soul without these fields, it will fail on run.

custom/souls/researcher.yaml
version: '1.0'
soul:
id: researcher
role: Senior Researcher
system_prompt: "Research the given topic thoroughly."
provider: openai
model_name: gpt-4o
temperature: 0.7

The provider field value must match the type of a configured provider (e.g., openai, anthropic, google), not the provider’s display name or ID.

Runsight includes a built-in model catalog powered by LiteLLM’s model cost dictionary. The catalog provides metadata for every known model across all providers:

  • Model ID and provider
  • Max tokens and max input tokens
  • Input and output cost per token
  • Capability flags: vision support, function calling support, streaming support

By default, the /models API endpoint returns only models whose provider matches a configured provider. Pass ?all=true to see the full catalog regardless of configuration.

All provider endpoints live under /settings/providers:

MethodEndpointDescription
GET/settings/providersList all providers
GET/settings/providers/{id}Get a single provider
POST/settings/providersCreate a provider
PUT/settings/providers/{id}Update a provider
DELETE/settings/providers/{id}Delete a provider
POST/settings/providers/{id}/testTest a saved provider’s connection
POST/settings/providers/testTest credentials before saving

The model catalog has its own endpoints:

MethodEndpointDescription
GET/modelsList models (filtered to configured providers by default)
GET/models/providersList provider summaries with is_configured flag

Click Test on any provider row in the Providers tab. The test hits the provider’s model-listing endpoint and reports success or failure along with latency. On success, the provider’s model list is refreshed.

Each provider has an Enabled toggle. Disabled providers are excluded from model catalog queries and fallback target lists but are not deleted — you can re-enable them at any time.

Click Edit on a provider row to update the API key or base URL. Leave the API key field empty to keep the existing key.

Click Delete to remove a provider. This deletes the YAML file from custom/providers/ and removes the API key from .runsight/secrets.env.