Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nullclaw/nullclaw/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Providers are NullClaw’s abstraction layer for AI model APIs. Every provider implements theProvider vtable interface, enabling runtime-swappable model backends with zero code changes.
Provider Interface
Supported Providers
Core Providers (9)
These providers have dedicated implementations insrc/providers/:
| Provider | Models | Features |
|---|---|---|
| Anthropic | Claude Opus/Sonnet/Haiku 3/3.5/4 | Native tools, streaming, vision, extended thinking |
| OpenAI | GPT-4o, GPT-4, GPT-3.5, o1/o3 | Native tools, streaming, vision, reasoning effort |
| OpenRouter | 200+ models (proxy) | Native tools, streaming, vision (model-dependent) |
| Ollama | Local models (llama3, mistral, etc.) | Native tools, streaming, local inference |
| Gemini | Gemini Pro/Flash/Ultra | Native tools, streaming, vision, thinking |
| Venice | Privacy-focused models | No logs, Swiss jurisdiction |
| xAI | Grok models | Real-time data, Twitter integration |
| Groq | Fast inference (llama3, mixtral) | Ultra-low latency |
| Mistral | Mistral Large/Medium/Small | EU-based, open weights |
Compatible Providers (41+)
These providers work via the OpenAI-compatible adapter (src/providers/compatible.zig):
All Compatible Providers
All Compatible Providers
- Together AI — Fast inference for open models
- Fireworks — Optimized model deployment
- Perplexity — Search-augmented generation
- Cohere — Enterprise-grade NLP
- DeepSeek — Code-specialized models
- Replicate — Community model hosting
- Hugging Face — Inference API
- Cloudflare Workers AI — Edge inference
- AI21 Labs — Jurassic models
- Anyscale — Ray-based inference
- OctoAI — Optimized model serving
- Novita AI — Affordable inference
- Deep Infra — GPU cloud
- Lepton AI — Serverless inference
- Cerebras — Ultra-fast inference chips
- Monster API — Low-cost hosting
- Nebius — EU cloud AI
- Scaleway — EU inference
- Hyperbolic — Fast open models
- Lambda — GPU cloud
- Modal — Serverless containers
- Runpod — GPU marketplace
- Avian — Privacy-first AI
- Glhf — Community models
- Kindo — Enterprise AI
- SambaNova — Fast LLM chips
- Featherless — Lightweight inference
- GitHub Models — Azure-backed playground
- LM Studio — Local model server
- Llamafile — Single-file executables
- Jan — Desktop AI runtime
- Text Generation Web UI — Local web interface
- vLLM — High-throughput inference
- TGI (Text Generation Inference) — Hugging Face server
- LocalAI — OpenAI-compatible local server
- Tabby — Code completion server
- Continue — IDE assistant backend
- Amazon Bedrock — AWS managed models
- Azure OpenAI — Microsoft-hosted OpenAI
- Google Vertex AI — GCP model deployment
- Custom endpoint — Any OpenAI-compatible API
Configuration
Basic Setup
Providers are configured in~/.nullclaw/config.json:
Custom Endpoints
Usecustom: prefix for any OpenAI-compatible API:
Model Selection
Model string format:<provider>/<model>
Provider Selection Flow
Capabilities
Native Tool Calling
Providers that returnsupportsNativeTools() == true:
- Anthropic (function calling API)
- OpenAI (function calling API)
- Gemini (function calling API)
- Ollama (via tool schema)
- OpenRouter (proxies native support)
Streaming
Providers implementstream_chat vtable method:
Vision (Multimodal Input)
Providers checksupportsVision() or supportsVisionForModel(model):
Error Handling
Automatic Retries
TheReliableProvider wrapper (src/providers/reliable.zig) adds:
- Exponential backoff (50ms → 200ms → 800ms)
- Rate limit detection (429 status)
- Transient error classification
- Circuit breaker integration
Fallback Chain
Configure fallback models in agent config:Performance
Provider Warmup
Optional vtable methodwarmup() pre-establishes connections:
Response Caching
SQLite-backed cache deduplicates identical requests:sha256(system_prompt + messages + model + temperature)
Implementation Guide
Minimal Provider
Next Steps
Configuration
Full provider configuration reference
Tools
Learn how tool calling works