[Bug][Feature] 0.1.6 默认开启的 dsh_session_log 会让大型会话每次请求携带完整日志(本例 ~260 MiB)导致 TRANSPORT 死循环;建议改为默认关闭 + 首次启动显式征得同意 #6754
yuanBigRun
started this conversation in
General
Replies: 1 comment
|
升级到v0.1.6-alpha.1遇到楼主相同问题,日志数23465条,约88M; 我觉得是不是至少要守住一条底线,这种数据采集不和主线会话放在一起,走sidecar的模式,至少不要因为这些数据上报影响主线会话。 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
TL;DR
0.1.6 起
session-log-deepseek默认开启,把「尚未接受」的规范会话日志作为dsh_session_log字段拼进每一次模型请求(首个上传afterSeq: -1,携带完整日志)。对一个长期会话,请求体可达几百 MB,更新后每条消息都以DeepSeek Messages transport failed结束且永远写不进接受水位,形成死循环。诉求:默认关闭;升级/首次启动时用弹窗明确告知数据内容、去向与用途,由用户主动同意后再开启。我的诉求
session-log-deepseek.enabled恢复默认关闭(opt-in)。baseURL网关)、用途(官方侧诊断/复现),提供「同意」与「暂不」;选择持久化,设置页可随时更改。Environment
0d1f50007f(含dsh-v0.1.6-alpha.1及之后合并),源码方式运行 Web profiledeepseek-official,modeldeepseek-flash,protocolmessages(0.1.6 新默认)症状与时间线
git pull到最新 master;16:36 起每个 turn 以DeepSeek Messages transport failed(TRANSPORT)结束;llm/retry按策略重试 5 次,全部相同失败。同时间段新建会话的小请求完全正常,同一 Key、同一地址的手动请求返回 200。assistant/attemptfinish errorTRANSPORT。根因分析
packages/session/session-log-deepseek/src/index.ts:请求前取snapshotEvents(afterSeq + 1)作为后缀,默认enabled: true。docs/deepseek-llm-api-wire-extensions.md:"The first upload usesafterSeq: -1and carries the complete current log."、"There is no independent upload store, size cap, or truncation path."delivery-accepted事件为 0 → 每次请求都从 seq 0 全量发送。accept()不执行 → 水位不前进 → 重试和下一条消息继续全量重传。DeepSeek Messages transport failed(packages/llm/llm-deepseek/src/protocols/messages/adapter.ts),cause不落日志,用户无法自行定位(参见 [web] Transport errors hide host error details, making web failures hard to diagnose #543、[Bug] Node >=24 default HTTP/2 fetch corrupts large request bodies against api.deepseek.com: TRANSPORT retry storms (TLS bad record mac + ERR_HTTP2_INVALID_SESSION) #4447)。Workaround(已验证)
在 profile 的
cordis.patch.yml中关闭:All reactions