Skip to content
目录

Middleware 架构详解

Middleware 是 Deep Agents 的扩展单元:在 Agent 生命周期内注册 tools、state 扩展、model 前后钩子,按顺序组成栈。


1. 设计理念

原则说明
可组合按需增删 middleware
单职责文件、子代理、摘要等各管一块
类型累积各 middleware 声明的 state 合并为总 State 类型(见 06)

2. Middleware 契约(语义)

典型能力(依实现):

  • tools:追加给模型的工具列表
  • stateSchema / Annotation:扩展图状态
  • beforeModel / afterModel:改 messages、注入 system 片段
  • wrapToolCall:工具前后处理

3. 核心 Middleware 摘要

名称职责
TodoListwrite_todos 维护计划列表
Filesystem虚拟路径读写,委托 Backend
SubAgenttask 类工具启动子图
Summarization超 token 阈值触发摘要
PromptCaching稳定 system 前缀利于缓存
PatchToolCalls对齐厂商对 tool 消息格式要求
Skills加载 SKILL 说明进上下文
Memory用户偏好与历史记忆注入

4. 执行顺序

先注册的先包装(具体以 createDeepAgent 组装顺序为准):
内置链 → 可选 Skills/Memory → 用户 middleware。
改顺序会影响 state 合并与 hook 嵌套,自定义时注意文档说明。


5. 自定义 Middleware

  • 只暴露必要 tools,避免与内置工具重名。
  • state 字段用 reducer(如 append messages)。
  • 重逻辑放 Backend 或子代理,middleware 保持薄。

6. 总结

读 Deep Agents 实现 = 逐个 middleware 看加了哪些 tools 与 state;调试「少工具」先查栈是否被裁剪。

MIT License.