Skip to content

#11 抓包默认流式 + 单一聚合预算 + store 收敛 - #27

Merged
benz-ai-x merged 1 commit into
mainfrom
fix/issue-11-capture-limits
Aug 20, 2026
Merged

#11 抓包默认流式 + 单一聚合预算 + store 收敛#27
benz-ai-x merged 1 commit into
mainfrom
fix/issue-11-capture-limits

Conversation

@benz-ai-x

Copy link
Copy Markdown
Owner

摘要

  • AI 流式响应默认 tee/pass-through(首块不再等完整响应;捕获异常/预算耗尽对字节流零影响)
  • CaptureAccumulator:每 flow 单一聚合内存预算——request 快照与响应共享总额但缓冲分离;字节级累计(大量小 message 无法绕过);UTF-8 边界安全截断
  • store:单条 record 8MB 上限(append 前拒收)+ append 后即时预算收敛(留新删旧)

验收对照

  • 流式默认 tee,首块不等完整响应
  • 捕获关闭/异常对字节流与时序零可观察影响
  • 单一聚合预算;小 message 无法绕过(字节累计测试)
  • truncated/captured_bytes/bytes 语义明确且 UTF-8 安全(边界测试)
  • raw SSE opt-in 同一预算(走同一 accumulator)
  • store append 后收敛;单条超大拒收(两测试)
  • 慢速分块/超大/异常流回归(accumulator + addon 新契约测试)
  • ADR-001 字段兼容(结构不变)

pytest 1434;Closes #11

🤖 Generated with Claude Code

- AI 流式响应默认 tee/pass-through(不再需要 MAGIC_PROXY_PRESERVE_
  STREAMING 选择性开启);首块延迟不再等完整响应
- CaptureAccumulator:每 flow 单一聚合内存预算(request 快照与响应
  累计共享总额但缓冲分离——快照不混入响应文本);大量小 message 无法
  绕过(按字节累计);tee 原样下发(预算耗尽/异常零影响);captured()
  UTF-8 字符边界安全(前缀位数判断残序列)
- truncated/captured_bytes/total_seen 语义明确;budget 经调用点取模块
  常量(monkeypatch 可测)
- store:MAX_RECORD_BYTES 单条上限(append 前拒收)+ append 后即时
  _trim_store 收敛(预算感知留新删旧——绝非全清)
- 测试:accumulator 8 例(预算聚合/UTF-8/绕过/直通)+ store 2 例
  (超大拒收/append 后收敛)+ addon 新契约(默认 tee/捕获量/有界)
- ADR-001 字段兼容:record 结构不变,新增语义字段向后兼容

pytest 1434 全绿。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@benz-ai-x
benz-ai-x merged commit 9130097 into main Aug 20, 2026
0 of 4 checks passed
@benz-ai-x
benz-ai-x deleted the fix/issue-11-capture-limits branch August 20, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P1][抓包模式] 默认保留流式响应并实施聚合内存/存储上限

1 participant