附录 A · 配置参考
A.1 config.yaml 完整配置
yaml
# DeerFlow 主配置文件
# 路径:项目根目录
config_version: "2.0" # 配置版本,用于升级检测
#========================================
# 模型配置
#========================================
models:
# 示例:OpenAI 模型
- name: gpt-4 # 内部标识
display_name: GPT-4 # 显示名称
use: langchain_openai:ChatOpenAI # LangChain 类路径
model: gpt-4 # API 模型名
api_key: $OPENAI_API_KEY # API Key(环境变量引用)
base_url: https://api.openai.com/v1 # 可选,自定义端点
max_tokens: 4096 # 单次请求最大 tokens
temperature: 0.7 # 采样温度
# 示例:Anthropic 模型
- name: claude-sonnet-4-6
display_name: Claude Sonnet 4.6
use: deerflow.models.claude_provider:ClaudeChatModel
model: claude-sonnet-4-6
api_key: $ANTHROPIC_API_KEY
max_tokens: 4096
supports_thinking: true # 支持扩展思考
supports_reasoning_effort: true
# 示例:OpenRouter 模型
- name: openrouter-gemini-2.5-flash
display_name: Gemini 2.5 Flash (OpenRouter)
use: langchain_openai:ChatOpenAI
model: google/gemini-2.5-flash-preview
api_key: $OPENAI_API_KEY
base_url: https://openrouter.ai/api/v1
# 示例:Codex CLI
- name: gpt-5.4
display_name: GPT-5.4 (Codex CLI)
use: deerflow.models.openai_codex_provider:CodexChatModel
model: gpt-5.4
supports_thinking: true
supports_reasoning_effort: true
#========================================
# 默认 Agent 配置
#========================================
agents:
defaults:
# 默认模型
model:
primary: claude-sonnet-4-6 # 主用模型
fallbacks: # 备用模型列表
- gpt-4
- openrouter-gemini-2.5-flash
# 工作目录
workspace: ~/.deer-flow/workspace
# 中间件配置
middlewares:
# 上下文压缩
summarization:
enabled: true
threshold_tokens: 80000
compression_ratio: 0.5
# 任务跟踪(Plan 模式)
todo_list:
enabled: false # 仅在 plan_mode 时启用
# 沙箱配置
sandbox:
enabled: true
# 并发限制
max_concurrent_subagents: 4
# 递归深度限制
recursion_limit: 100
#========================================
# Sandbox 配置
#========================================
sandbox:
# 沙箱模式:local | docker | provisioner
mode: docker
# Local 模式配置
local:
enabled: true
# 无需额外配置,直接在宿主机执行
# Docker 模式配置
docker:
enabled: true
image: deer-flow-sandbox:latest
# 资源限制
resources:
cpu_limit: "2"
memory_limit: "4g"
# 网络配置
network: bridge
# 存储卷
volumes:
- type: bind
source: ./workspace
target: /mnt/user-data
# Provisioner (K8s) 模式配置
provisioner:
enabled: false
provisioner_url: https://provisioner.example.com:8002
kubeconfig: ~/.kube/config
# 默认资源限制
defaults:
cpu_limit: "2"
memory_limit: "4g"
timeout_seconds: 3600
# 镜像预拉取
prepull_images:
- deer-flow-sandbox:latest
#========================================
# 社区工具配置
#========================================
community:
# Tavily 搜索
tavily:
enabled: true
api_key: $TAVILY_API_KEY
# Jina AI 读取器
jina_ai:
enabled: true
api_key: $JINA_API_KEY
# Firecrawl 抓取
firecrawl:
enabled: false
api_key: $FIRECRAWL_API_KEY
#========================================
# MCP Server 配置
#========================================
mcp_servers:
- name: filesystem
enabled: true
command: ["npx", "-y", "@modelcontextprotocol/server-filesystem"]
args: ["/tmp"]
env: {}
- name: github
enabled: false
command: ["npx", "-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: $GITHUB_TOKEN
#========================================
# Summarization 配置
#========================================
summarization:
# 摘要模型
model: gpt-4
# 触发阈值(tokens)
threshold_tokens: 80000
# 压缩比
compression_ratio: 0.5
# 保留最近 N 轮完整消息
keep_recent_turns: 2
#========================================
# Guardrails 配置(可选)
#========================================
guardrails:
enabled: false
# 内置 Allowlist Provider(无需额外依赖)
provider:
type: allowlist # 或 "oap"(需安装 aport-agent-guardrails)
# allowlist 类型配置
allowlist:
# 允许的域名
allowed_domains:
- example.com
- trusted-site.io
# 允许的 IP
allowed_ips:
- 10.0.0.0/8
- 192.168.0.0/16
#========================================
# LangSmith 链路追踪(可选)
#========================================
langsmith:
enabled: false
api_key: $LANGCHAIN_API_KEY
project: deer-flow # 项目名称
# 可选:过滤追踪内容
tracing:
sandbox: false # 是否追踪沙箱执行A.2 extensions_config.json 完整配置
json
{
"mcp_servers": [
{
"name": "filesystem",
"command": ["npx", "-y", "@modelcontextprotocol/server-filesystem"],
"args": ["/tmp"],
"env": {},
"enabled": true
},
{
"name": "github",
"command": ["npx", "-y", "@modelcontextprotocol/server-github"],
"args": [],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_TOKEN"
},
"enabled": false
}
],
"skills": {
"deer-flow-skills/recursive-summarizer": {
"enabled": true,
"config": {
"max_tokens": 2000
}
},
"deer-flow-skills/quick-searcher": {
"enabled": true
},
"deer-flow-skills/in-depth-researcher": {
"enabled": true,
"config": {
"max_iterations": 5
}
}
}
}A.3 环境变量参考
bash
#========================================
# 必需的环境变量
#========================================
# OpenAI API
OPENAI_API_KEY=sk-...
#========================================
# 可选的环境变量
#========================================
# Anthropic API (Claude)
ANTHROPIC_API_KEY=sk-ant-...
# Tavily Search
TAVILY_API_KEY=tvly-...
# Jina AI Reader
JINA_API_KEY=...
# Firecrawl
FIRECRAWL_API_KEY=...
# GitHub Token
GITHUB_TOKEN=ghp_...
# LangChain (for tracing)
LANGCHAIN_API_KEY=...
LANGCHAIN_PROJECT=deer-flow
LANGCHAIN_TRACING_V2=true
#========================================
# DeerFlow 特定配置
#========================================
# 配置文件路径
DEER_FLOW_CONFIG_PATH=/path/to/config.yaml
DEER_FLOW_EXTENSIONS_CONFIG_PATH=/path/to/extensions_config.json
# 日志级别
DEER_FLOW_LOG_LEVEL=info
# 开发模式
DEER_FLOW_DEV=trueA.4 Docker 环境变量
bash
# Docker Compose 环境变量文件 (.env)
#======== 基础配置 ========
COMPOSE_PROJECT_NAME=deer-flow
#======== API Keys ========
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
#======== 可选服务 ========
TAVILY_API_KEY=tvly-...
JINA_API_KEY=...
#======== 飞书配置 ========
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=xxx
#======== Slack 配置 ========
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
#======== Telegram 配置 ========
TELEGRAM_BOT_TOKEN=123456:ABC...
#======== LangSmith ========
LANGCHAIN_API_KEY=...A.5 配置版本升级
DeerFlow 支持配置自动升级:
bash
# 升级配置文件
make config-upgrade
# 将会:
# 1. 读取当前 config.yaml
# 2. 与 config.example.yaml 对比
# 3. 合并新增的字段
# 4. 保留原有配置A.6 企业级扩展配置
yaml
# 企业级配置扩展
enterprise:
# 多租户配置
multi_tenant:
enabled: true
isolation_mode: strict
default_plan: standard
# RBAC 配置
rbac:
enabled: true
default_role: member
role_hierarchy:
- tenant_admin
- project_manager
- member
- viewer
- external
# 审计配置
audit:
enabled: true
storage:
type: s3
bucket: enterprise-audit
retention_days: 2555
# 企业知识库
knowledge_base:
enabled: true
providers:
- type: vector
endpoint: http://kb-search:8080
- type: graph
endpoint: http://kb-graph:8080
# Sandbox 企业增强
sandbox:
audit_commands: true
resource_quotas:
standard:
cpu_limit: "2"
memory_limit: "4Gi"
premium:
cpu_limit: "8"
memory_limit: "16Gi"