- 业务 ORM 数据支持 MySQL 后端(asyncmy),新增 PortableJSON/
BeijingDateTime 可移植列类型、迁移脚本与切库脚本
- 修复 GET /api/scheduled-tasks/runs/{id} 的 _load_run 无限递归
(误调用自身,应委托 service.get_run)导致的 RecursionError 500
- 定时任务名按用户唯一:create/update/admin_update 主动校验,
冲突抛 DuplicateTaskNameError,路由转 409 而非裸 IntegrityError 500
- 补充回归测试 test_scheduled_task_run_lookup / _name_uniqueness
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
88 lines
2.1 KiB
YAML
88 lines
2.1 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-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: deepseek-v4-flash
|
|
display_name: DeepSeek V4 Flash
|
|
use: langchain_openai:ChatOpenAI
|
|
model: deepseek-v4-flash
|
|
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: 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
|
|
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
|
|
skills:
|
|
path: /app/skills
|
|
agents_api:
|
|
enabled: true
|
|
database:
|
|
backend: mysql
|
|
mysql_url: $MYSQL_DATABASE_URL
|
|
pool_size: 10
|
|
echo_sql: false
|
|
checkpointer:
|
|
type: sqlite
|
|
connection_string: D:\cursor-work\offline-backend-20260512\backend\.deer-flow\data\deerflow.db
|