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
agent/error 事件在子代理的 agent 上确实触发。core.md 原文:"A step or turn errored. The machine reports a failure here even when the error has no in-turn position for a durable record."
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.
现象
子代理(subagent / teammate)在运行中遇到上游 provider 断线(连接中断、流空闲超时、持续 5xx 等)时,父代理收不到任何通知。
父代理侧观察到的状态,与「子代理正常跑完」和「子代理在等我回话」完全一致:
list_agents显示inactive,没有完成通知,也没有错误通知。复现
subagent-settlednotice;list_agents里该成员变成inactive。已确认的事实
agent/error事件在子代理的 agent 上确实触发。core.md 原文:"A step or turn errored. The machine reports a failure here even when the error has no in-turn position for a durable record."subagent-settlednotice(SubagentSettledMessageSource,form: 'notice',带summary)在断线路径上没有发出。AgentStatus只有'idle' | 'running',没有failed。agent/status的idle语义是 "no driver remains scheduled or active",因此无法区分「正常完成」「等待输入」「异常终止」。list_agents只展示running/inactive,同样无法区分。影响
父代理无法知道子代理是死了还是在等它,只能靠轮询任务板(任务仍
in_progress但成员inactive)来猜。在 Agent Teams 这类多代理编排里,这会导致父代理永久挂起等待,或者误判子代理仍在工作。期望
任选其一即可:
subagent-settlednotice(stopReason非completed,带diagnostic),让父代理能感知并处理。AgentStatus增加一个可观测的终态(如failed/errored),或让agent/status携带stopReason。list_agents能区分「inactive 且已结束」与「inactive 且等待中」。环境
@deepseek-ai/dsh-llm-pi-ai路由/reference/subsystems/core、/reference/subsystems/subagent、/reference/subsystems/llm-streaming附:临时绕过
目前只能靠插件在
agent/error上挂监听,用ctx.agents.isOwnedBy()或session.header.parentSession找到父代理,再parent.followup(...)注入一条通知。如果官方能直接补上转发,插件就不需要了。All reactions