✕
Share feedback
Answers are generated based on the documentation.

Models

Models are the AI brains behind your agents. Docker Agent supports multiple providers and flexible configuration.

Inline vs. Named Models

There are two ways to assign a model to an agent:

Inline (Quick)

Use the provider/model shorthand directly in the agent definition:

agents:
  root:
    model: openai/gpt-5
    instruction: You are a helpful assistant.

Named (Full Control)

Define models in a models section and reference them by name:

models:
  claude:
    provider: anthropic
    model: claude-sonnet-4-5
    max_tokens: 64000
    temperature: 0.7

agents:
  root:
    model: claude
    instruction: You are a helpful assistant.

Named models let you configure temperature, token limits, thinking budgets, and other parameters. They're also reusable across multiple agents.

First Available Models

A named model can also select the first usable model from a priority list. This is useful for shared configs that should prefer paid cloud models when their API keys are present, but still work with a local fallback:

models:
  smart:
    first_available:
      - anthropic/claude-sonnet-4-5
      - openai/gpt-5
      - dmr/ai/qwen3

agents:
  root:
    model: smart
    instruction: You are a helpful assistant.

At load time, Docker Agent selects the first candidate whose credentials are configured. You only need credentials for one candidate. See Model Configuration for details.

Supported Providers

See Model Providers for provider comparisons and the complete provider keys and credentials table. Each provider's page covers its models and setup.

Model Properties

PropertyTypeDescription
providerstringProvider identifier (required)
modelstringModel name (required)
descriptionstringHuman-readable summary of the model's purpose
temperaturefloatRandomness: 0.0 (deterministic) to 1.0 (creative)
max_tokensintMaximum response length
top_pfloatNucleus sampling: 0.0 to 1.0
frequency_penaltyfloatReduce repetition: 0.0 to 2.0
presence_penaltyfloatEncourage topic diversity: 0.0 to 2.0
base_urlstringCustom API endpoint
thinking_budgetstring/intReasoning effort configuration
task_budgetint/objectTotal token budget for an agentic task (Anthropic; honored by Opus 4.7 today)
provider_optsobjectProvider-specific options

Reasoning / Thinking Budget

Control how much the model "thinks" before responding:

ProviderFormatValuesDefault
OpenAIstringminimal, low, medium, high, xhigh, maxmedium (always-reasoning models only)
Anthropicint or str1024–32768 tokens, or adaptive, adaptive/<effort>, effort leveloff
Gemini 2.5int0 (off), -1 (dynamic), or token count-1 (dynamic)
Gemini 3stringminimal, low, medium, highvaries
Allstring/intnone or 0 clears Docker Agent's local config—

none and 0 are not universal API-level disable switches. On genuine OpenAI endpoints running GPT-5.x from 5.6 onward or GPT-6 Sol/Luna, none is a real reasoning_effort value that Docker Agent sends as-is and the model does not reason. On GPT-6 Astra and older OpenAI models, none/0 only clear the local thinking_budget — omitting the field has the same effect — and the model falls back to the API's own default effort (still reasoning internally for always-reasoning models like the o-series). Providers with a true optional-thinking switch (Gemini 2.5, Claude, local models) are fully disabled by none/0. See the Thinking / Reasoning guide for the full per-provider breakdown.

models:
  deep-thinker:
    provider: anthropic
    model: claude-sonnet-4-5
    thinking_budget: 16384

  fast-responder:
    provider: openai
    model: gpt-5.6
    thinking_budget: none # real API-level disable on gpt-5.6
Note

Multi-provider teams

Different agents can use different providers in the same config. See Multi-Agent for patterns.

Alloy Models

"Alloy models" let you use more than one model in the same conversation — Docker Agent alternates between them to leverage the strengths of each:

agents:
  root:
    model: anthropic/claude-sonnet-4-5,openai/gpt-5
    instruction: You are a helpful assistant.

Read more about the alloy model concept at xbow.com/blog/alloy-agents.