Skip to content
Discussion options

You must be logged in to vote

这是 provider 侧的上下文超限(413),不是 DSH 崩溃:会话长了之后,DSH 会把整个会话历史发给 API,撞上千问(Qwen)的实际上下文上限。

处理建议(按可靠性排序,rc.6 实测口径):

  1. 长对话直接新开会话,把关键结论带过去——最省事,也最可靠;
  2. 不要只依赖 compaction 配置:rc.6 的 web profile 默认把 compaction-basic 等插件 disable 掉了(#2107 有源码级确认:web-app 补丁禁用宿主副本,预设 realm 的副本对 web 会话不生效)。即使手动 re-enable,实测里 compaction 仍然不触发——token meter 的 fallback 估算(约 4 chars/token)会低估密集 tool-schema / 工具结果,压力阈值永远到不了,provider 先拒绝。所以调 thresholdRatio 在 rc.6 web 上大概率没效果;
  3. 检查模型 contextWindow 是否准确——DSH 对未知模型默认按 1,000,000 tokens 算,如果千问实际上限更小,需要按真实值配置;
  4. 降低单轮 completion 预算(maxTokens / reasoning 输出),给 messages 留出空间。

跟踪帖:#2107(compaction 在 web 会话不触发 + meter 低估),等 rc.7 修复;社区侧 dsh-plugin-doctor 的 --profile 检查可以帮你确认宿主遮蔽/配置层问题。

如果新开对话也报错,那就不是长…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by China-natian
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants