wyStars/dsh-parallel-pool

wyStars★ 0JavaScript最后同步: 2026-08-21

在 GitHub 打开

动态滚动窗口子代理任务池:一次调用跑完整批独立任务,内部滚动补位

README 摘要

dsh-parallel-pool — 动态滚动窗口子代理任务池 把"整批独立任务"一次交给任务池, 主对话不阻塞 :后台运行时滚动窗口补位 (任何子代理一结束立刻派发下一任务,不等整轮),全批结算后完整结果与时间线 作为会话消息自动投递、唤醒主对话。 用法(模型可见工具) - 后台模式(默认) :立即返回 {kind:'background', jobId} (毫秒级),池在 后台滚动调度;全批结算后完整结果(含每任务 startedAt/endedAt 时间线)作为 会话消息投递。 job output 实时返回每任务进度与终态富文本(v0.3.0) ; job kill 中止批任务并投递部分结果。 - 前台模式(background: false) :等待整批完成,结果内联返回(仅建议 小批量快速任务)。 - 返回汇总: total/completed/failed/aborted/skipped 、总耗时、峰值并发、 rollingRefill (是否发生补位)、每任务结果与时间线。 - 系统提示引导:对 2+ 独立任务整批交给 parallel pool,而不是手动逐波派发 subagent(引导段 order 110,早于官方 tool-subagent 的 116.5)。 - 宽松校验(v0.3.0) : model / description 为空字符串视为未提供。 设计 - 工作器池(v0.4.0,性能优化) :持久子代理数 = 并发数而非任务数—— 每个 worker 串行处理任务(首任务随 startContinuable 创建派发,后续经 subagents.followup ),每任务一回合、 subagent/end 逐回合结算。 Web 会话回显与子代理目录的加载负载不再随任务数增长(实测:189 个子代理 → listChildren 13.6s,每冷子代理折叠 68ms;64 任务批次旧引擎产生 64 个 子会话,新引擎仅 maxConcurrency 个)。 - 健壮性(v0.5.0) : - taskTimeoutMs (默认 30min,0=不限):单任务超时 → interrupt 子代理 + 记 failed,防 worker 挂死导致整批永不结算; - maxRetries (默认 1,0..3):失败自动重试(换新子代理执行, retryDelayMs 默认 5s),覆盖瞬态故障(配额抖动/网络); - tasksPerWorker (默认 12):每 worker 处理任务数上限,到点退役换新, 防长批下上下文累积污染; - per-run 事件监听:只登记本池在途子代理的结算事件,随 run 注销零噪音。 - job readOutput(v0.3.0) :每任务结算即更新进度文本( N/M settled…

在 GitHub 查看完整 README →
工具/开发dsh-plugin

分类