Repository navigation
[Bug] Claude Opus(Kiro Max 渠道)在 dsh 中每轮请求后上下文即超窗,压缩后无法恢复,会话完全不可用;同渠道 Claude CLI 正常 #10844
fu827707013
started this conversation in
General
Replies: 1 comment 2 replies
|
关于第 2 点: 根因是中转虚报了 usage(cache_read 约为真实值的 4 倍)。dsh 按上游数字判断占用,在当前窗口下压缩无论如何都降不到阈值以下。手动调大窗口,可以让阈值装得下这份虚报,压缩就能成功、不再反复循环。
注意:面板上的读数仍然是虚报的。如果 Kiro 后端的真实窗口小于 1M,就只能等后端报超窗错误后再恢复。最好解决办法也许是换一个如实回报 usage 的渠道。 |
2 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.
环境
modelContextLimit=256000现象
在 dsh 里用 claude-opus,每轮请求结束后上下文都会直接超窗。界面显示「上下文已用 100%,~300K / 290K」。
但界面分项加起来只有约 75K:系统提示词 ~7K,工具定义 ~37.4K,对话消息 ~30.4K。
触发压缩后,界面短暂降到 50% 以下,下一轮又回到 100% 以上。于是每一轮都在紧急压缩,每次耗时 30–80 秒,最后请求被中断(
client aborted mid-stream)。claude-opus 在 dsh 里已经完全无法使用。数据(同一会话,UTC 2026-10-23,取自会话日志里的上游原始 usage)
要点:
cache_read_input_tokens。k̂=4.00。和 Claude CLI 的对比(同渠道、同模型)
Claude CLI 也收到了同样的跳变。例如一次请求从 136834 跳到 224797,而新增内容只有约 3.7 万字符,增量同样在 cache_read 上。
不同的是,Claude CLI 会在后台把整段对话总结成摘要,然后从摘要重新开始。压缩后读数回到 10–12 万,用起来几乎没有感知。一个会话约 3 小时里自动压缩了 5 次左右,上下文从没卡死过。
dsh 这边,压缩只能折叠部分历史。上游持续虚报时,dsh 和插件都按上游 usage 判断是否超窗,所以会陷入「紧急压缩 → 仍超窗 → 再压缩」的死循环,会话没法继续。
期望
需要更多日志的话,我可以补充。
All reactions