Files
deer-flow/config.example.yaml

177 lines
5.8 KiB
YAML
Raw Normal View History

2026-01-14 07:09:20 +08:00
# Configuration for the DeerFlow application
#
# Guidelines:
# - Copy this file to `config.yaml` and customize it for your environment
# - The default path of this configuration file is `config.yaml` in the current working directory.
# However you can change it using the `DEER_FLOW_CONFIG_PATH` environment variable.
2026-01-14 07:09:20 +08:00
# - Environment variables are available for all field values. Example: `api_key: $OPENAI_API_KEY`
# - The `use` path is a string that looks like "package_name.sub_package_name.module_name:class_name/variable_name".
# ============================================================================
# Models Configuration
# ============================================================================
# Configure available LLM models for the agent to use
2026-01-14 07:09:20 +08:00
models:
# Example: OpenAI model
- name: gpt-4
display_name: GPT-4
2026-01-14 07:09:20 +08:00
use: langchain_openai:ChatOpenAI
model: gpt-4
api_key: $OPENAI_API_KEY # Use environment variable
max_tokens: 4096
temperature: 0.7
# Example: Anthropic Claude model
# - name: claude-3-5-sonnet
# display_name: Claude 3.5 Sonnet
# use: langchain_anthropic:ChatAnthropic
# model: claude-3-5-sonnet-20241022
# api_key: $ANTHROPIC_API_KEY
# max_tokens: 8192
# Example: DeepSeek model (with thinking support)
# - name: deepseek-v3
# display_name: DeepSeek V3 (Thinking)
# use: langchain_deepseek:ChatDeepSeek
# model: deepseek-chat
# api_key: $DEEPSEEK_API_KEY
# max_tokens: 16384
# supports_thinking: true
# when_thinking_enabled:
# extra_body:
# thinking:
# type: enabled
# Example: Volcengine (Doubao) model
# - name: doubao-seed-1.8
# display_name: Doubao 1.8 (Thinking)
# use: langchain_deepseek:ChatDeepSeek
# model: ep-m-20260106111913-xxxxx
# api_base: https://ark.cn-beijing.volces.com/api/v3
# api_key: $VOLCENGINE_API_KEY
# supports_thinking: true
# when_thinking_enabled:
# extra_body:
# thinking:
# type: enabled
# ============================================================================
# Tool Groups Configuration
# ============================================================================
# Define groups of tools for organization and access control
2026-01-14 07:09:20 +08:00
tool_groups:
- name: web
- name: file:read
- name: file:write
- name: bash
# ============================================================================
# Tools Configuration
# ============================================================================
# Configure available tools for the agent to use
2026-01-14 07:09:20 +08:00
tools:
# Web search tool (requires Tavily API key)
2026-01-14 07:09:20 +08:00
- name: web_search
group: web
use: src.community.tavily.tools:web_search_tool
max_results: 5
# api_key: $TAVILY_API_KEY # Set if needed
2026-01-14 07:09:20 +08:00
# Web fetch tool (uses Jina AI reader)
2026-01-14 07:09:20 +08:00
- name: web_fetch
group: web
use: src.community.jina_ai.tools:web_fetch_tool
timeout: 10
# File operations tools
2026-01-14 07:09:20 +08:00
- name: ls
group: file:read
use: src.sandbox.tools:ls_tool
- name: read_file
group: file:read
use: src.sandbox.tools:read_file_tool
- name: write_file
group: file:write
use: src.sandbox.tools:write_file_tool
- name: str_replace
group: file:write
use: src.sandbox.tools:str_replace_tool
# Bash execution tool
2026-01-14 07:09:20 +08:00
- name: bash
group: bash
use: src.sandbox.tools:bash_tool
# ============================================================================
# Sandbox Configuration
# ============================================================================
# Choose between local sandbox (direct execution) or Docker-based AIO sandbox
# Option 1: Local Sandbox (Default)
# Executes commands directly on the host machine
2026-01-14 07:09:20 +08:00
sandbox:
use: src.sandbox.local:LocalSandboxProvider
2026-01-15 13:22:30 +08:00
# Option 2: Docker-based AIO Sandbox
# Executes commands in isolated Docker containers
# Uncomment to use:
2026-01-15 13:22:30 +08:00
# sandbox:
# use: src.community.aio_sandbox:AioSandboxProvider
#
2026-01-15 13:22:30 +08:00
# # Optional: Use existing sandbox at this URL (no Docker container will be started)
# # base_url: http://localhost:8080
#
# # Optional: Docker image to use
# # Default: enterprise-public-cn-beijing.cr.volces.com/vefaas-public/all-in-one-sandbox:latest
2026-01-15 13:22:30 +08:00
# # image: enterprise-public-cn-beijing.cr.volces.com/vefaas-public/all-in-one-sandbox:latest
#
2026-01-15 13:22:30 +08:00
# # Optional: Base port for sandbox containers (default: 8080)
# # port: 8080
#
2026-01-15 13:22:30 +08:00
# # Optional: Whether to automatically start Docker container (default: true)
# # auto_start: true
#
2026-01-15 13:22:30 +08:00
# # Optional: Prefix for container names (default: deer-flow-sandbox)
# # container_prefix: deer-flow-sandbox
#
# # Optional: Additional mount directories from host to container
# # NOTE: Skills directory is automatically mounted from skills.path to skills.container_path
2026-01-15 13:22:30 +08:00
# # mounts:
# # # Other custom mounts
2026-01-15 13:22:30 +08:00
# # - host_path: /path/on/host
# # container_path: /home/user/shared
# # read_only: false
# ============================================================================
# Skills Configuration
# ============================================================================
# Configure skills directory for specialized agent workflows
skills:
# Path to skills directory on the host (relative to project root or absolute)
# Default: ../skills (relative to backend directory)
# Uncomment to customize:
# path: /absolute/path/to/custom/skills
# Path where skills are mounted in the sandbox container
# This is used by the agent to access skills in both local and Docker sandbox
# Default: /mnt/skills
container_path: /mnt/skills
# ============================================================================
# Title Generation Configuration
# ============================================================================
# Automatic conversation title generation settings
2026-01-15 13:22:30 +08:00
title:
enabled: true
max_words: 6
max_chars: 60
model_name: null # Use default model (first model in models list)