Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rkat.ai/llms.txt

Use this file to discover all available pages before exploring further.

Meerkat is provider-agnostic at the session/config/runtime model level. You can switch providers by changing the model name, and a configured self-hosted alias such as gemma-4-31b behaves like any other model ID in the runtime. Tool visibility and multimodal behavior still depend on model capabilities, so provider/model differences can affect the effective tool surface.
This page is the concept layer for provider abstraction. Use Auth and Self-hosting models for setup workflows, and use reference pages for exact capability and contract details.

Provider setup

export ANTHROPIC_API_KEY="sk-ant-..."
ModelContextMax outputBest for
claude-opus-4-71M128KDefault Anthropic recommendation
claude-opus-4-61M128KSupported Opus fallback
claude-sonnet-4-61M64KBalanced performance and cost
claude-sonnet-4-5200K64KLegacy supported Sonnet
config.toml (active realm)
[agent]
model = "claude-opus-4-7"
max_tokens_per_turn = 16384

Environment variables

VariableFallbackProvider
RKAT_ANTHROPIC_API_KEYANTHROPIC_API_KEYAnthropic Claude
RKAT_OPENAI_API_KEYOPENAI_API_KEYOpenAI GPT
RKAT_GEMINI_API_KEYGEMINI_API_KEY, GOOGLE_API_KEYGoogle Gemini
The RKAT_* variants take precedence over provider-native names, so you can run Meerkat with dedicated keys separate from other tools.
Self-hosted servers use the configured bearer_token_env or bearer_token on each server definition instead of the shared provider env vars above.

Image generation providers

The generate_image builtin uses provider-specific image profiles behind a single Meerkat request shape. The active session model does not have to be an image model; image operations can route to a provider default or a forced image target while preserving the original session identity.
ProviderDefault image targetNotes
OpenAIgpt-image-2Uses the hosted Responses image tool by default. Other OpenAI-owned gpt-image* or dall-e* targets use the Images API path.
Geminigemini-3.1-flash-image-previewAlso accepts provider alias google. Gemini image targets run through an internal scoped image-model turn.
Request provider_params are provider-specific and do not replace Meerkat’s universal image fields. Use top-level size, quality, format, and intent; the OpenAI adapter lowers format to provider-side output_format. For the current gpt-image-2 default, public callers should only need background, output_compression, moderation, and the hosted-tool-only action override; use background: "auto" or "opaque" (not "transparent"), use output_compression only with format: "jpeg" or "webp", usually omit action, and omit input_fidelity because Meerkat 0.6.5 rejects unknown OpenAI image provider params. Gemini accepts aspect_ratio and image_size. See Image generation for the exact request shape and troubleshooting.

SDK feature flags

When using Meerkat as a Rust library, enable only the providers you need:
FeatureDescriptionDefault
anthropicAnthropic Claude supportYes
openaiOpenAI GPT supportYes
geminiGoogle Gemini supportYes
all-providersAll LLM providers (convenience alias)No
meerkat = { version = "0.6.5", features = ["anthropic", "jsonl-store"] }

Provider parameters

Provider-specific options can be passed via the --param CLI flag or provider_params in the SDK: Provider-native web search is on by default for catalog models that support it. Disable it in config with the matching provider_tools.<provider> search toggle, or for a single CLI run with rkat run --no-web-search "...".
ParameterDescription
thinking_budgetToken budget for extended thinking (integer)
top_kTop-k sampling parameter (integer)
rkat run --model claude-sonnet-4-6 --param thinking_budget=10000 "Solve this problem"

Model catalog

Meerkat ships a curated built-in model catalog in meerkat_core::model_profile and merges it with any configured self-hosted aliases into one effective runtime registry used for capability detection, provider resolution, and catalog responses. The compatibility meerkat-models crate re-exports that catalog surface for consumers that still depend on the older crate boundary. Query the catalog programmatically from any surface:
  • CLI: rkat models
  • RPC: models/catalog
  • REST: GET /models/catalog
  • MCP: meerkat_models_catalog
Configured self-hosted aliases appear under the self_hosted provider group and include their backing server_id. For Gemma 4 specifically, prefer chat_completions as the default OpenAI-compatible interface. It is the clearest common path for tool calling across Ollama, LM Studio, and vLLM, while reasoning-trace semantics still vary by server.

Auto-detection

The provider is resolved from the built-in model catalog and any configured self-hosted aliases:
  • claude-* models use Anthropic
  • gpt-*, chatgpt-* models use OpenAI
  • gemini-* models use Gemini
Configured self-hosted aliases are resolved by exact model ID match before prefix inference. That means an alias such as gemma-4-31b works without --provider. You can still override this with --provider on the CLI or provider in API requests.

See also