deer-flow:开源长时程 SuperAgent 框架,可研究编码创建,支持子代理与沙箱
一个开源的长时程 SuperAgent harness,能够研究、编码和创建。借助沙箱、记忆、工具、技能、子代理和消息网关,它处理不同级别的任务,这些任务可能耗时几分钟到几小时。
Skill 会改变智能体的行为并可能包含可执行脚本。安装前请先阅读其 SKILL.md 与脚本,社区来源尤其要谨慎。
npx skills add bytedance/deer-flow
npx skills add bytedance/deer-flow -g
npx skills add bytedance/deer-flow -l
命令使用开源的 skills CLI(vercel-labs/skills),支持 Claude Code、Cursor、Codex 等多种智能体。
摘自项目自己的说明,具体以项目主页为准。
With run_events.backend: db, caller-supplied ISO 8601 event timestamps are normalized to UTC before storage, preserving their instant when SQLite drops timezone information. Timestamps without an offset are treated as UTC. Previously stored timestamps are not rewritten.
Operators can extend lead-agent, subagent, and DeerMem extraction prompts with literal prepend/append configuration without editing source templates. See prompt overlays.
Optional per-model request_admission
paces requests to help stay within provider request-per-minute limits.
It is disabled by default; see the linked guide to enable it.
Enabling it disables exposed SDK retries and the Claude and Codex adapters'
internal retry loops so middleware retries pass through request admission again.
Middleware retries also cover HTTP 529 overload responses.
A warning identifies retry_max_attempts values overridden by admission.
For Google's official Gemini OpenAI-compatible endpoint, use the Gemini reasoning profile.
For MindIE XML tool calls, see the argument parsing and newline compatibility guide. Both synchronous and asynchronous streams retain this compatibility: tool-enabled streams simulate chunks from a non-streaming response, while no-tool streams stay native.
Clone the DeerFlow repository
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
Run the setup wizard
From the project root directory (deer-flow/), run:
make setup
This launches an interactive wizard that guides you through choosing an LLM provider, optional web search, and execution/safety preferences such as sandbox mode, bash access, and file-write tools. It generates a minimal config.yaml and writes your keys to .env. Takes about 2 minutes.
The wizard also lets you configure an optional web search provider, or skip it for now.
Brave web search preserves valid entries in mixed result lists. Malformed response containers or lists containing no usable entries return a structured format error; missing, null, or empty results keep the existing "No results found" response. Format errors also log the malformed container's path and type, or the absence of usable result objects, without including search queries, credentials, or payload values.
…