Skip to content

v1.5.0 会话级并发控制 + 工具渲染契约修复

Choose a tag to compare

@fu827707013 fu827707013 released this 01 Sep 05:58
· 7 commits to main since this release

DSH(DeepSeek Harness)并发请求监控与门闩插件。挂钩 DSH 唯一的模型请求总线 llm/stream,统计全部在途模型请求(主会话/子代理/插件/压缩/标题),并发到达上限后 FIFO 排队,从根上防止并发超限被供应商/中继锁号(429 / 风控封禁)。已发布 npm:npm i dsh-concurrency-guard

v1.5.0 新特性:会话级并发控制

  • 在线活跃会话实时设置并发数:面板「会话并发」页签 / POST /api/concurrency-guard/sessions / ctx.concurrencyGuard.setSessionLimit() / 工具 concurrency_session_set 四通道热改,无需重启,随 state.json 持久化
  • 按顶层会话聚合:请求经 header.parentSession 父链归并到根会话(rootId)——限「对话 A」= 主循环 + 全部子代理 + 压缩/标题共用同一把会话锁
  • 两道门:会话门(按 rootId 聚合的独立 FIFO,cap=0=暂停)→ 全局门,固定获取顺序无死锁
  • 会话标识三行:标题 + 短会话 id + 工作区目录
  • 辅助请求(压缩/标题)默认豁免会话门

修复

  • 工具 render 契约(ContentBlock[])与 JSON 序列化安全修复:dsh 要求插件工具 output.render 返回 ContentBlock[] 块数组,此前裸对象/字符串会导致会话历史 tool-result 块崩溃(history unavailable)
  • concurrency_session_set 执行报 getApi is not defined:registerTool 补 getApi 参数
  • 会话门计数跨天归档/重启接续丢失修复

此前核心能力

  • FIFO 门闩(默认 mode=queue, maxConcurrency=5,排队超时 fail-open)
  • 来源分类(main/subagent/plugin/compaction/session-title)
  • 持久化统计(按天汇总 + 异常分类聚合 + 异常明细双报表,重启不丢)
  • 回合中断检测(弃流/停滞/遗留三路兜底)
  • WebUI「并发监控」页签 + HTTP JSON 端点 + 状态文件 + concurrency_status 工具
  • 零构建链、零依赖、MIT