Repository navigation
部分回合产出为空正文(正文空、思考里有内容),IM 通道只收到兜底句 #11134
Replies: 3 comments 1 reply
|
这个能对上一条具体的代码路径:只有「一个内容块都没有」才被当成空回复。
这就是你看到的「回合成功结束、但没有正文」,IM 那边只能填兜底句。 现在没有「空正文自动重试一次」的开关;这条判据在适配器里不存在,不是配置问题。如果要做,位置就在 你可以拿日志确认一下:这类回合的 我只读了源码(22ddee3),没有跑模型。 |
|
先更正我上一条:文件引错了。 我引的是 pi-ai 适配器( if (blocks.size === 0 && reason.kind === 'stop') throw new LlmError('DeepSeek Messages returned no content', 'EMPTY_RESPONSE')
结论不变,位置要改:你这条路要改的是 如果你这次其实不是 只读了源码(22ddee3),没有运行。 |

Uh oh!
There was an error while loading. Please reload this page.
环境:Windows 11 桌面版 DSH 0.2.1-rc.3(CLI 同为 0.2.1-rc.3),模型 deepseek-flash,通过 @xmanrui/dsh-im 5.6.0 接微信。
现象:部分回合结束时,助手没有产出任何正文。GUI 里的「思考」面板能完整看到答案(甚至带着自己的草稿行),但没有生成 assistant 正文;IM 通道因此收到插件自己填的兜底句「本轮处理已结束,没有文本回复。」。该兜底句在 dsh-im 的 src/channels/shared/harness-client.mjs:2124 生成,也就是插件确认“回合成功结束、但没拿到任何文本”。所以不是通道丢包,是那一回合真的没有正文。
频率:一个下午加一个晚上约 7 到 8 次,没有固定触发词。特征:多发生在用户提问很短、回答也很短的回合;同一轮没有工具调用时更容易出现;长回答、带工具调用的回合几乎没出现过。
已尝试:把推理等级从 High 降到 Low,无效;关闭 dsh-im 的「上下文增强」,曾让卡住的那条迟一点发出来,未根治;关闭 MCP 插件、卸载 7 个用不上的插件(18 降到 11),之后一段时间未再复现,但样本太少无法确认;重启 DSH 短期不再复现,过一阵又出现。
一点猜测:可能与工具定义数量和系统提示词体积有关(插件多的时候复现更频繁);也可能与思考文本和正文的切分有关,因为答案整段落在思考侧、正文侧为空。
想请教:这是已知问题吗,有没有开关(比如空正文自动重试一次)?是否与工具数量或提示词体积相关,能否在回合结束时对“无正文”做一次自动重试?需要哪些日志我可以提供。
All reactions