- backend/config.yaml、config.yaml 把默认模型从 deepseek-chat 切到 zai-org/GLM-5-FP8(modal endpoint),并轮换对应 API key / Bearer - .env 同步更新 注意:这些文件包含真实凭证,应用部署时务必通过 .env 或私有 config 覆盖,不要把仓库里的版本直接用于生产。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
194 lines
6.6 KiB
YAML
194 lines
6.6 KiB
YAML
config_version: 8
|
|
log_level: info
|
|
models:
|
|
- name: deepseek-chat
|
|
display_name: DeepSeek Chat
|
|
use: langchain_openai:ChatOpenAI
|
|
model: deepseek-chat
|
|
api_key: sk-9808fb2375534112ac275541aec14b9b
|
|
base_url: https://api.deepseek.com
|
|
request_timeout: 600.0
|
|
max_retries: 2
|
|
max_tokens: 4096
|
|
temperature: 1.0
|
|
supports_vision: true
|
|
supports_thinking: true
|
|
- name: zai-org/GLM-5-FP8
|
|
display_name: zai-org/GLM-5-FP8
|
|
use: langchain_openai:ChatOpenAI
|
|
model: zai-org/GLM-5-FP8
|
|
api_key: modalresearch_gWu46FDpVLYZWPVEA3b_2fq8Jw2UJiKMgEm_Rxmn1SA
|
|
base_url: https://api.us-west-2.modal.direct/v1
|
|
request_timeout: 600.0
|
|
max_retries: 2
|
|
max_tokens: 4096
|
|
temperature: 1.0
|
|
supports_vision: true
|
|
supports_thinking: true
|
|
- name: deepseek-v4-pro
|
|
display_name: DeepSeek V4 Pro
|
|
use: langchain_openai:ChatOpenAI
|
|
model: deepseek-v4-pro
|
|
api_key: sk-e1c22b7931dc446f8b67e57878edd105
|
|
base_url: https://api.deepseek.com
|
|
request_timeout: 600.0
|
|
max_retries: 2
|
|
max_tokens: 4096
|
|
temperature: 1.0
|
|
supports_vision: true
|
|
supports_thinking: true
|
|
- name: minimax-m2.7
|
|
display_name: MiniMax M2.7
|
|
use: langchain_openai:ChatOpenAI
|
|
model: MiniMax-M2.7
|
|
api_key: sk-cp-mrsAGtzDpUl0TpOBPVoiRG_pWF1kDDN9_mDAnONBs6HIPcNUexSKtSbx2QOxfKBvJT6Xw6hDTV6hdkJYFWfNA8UtHQ08TiGJiosdRoW6q1sGb6Cb7D85NHk
|
|
base_url: https://api.minimaxi.com
|
|
max_tokens: 4096
|
|
temperature: 1.0
|
|
supports_vision: true
|
|
supports_thinking: true
|
|
- name: minimax-m2.5
|
|
display_name: MiniMax M2.5
|
|
use: langchain_openai:ChatOpenAI
|
|
model: MiniMax-M2.5
|
|
api_key: sk-cp-mrsAGtzDpUl0TpOBPVoiRG_pWF1kDDN9_mDAnONBs6HIPcNUexSKtSbx2QOxfKBvJT6Xw6hDTV6hdkJYFWfNA8UtHQ08TiGJiosdRoW6q1sGb6Cb7D85NHk
|
|
base_url: https://api.minimaxi.com
|
|
max_tokens: 4096
|
|
temperature: 1.0
|
|
supports_vision: true
|
|
supports_thinking: true
|
|
tool_groups:
|
|
- name: web
|
|
- name: file:read
|
|
- name: file:write
|
|
- name: bash
|
|
tools:
|
|
- name: web_search
|
|
group: web
|
|
use: deerflow.community.ddg_search.tools:web_search_tool
|
|
max_results: 5
|
|
- name: ls
|
|
group: file:read
|
|
use: deerflow.sandbox.tools:ls_tool
|
|
- name: read_file
|
|
group: file:read
|
|
use: deerflow.sandbox.tools:read_file_tool
|
|
- name: glob
|
|
group: file:read
|
|
use: deerflow.sandbox.tools:glob_tool
|
|
max_results: 200
|
|
- name: grep
|
|
group: file:read
|
|
use: deerflow.sandbox.tools:grep_tool
|
|
max_results: 100
|
|
- name: write_file
|
|
group: file:write
|
|
use: deerflow.sandbox.tools:write_file_tool
|
|
- name: str_replace
|
|
group: file:write
|
|
use: deerflow.sandbox.tools:str_replace_tool
|
|
- name: bash
|
|
group: bash
|
|
use: deerflow.sandbox.tools:bash_tool
|
|
sandbox:
|
|
use: deerflow.sandbox.local:LocalSandboxProvider
|
|
allow_host_bash: true
|
|
title:
|
|
enabled: true
|
|
max_words: 6
|
|
max_chars: 60
|
|
prompt_template: |
|
|
请为下面这段对话生成一个简洁的标题,概括对话的核心主题。
|
|
|
|
要求:
|
|
- 标题必须使用简体中文
|
|
- 尽量精炼,不超过 {max_words} 个词
|
|
- 只返回标题本身,不要加引号、不要解释、结尾不要标点
|
|
|
|
User: {user_msg}
|
|
Assistant: {assistant_msg}
|
|
skills:
|
|
path: /app/skills
|
|
security_scan:
|
|
enabled: false
|
|
agents_api:
|
|
enabled: true
|
|
database:
|
|
backend: mysql
|
|
mysql_url: $MYSQL_DATABASE_URL
|
|
pool_size: 10
|
|
echo_sql: false
|
|
checkpointer:
|
|
# SQLite 文件路径用相对路径,由 resolve_sqlite_conn_str 解析成绝对路径。
|
|
# Docker 部署:把容器内 .deer-flow 目录挂卷出来即可持久化(撑住容器重启)。
|
|
# 这里同时被「主 agent」和「AI 写作 graph」共用 —— LangGraph 用
|
|
# (thread_id, checkpoint_ns) 做隔离,session_id 是 uuid,不会撞。
|
|
type: sqlite
|
|
connection_string: .deer-flow/data/checkpoints.db
|
|
# AI 写作子系统的会话清理配置。
|
|
# 业务表(ai_writing_sessions @ MySQL) + checkpointer(checkpoints.db @ SQLite) 联动清理。
|
|
# 留意:清理走 cron 表达式调度,默认每天凌晨 3 点跑一次,按 updated_at 一刷拉清。
|
|
ai_writing:
|
|
cleanup:
|
|
enabled: true
|
|
retention_days: 7 # 保留 7 天以内的会话,更早的整条删
|
|
cron: "0 3 * * *" # 每天 03:00 本地时区
|
|
delete_only_finished: false # false=不看状态一刷拉;true=只清 done/error
|
|
batch_size: 500 # 单批最多删多少行,避免长事务
|
|
# 记忆子系统:跨会话持久化用户画像与 agent 私有记忆。
|
|
# 三层覆盖优先级(高->低):
|
|
# users/{user_id}/memory_config.json > .deer-flow/memory_user_overrides.json > 此处
|
|
memory:
|
|
enabled: true
|
|
version: v1
|
|
provider: hindsight # 'builtin' | 'hindsight'(外部 provider 名)
|
|
# builtin 始终启用,这里只决定 external 选哪个
|
|
builtin:
|
|
enabled: true
|
|
memory_char_limit: 2200
|
|
user_char_limit: 1375
|
|
deduplicate_on_load: true
|
|
|
|
hindsight: # provider=hindsight 时生效,需另行部署 Hindsight 服务
|
|
mode: local_external # 'cloud' | 'local_embedded' | 'local_external'
|
|
api_url: http://47.88.25.99:18888
|
|
api_key: "" # 部署 Hindsight 后填,或改成 $HINDSIGHT_API_KEY 并设同名环境变量
|
|
# 注意:写成 $VAR 但环境变量未设置会导致配置加载失败
|
|
bank_id_template: "deerflow-user-{user_id}"
|
|
work_bank_id_template: "deerflow-work-{user_id}-{agent_id}"
|
|
memory_mode: context # 'context' | 'tools' | 'hybrid'
|
|
bank_mission: ""
|
|
bank_retain_mission: ""
|
|
recall_budget: mid # 'low' | 'mid' | 'high'
|
|
recall_max_tokens: 4096
|
|
recall_max_input_chars: 800
|
|
auto_recall: true
|
|
auto_retain: true
|
|
retain_async: true
|
|
retain_every_n_turns: 1
|
|
retain_user_prefix: "User"
|
|
retain_assistant_prefix: "Assistant"
|
|
|
|
# background_extraction:预留功能,代码尚未实现 —— 仅设计文档存在。
|
|
# 待对应版本支持后,取消下面整段注释即可启用(漏记兜底)。
|
|
# background_extraction:
|
|
# enabled: false # 默认关闭,作为漏记兜底
|
|
# debounce_seconds: 30
|
|
# model_name: ~ # null = 用默认模型
|
|
# fact_confidence_threshold: 0.7
|
|
# max_facts_per_extraction: 10
|
|
# correction_detection: true
|
|
# reinforcement_detection: true
|
|
|
|
injection:
|
|
enabled: true
|
|
max_tokens: 2000
|
|
include_builtin: true
|
|
include_hindsight: true
|
|
context_tag: "memory-context" # 包裹 Hindsight recall 的标签名
|
|
|
|
security:
|
|
scan_content: true # 注入/外渗模式扫描
|
|
block_invisible_unicode: true
|
|
# streaming_scrubber:预留字段,代码尚未实现 —— 待版本支持后取消注释。
|
|
# streaming_scrubber: true # SSE 流前清洗 <memory-context> |