import { Callout } from "nextra/components"; # Configuration Reference This page is the complete reference for all top-level fields in `config.yaml`. See config.example.yaml in the repository root for a fully commented example with all available options. ## Top-level fields | Field | Type | Description | | ---------------------- | ------------- | ----------------------------------------------- | | `config_version` | `int` | Config schema version (current: 6) | | `log_level` | `str` | Log verbosity: `debug`/`info`/`warning`/`error` | | `models` | `list` | Available LLM model configurations | | `image_generate_model` | `str \| list` | Model name to use for image generation | | `token_usage` | `object` | Token usage tracking config | | `tools` | `list` | Available tool configurations | | `tool_groups` | `list` | Named groupings of tools | | `tool_search` | `object` | Deferred tool loading config | | `sandbox` | `object` | Sandbox provider and options | | `skills` | `object` | Skills directory and container path | | `skill_evolution` | `object` | Agent-managed skill creation | | `subagents` | `object` | Subagent timeouts and max turns | | `acp_agents` | `dict` | External ACP agent configurations | | `memory` | `object` | Cross-session memory storage | | `summarization` | `object` | Conversation summarization | | `title` | `object` | Automatic thread title generation | | `checkpointer` | `object` | Thread state persistence | | `guardrails` | `object` | Tool call authorization | | `uploads` | `object` | File upload settings | | `channels` | `list` | IM channel integrations | ## models ```yaml models: - name: gpt-4o # Model identifier (referenced in requests) use: langchain_openai:ChatOpenAI # Python class path model: gpt-4o # Model name passed to the LLM api_key: $OPENAI_API_KEY # API key (env var interpolation supported) base_url: null # Optional: custom endpoint URL request_timeout: 600.0 # Request timeout in seconds max_retries: 2 # Number of retries on failure supports_vision: true # Whether to enable vision capabilities thinking_enabled: false # Whether to enable extended thinking # Any additional fields are passed through to the model constructor ``` ## sandbox ```yaml sandbox: # Local (default, no container isolation) use: deerflow.sandbox.local:LocalSandboxProvider allow_host_bash: false bash_output_max_chars: 20000 read_file_output_max_chars: 50000 ls_output_max_chars: 20000 # Container-based # use: deerflow.community.aio_sandbox:AioSandboxProvider # image: enterprise-public-cn-beijing.cr.volces.com/vefaas-public/all-in-one-sandbox:latest # replicas: 3 # idle_timeout: 600 ``` ## memory ```yaml memory: enabled: true storage_path: memory.json debounce_seconds: 30 max_facts: 100 fact_confidence_threshold: 0.7 injection_enabled: true max_injection_tokens: 2000 model_name: null ``` ## summarization ```yaml summarization: enabled: true model_name: null trigger: - type: tokens value: 15564 keep: type: messages value: 10 trim_tokens_to_summarize: 15564 summary_prompt: null ``` ## checkpointer ```yaml checkpointer: type: sqlite # sqlite | redis | postgres connection_string: .deer-flow/checkpoints.db ``` ## subagents ```yaml subagents: timeout_seconds: 900 agents: general-purpose: timeout_seconds: 1800 max_turns: 160 bash: timeout_seconds: 300 max_turns: 80 ``` See the dedicated documentation page for each feature for full field descriptions.