Repository navigation
Replies: 3 comments
|
补充一条观察:四次「回合结束但无正文」都落在整点后 12 分钟附近 —— 17:12:18、18:12:18、19:12:38、20:12:21。同一天、同一会话、间隔正好一小时。 不像用户操作引起的随机退化,更像是和某个每小时触发的定时任务撞上了(本机装了 dsh-proactive,每小时一次;时间点是否巧合,我无法从会话日志里进一步确认)。 前三次 reasoning 块是 163/161/72 token,第四次 868 token —— 第四次的思考反而最完整,仍然没吐正文。 |
|
Yes, that's an expected path, and the :12 pattern points at dsh-proactive. The loop ends a turn right after a tool batch, with no further model step and no text, when a tool result is marked So the flag you're after is already in the events. Check the For the 19:12 and 20:12 ones: If you'd rather force a reply, a plugin can listen to I traced this in the rc.2 source and dsh-proactive 0.3.2 but haven't run your session. |
|
To add the half the answer above does not cover: dgesteves' reading explains all four events you logged — a tool batch that concluded the turn on purpose, which you can confirm by the The shape that carries no signal at all is the neighbouring one: the model stops after streaming reasoning, with no text block and no tool call. Nothing objects there either — a reasoning block counts as content, and the provider-neutral
dsh plugin --profile <profile> add github:argszero/dsh-silent-completion-guardIt wraps the |
Uh oh!
There was an error while loading. Please reload this page.
Summary
A turn completes normally (
turn/endreceived) but theassistant/messageevent contains onlyreasoningandtool-callblocks — notextblock at all. The client receives nothing to display, so the user sees "no reply" even though the turn finished successfully.Environment
deepseek-official/deepseek-flash, reasoning effort maxbillion-context0.1.206session/promptover the local API and consuming streamed session eventsEvent sequence observed
The
assistant/messageblocks were:No text block in any of them.
Frequency (single day, same session)
4 occurrences, all around
:12past the hour:The first two coincide with an hourly proactive/silent wake — arguably fine there. The latter two happened during real conversation: the user had just asked a question and expected a reply; the tool call was followed by no text.
Expected behavior
turn/end, or an explicit emptytextblock), so clients do not treat it as a lost message.turn/end(or a visible warning in the events/log) would help.Notes
corrupt session log.billion-context's "degenerate turn" detection did not trigger, because the event sequence looks complete from the client's perspective.Question
Is
assistant/messagewith onlyreasoning + tool-callfollowed byturn/endan expected path? If not, is this a known issue — the r0.2.1-rc.3 (2026-10-23) release notes don't mention it.All reactions