Shob works with multiple AI providers out of the box. TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/shobcoder/shob/llms.txt
Use this file to discover all available pages before exploring further.
provider block in shob.json lets you supply API keys, override base URLs, set request timeouts, control which models are visible, and even define entirely custom OpenAI-compatible endpoints — all without touching environment variables.
The provider config block
Each key inside provider is a provider ID (e.g. anthropic, openai). The value is a provider configuration object:
Provider object fields
API key sent with every request to this provider. Overrides the provider’s default environment-variable lookup.
Override the HTTP base URL for all requests. Required when connecting to a custom or self-hosted OpenAI-compatible endpoint.
Request timeout in milliseconds (default:
300000 — 5 minutes). Set to false to disable the timeout entirely.Maximum milliseconds to wait between streamed SSE chunks before aborting. Useful for detecting stalled streams.
Milliseconds to wait for the initial response headers. Set to
false to disable.Enable
promptCacheKey for this provider (default: false). Only relevant for providers that support prompt caching.If set, only models in this list will appear in the model selector for this provider.
Models to hide from the model selector for this provider.
Per-model metadata overrides (cost, capabilities, etc.). Advanced use only.
Setting the default model
The top-levelmodel field sets the default model used for every new session. Use the provider/model-name format:
small_model for lightweight background tasks like generating session titles:
Provider examples
Anthropic
ANTHROPIC_API_KEY from the environment if apiKey is not set in the config.
OpenAI
OPENAI_API_KEY environment variable is the fallback if apiKey is omitted.
Custom / OpenAI-compatible endpoint
Any provider that exposes an OpenAI-compatible API (Ollama, LM Studio, vLLM, Together AI, etc.) can be registered with a custombaseURL:
When using a custom provider ID, set
model to your-provider-id/model-name so Shob knows which provider to route requests to.Restricting available models
Usewhitelist to limit the models shown in the picker, or blacklist to hide specific ones:
Disabling providers entirely
Usedisabled_providers to stop certain providers from loading at all, or enabled_providers to use an allowlist:
API keys via environment variables
You can always supply API keys through environment variables instead of (or in addition to) the config file. The standard variables Shob recognises are the same ones each provider’s SDK uses:| Provider | Environment variable |
|---|---|
| Anthropic | ANTHROPIC_API_KEY |
| OpenAI | OPENAI_API_KEY |
| Google (Gemini) | GOOGLE_GENERATIVE_AI_API_KEY |
| Amazon Bedrock | AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY |