DeerFlow 2.0 · 工程源码手记

从一句话到一次 Agent 运行

我们不按文件夹读源码,而是跟着一次真实请求往下走。源码很多,主线只有一条——我们就沿着它一路读到底。

主线 · 8 站 · 已发布 3 篇

  1. 01 01

    请求入口与 Agent 主链

    一句话怎么变成一次 run

    模型开口之前,DeerFlow 要先创建 run、装入上下文,并把执行事件持续流回前端。

    实现 risk ●●○○○ 阅读本篇 →
  2. 02 02

    lead-agent 工厂

    装配线,不负责思考

    图工厂不负责推理。它把模型、工具、中间件、prompt 和状态结构装配成一张能运行的图。

    架构 risk ●●●○○ 阅读本篇 →
  3. 03 03

    工具装配

    工具配上了,不代表会暴露给模型

    工具列表不是静态注册表。一次 run 会暴露哪些工具,取决于配置、模型能力、沙箱、skill 和 MCP 策略。

    架构 risk ●●●● 阅读本篇 →
  4. 04
    04

    中间件管线

    顺序即语义

    同一组中间件,换个顺序就是另一种 agent。这里要看的,是顺序如何变成运行语义。

    □ 计划中
  5. 05
    05

    沙箱系统

    能力边界,不只是文件系统

    沙箱不是文件系统包装,而是一道能力边界:它决定 agent 能访问哪些外部资源。

    □ 计划中
  6. 06
    06

    子 agent 系统

    委派不是多开一个工具

    在 2.x 里,委派能力通过 task_tool 暴露。能力开关和工具列表耦在一起,这是后续设计需要拆开的地方。

    □ 计划中
  7. 07
    07

    技能系统

    把最小权限写进工具策略

    skill 不只是追加 prompt,还能用 allowed_tools 收敛工具集,把最小权限落到运行时。

    □ 计划中
  8. 08
    08

    持久化 · store · checkpointer

    run 结束后,什么被记住了

    store 与 checkpointer 分工不同:一个存长期状态,一个存可回滚的执行快照。最后一站,看一次 run 结束后留下了什么。

    □ 计划中

■ 已发布,可阅读 · □ 计划中 · RISK = 改动影响半径