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
自 0.13.7("Keep background subagents running until you stop them or the parent stops them")起,子代理的 idle / 总时长 watchdogs 被整体移除:sidecar.js 里 startWatchdogs() 已是空实现,注释标明 "Idle and duration watchdogs are withdrawn (D328). Stopping a delegate is the parent agent's TaskStop or the user's Stop, not a timer."
Problem / 问题
自 0.13.7("Keep background subagents running until you stop them or the parent stops them")起,子代理的 idle / 总时长 watchdogs 被整体移除:
sidecar.js里startWatchdogs()已是空实现,注释标明 "Idle and duration watchdogs are withdrawn (D328). Stopping a delegate is the parent agent's TaskStop or the user's Stop, not a timer."这对长任务是好事(不会被打断),但它把选择权也从用户手里拿走了:
SUBAGENT_IDLE_TIMEOUT、SUBAGENT_DURATION_TIMEOUT错误码、timed_out状态和 i18n 都还在,UI 也保留着 "Timed out" 文案——只是 runtime 不再触发,属于半成品状态。Proposed change / 期望改动
把 idle 超时改回可选,默认行为保持 0.13.7 之后的样子(不打断):
idleTimeoutSeconds/maxDurationSeconds未配置时 = 无限期(行为与现在完全一致);显式配置正整数才启用看门狗。这样既有"跑到底"的自由,也有"卡了自动止损"的选择。tool_execution_start与tool_execution_end之间暂停 idle(正在跑命令不算发呆);总时长含工具执行时间。超时返回timed_out+SUBAGENT_IDLE_TIMEOUT/SUBAGENT_DURATION_TIMEOUT,保留最新部分输出。Alternatives / 其他方案
Additional context / 补充信息
agent-runtime/sidecar.js—startWatchdogs()空实现(D328 撤回);armIdleTimer()/noteActivity()/timeout()/this.opts.definition.idleTimeoutSeconds ?? DEFAULT_SUBAGENT_IDLE_TIMEOUT_SECONDS (300)都还在,启用仅需接通watchdogsStarted与配置入口。