You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
现象
模型已完整产出无任何 tool-call 的
[reasoning, text]最终答案并成功写盘(assistant/message),随后turn/end记录reason = {kind:'error', error:{message:"Cannot read properties of undefined (reading 'filter')", code:'UNKNOWN'}}。UI 表现为「回答已完成,但本轮被标记运行失败」,答案内容与落盘不受影响。环境
@deepseek-ai/dsh0.1.2-alpha.5(web 会话,dsh-remote-web-ui;profile bundles =dsh-base+dsh-web-app+dsh-mnemon+@openviking/dsh-memory-plugin)deepseek-v4-flash-vision-exp(providerdeepseek-official)hasIssuesEnabled在本仓库为false,故按 README 指引经 Discussions 上报。证据(事件序列)
code:'UNKNOWN'只可能由 agent-loopturn()的 catch 对非LlmError的errorChain(error)拍平产生(dsh-agent-loop/lib/index.js约 577–585 行),因此是 turn 收尾真实抛出的TypeError,与业务代码无关。根因定位(已收敛)
toolCalls.length===0→ 返回completed,turn 走step/end→agent/turn-stopping串行下发 →turn/end。除该下发外,step/end→turn/end之间无其它同步代码。agent/turn-stopping的唯一监听者是dsh-mnemon的MnemonAgentLifecycle.scheduleIdleReview(.../web/node_modules/dsh-mnemon/lib/index.js,agent/turn-stopping→scheduleIdleReview(turn))。这是 web 会话独有、CLI/headless 没有的组件。已否定(上一版结论的重要修正)
message.content.filter:agent.ts:430(runtimelib:690)与llm-deepseek/pi-ai的serializeMessages/context.ts。验证两失败会话的全部派生消息content均为数组,且BlockAssembler.blocks()经assembled()对envelope.blocks有守卫、必返数组。compaction(eventDelta的content.filter)未加载;dsh-hooks-codex/dsh-hooks-claude-code未加载;dsh-session.foldSurface、assembler均已守卫。dsh-mnemon同步路径(completedToolActivity/reviewActivity/scoreReviewActivity)用真实事件复刻不抛;openvikingcapture.mjs的parts.filter(extractPartsFromPayload至少返回[])安全。诚实说明(待维护者补齐)
运行进程未开 Node inspector,无法非侵入 attach 抓 stack;且无 web 插件的 CLI/headless 不触发,复现依赖 web 专属插件。故未锁死到具体那一行
.filter,仅收敛到「agent/turn-stopping串行下发 +dsh-mnemon监听者是唯一候选热区」。dsh-v0.1.2-alpha.5→origin/master之间未发现针对本 bug 的修复。建议的修复方向
dsh-agent-loop/lib/index.js的turn()catch(约 577 行)把error.stack一并带进turn/endreason(或agent/error),即可稳定复现完整 stack。agent/turn-stopping监听者(尤其dsh-mnemon.scheduleIdleReview及其中对this.agent.session.events的访问)在 turn 收尾瞬间对某一undefined数组的.filter调用。复现用会话
session-0417531c-7316-4dd8-8988-35fe5a0f9ad6(deepseek-harness 工作区)All reactions