English | 中文
为什么 Claude Code 用 async generator 作为 query 核心抽象,而不是 callback 或普通 async function?
python examples/l8_streaming.py需要 DEEPSEEK_API_KEY。
query.tsservices/api/claude.ts
yieldyield*queryModelWithStreamingstream_request_start
- 文本 chunk、tool_use、tool_result 是怎么统一成事件流的
- 取消和中断为什么更适合 generator 语义
yield*为什么让多层 Agent 组合变简单
示例只保留了事件形状和最小 streaming loop。真实实现还负责 SDK 事件转换、错误恢复、吞吐和 UI 联动。
- Promise、callback、generator 在 Claude Code 这个场景下分别缺什么?
- 为什么
yield*是多 Agent / 多层事件穿透的关键? services/api/claude.ts和query.ts的边界在哪里?