Pull + Debounced Push 混合流式设计
设计来源: Kimi (kosong) + Pydantic-AI 融合 推荐等级: ⭐⭐⭐⭐⭐ (P0 - 核心设计)
核心理念
结合 Kosong 的 灵活双模式 (Pull/Push) 与 Pydantic-AI 的 智能频率控制 (Debounce),构建一个既强大又易用的流式抽象层。
┌─────────────────────────────────────────────────────────────┐
│ 理想的设计架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Provider Stream (Raw Parts) │
│ │ │
│ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Core │────▶│ Debounce │────▶│ Callback │ │
│ │ (Pull) │ │ (Buffer) │ │ (Push) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │
│ │ ┌───────────────────┐ │ │
│ └────────▶│ on_message_part │◀──────────┘ │
│ │ (debounced) │ │
│ └───────────────────┘ │
│ │ │
│ ▼ │
│ UI / Consumer │
│ │
└─────────────────────────────────────────────────────────────┘
为什么这种混合模式最佳?
1. 融合双方优势
| 框架 | 优势 | 这种设计保留 |
|---|---|---|
| Kosong | 灵活的双模式 (Pull/Push) | ✅ 消费者可选择 |
| Pydantic-AI | 智能 debounce 控制频率 | ✅ 避免高频触发 |
| Pi-Mono | UI 层批量更新 | ✅ 内置支持 |