Skip to content

Releases: zhairy/dsh-agent-swarm

v3.1.5

Choose a tag to compare

@zhairy zhairy released this 27 Oct 04:20

dsh-agent-swarm v3.1.5

本版本修复任务进度图表在长任务中“前几个节点变色后不再更新”的问题:

  • 流程版本重协不再把未变节点全部重置;历史节点明确显示为历史跳过或阻塞,不自动重放。
  • 只读图表使用已提交任务版本核对委派记录,避免派生流程视图把所有节点误判为 unknown。
  • 同角色多个 ready 节点采用确定性绑定,减少无 nodeId 委派导致的流程图断链。
  • 任务仍有 ready/running 节点、在途委派或阻塞恢复时继续轮询,不再仅凭 accepted/incomplete 摘要冻结颜色。
  • 保留 v3.1.4 的进化治理、等待句柄、硬门禁和可恢复撤回边界。

验证:单元 1472 passed / 4 skipped,真实宿主集成 49 passed,类型检查和构建通过。真实桌面与 390px 浏览器回归见证据目录。

Canary 默认不启用;历史节点颜色变化不签发验收,最终完成仍需服务器 receipt 和当前证据门禁。

v3.1.4

Choose a tag to compare

@zhairy zhairy released this 27 Oct 03:59

dsh-agent-swarm v3.1.4

本版本完成三类修复:

  • 运行时停顿:工具进展指纹纳入规范化参数;真实用户恢复令牌保留到 turn end;历史不可读不再单独杀死版本一致的专家;真实在途委派、授权和 goal 使用持久化等待句柄,合法等待不计入重复命中。
  • 进化治理:在现有 ExperienceRepository 和分段状态上增加评测、release、shadow、单根 Canary、停止与受控撤回状态;冻结轨迹只回放决策,operational/evaluation token 分账。
  • 安全边界:布局升级到 4,旧 reader 拒绝接管;候选、评测和 Canary 不能自动绕过硬门禁、独立复核、权限或 receipt。

验证证据(发布时另行绑定 manifest 和 SHA256):

  • npm test:1467 passed,4 skipped。
  • npm run test:integration:49 passed。
  • npm run typecheck、npm run build:passed。
  • 真实 DSH 宿主:单实例 active/running,NRestarts=0,仅监听 127.0.0.1:3080。
  • 浏览器:桌面与 390×844 任务进度页通过,axe WCAG 2A/2AA 0 violations,无页面错误。
  • Jev 七项原始结果、桌面/窄屏截图和证据边界见发布证据目录。
  • Canary/撤回状态机与隔离测试通过;生产 Canary 默认不启用,必须有明确单 root/task 授权。

Canary 只针对明确选择的单一 root/task,默认不启用。validated、评测通过或 Canary 活跃都不等于任务验收批准;在途副作用未知时只读恢复并报告撤回未完成。

v3.1.3

Choose a tag to compare

@zhairy zhairy released this 26 Oct 07:39

✨ 新增功能

  • 百工设置按模型路由、专家执行、规划与审批、数学工具等分类展示,备用模型支持拖拽和键盘调整顺序。
  • 用户决定支持可追溯的询问、等待与恢复;等待答复时抑制无效续轮,晚到答复不会复活已停止或替换的目标。
  • 任务验收增加服务端凭证,绑定当前需求、流程、产物和证据;任务进度页可查看等待与运行守卫状态。

🐛 问题修复

  • 修复订阅模型池耗尽、回退预检期间人工切换模型时,本轮提前结束或旧错误污染新路由的问题。
  • 修复连续专家旧轮收尾可能撤销新轮身份的问题;失效会话会在请求模型前给出准确的安全继续入口。
  • 修复重复规划与无进展续轮持续空转的问题,保留真实工作等待与正常多专家协作。

🎨 体验优化

  • 设置页保留跨分类草稿与未管理配置,优化窄屏布局;备用链禁止跨专家误拖动。
  • 持久化故障时保留只读诊断,历史验收与当前完成凭证明确区分。

⚠️ 其他变更

  • 旧状态经校验迁移到新的守卫存储格式;旧版不能直接接管新版安全状态。
  • 完成守卫覆盖百工验收与受管理的目标工具入口;原生 SDK/Remote 直接完成目标不属于该覆盖范围。

v3.1.2

Choose a tag to compare

@zhairy zhairy released this 24 Oct 20:24

✨ 新增功能

  • 新增原生「任务进度」选项卡,集中查看执行前编排、工作流、委派架构、记录时序、合同与证据流、生命周期六种视角,支持任务选择和节点详情。
  • 支持登记技能/工具候选的来源、版本、权限需求、拟测试与回滚信息;候选保持隔离,不会自动执行或装载。

🐛 问题修复

  • 修复长会话历史卡片持续轮询、占满缓存后当前任务无法读取的问题。
  • 修复旧版本「已完成」响应覆盖新目录版本、导致进度停止刷新的问题。
  • 修复冷打开已加载的百工根会话时,需要先调用模型才能恢复任务目录的问题。
  • 修复桌面节点按钮被会话宽度拖拽热区截获点击的问题。

🎨 体验优化

  • 图表优先展示,合同与规划审核按需展开;六种视角只绘制当前选中图,保留缩放、源码与快照导出。
  • 聊天与任务页共享读取;异常保留最近正确快照并标明过期,切换任务或连接时丢弃迟到响应,关闭视图不停止长期任务。
  • 普通会话与受限子会话显示安全空态,不自动读取父任务。

⚙️ 兼容与后续

  • 适配 DSH 0.2.1-rc.3 的原生视图与「更多」菜单,保留 rc.2 回归和 v1 状态读取兼容。

3.1.1

Choose a tag to compare

@zhairy zhairy released this 23 Oct 16:46

v3.1.1

🐛 问题修复

  • 修复独立规划审核会话不显示模型的问题,按宿主实际请求展示供应商、模型与推理等级。
  • 为一次性审核补充下一请求模型选择;连续子会话继续通过取消、确认停止和安全继续切换,避免重复执行已有操作。
  • 修复任务改版后旧上下文引用只能报错的问题,返回当前授权材料索引,保留版本、摘要和盲审隔离。
  • 补齐 3.1.0/3.1.1 内存态维护交接的版本兼容,受限交接可保留任务、材料引用和预算;未结算工作继续要求恢复核对。
  • 改善搜索原始输出超限和 DeepSeek Fetch 404 的反馈,给出缩小检索范围及调整抓取后端的明确步骤,避免原样重试。

🎨 体验优化

  • 文件发现支持工作区相对子目录,有界扫描与分页明确标注未覆盖范围。
  • 已验证经验的适用条件参与检索,帮助后续任务找到相关经验。
  • 天枢需要人工授权时通过询问工具提供选择,等待期间不以自问自答代替用户决定。

⚠️ 后续规划

  • 自我进化分为 3.1.1 上下文经验、3.1.2 技能工具、3.1.3 工作流路由与反空转、3.1.4 治理与 Canary。语义停滞不会替代验收,强制安全审核不会被自动裁剪。

3.1.0

Choose a tag to compare

@zhairy zhairy released this 22 Oct 17:51

dsh-agent-swarm v3.1.0

🐛 问题修复

  • 修复 GitHub Issue #1:长会话或分页加载的事件窗口缺少 request/header 时,swarm-model-call 的 start() 不再返回 undefined。隐藏占位继承上一状态,渲染层丢弃该节点,宿主事件订阅器不会在“调用模型”处中断;后续消息可以继续显示。
  • 隐藏占位不会让下一条实际调用误报“切换模型”;普通会话的 assistant/attempt 同样不会再中断事件流。
  • DeepSeek 的 The content[].thinking ... must be passed back 错误归类为 protocol_incompatible。当前请求立即回退,故障路由被隔离,避免同一会话反复命中不兼容模型。

🎨 体验优化

  • swarm_status 新增 blockedRecovery:根据真实失败、规划状态、检查点、未满足门禁和验收缺口,区分协议不兼容、路由耗尽、规划服务故障、连续无进展、缺门禁与验证缺口,并给出推荐角色、证据和下一步。
  • 天枢在任务受阻或宿主报告本轮失败时先读取 blockedRecovery 与 recovery.current.lastFailure;最多委派一次只读诊断或对应门禁角色,不通过重复改卡、重复评分或重放业务写入制造进展。
  • 失败提示新增 thinking 协议不兼容说明,明确需要切换兼容路由并保留任务状态。
  • 新增 DSH 原生 Agent Team 只读镜像(默认关闭):可查看成员、共享任务、实时状态、owner、依赖和写入范围,并打开成员会话;不创建成员、不修改共享任务,也不绕过百工门禁。

⚠️ 其他变更

  • 安装文档补充 pnpm 11 的本地 tarball 说明:使用 minimumReleaseAgeIgnoreMissingTime: true,只忽略缺少 registry 发布时间的本地包;minimumReleaseAgeExclude 只接受精确版本,不能写 semver range。
  • 新增 scripts/install-profile.mjs:校验 tarball 后解包到内容摘要目录并改用 link: 安装,完全不依赖 registry 元数据。
  • lib/client.js 明确标记为生成 bundle;事件投影拆到 client/model-events.js,React 展示层保留在 client/model-display.js。
  • 审核阈值、角色权限、执行门禁、证据要求和 DSH 兼容范围保持不变。

v3.0.0

Choose a tag to compare

@zhairy zhairy released this 21 Oct 09:06

dsh-agent-swarm v3.0.0

中文

本版重点修复长期任务中的模型路由恢复、必需工作流门禁、设置可见性、语言要求注入和后台作业租约核对,并精简用户文档及分发内容。

  • 有界路由恢复:健康当前路由不再被每步元数据预检阻断或降级;暂时性元数据网络故障进入既有隔离和等待流程。链尾退避从 5 秒起、封顶 60 秒,与断网等待共享每个逻辑请求的预算,默认 10 分钟,不是无限重试。
  • 工作流门禁:缺失的必需门禁、最终检查点和验收节点自动补齐;保留可保留的业务先后关系。非法 DAG 仍拒绝。默认 advisory 模式按需规划审核,enforced 模式保留启用后的自动审核。
  • 可视化设置:任务流程和规划审核设置可见,planningReview.timeoutMs 默认 0,正整数设置插件层面的单轮毫秒上限,非法值拒绝。
  • 语言与工程纪律:13 个角色预设使用语言占位符,按实时设置和模型切换重新组装;要求最小充分实现、避免过度工程化,同时保留安全、异常处理和可执行验证。
  • 专家会话与租约:自动恢复和人工暂停分开;后台作业没有确认结束时,不因会话 idle/end 通知直接释放写入租约。
  • 分发清理:双语 README;保留安装、使用、角色、任务流程与验证、升级回退五篇用户文档。公开源码树不包含测试、PRD、内部规划/审计证据或运行数据。

验证与边界

全量类型检查、构建、1263 项单元测试及 42 项集成测试通过。发布包经过普通安装、四个服务器入口导入和本机 DSH 0.2.1-rc.2 隔离实例验证。详细结果与已知边界见附件 release-manifest.json;完整发布说明见 RELEASE-NOTES.zh-CN.md。

真实宿主冒烟报告 T7 整体为 FAIL(7 项中 6 项通过):真实回复、建卡、读取、委派与 accepted 均有工具记录,但 advisory 模式下工作流节点角色与委派角色不一致,分析节点仍为 ready。旧失败原样保留;独立裁定确认这属于 advisory 合同下的角色不匹配,而非已证实的源码缺陷。随后 T8 角色匹配正例通过:analysis/tan_wei、attempt 绑定、analysis/checkpoint/accept 三节点 succeeded、验收 accepted,且为只读运行。两项证据同时保留,不表示全节点或全部证据全绿。Jev 辅助结果混合,不作为发布批准。

语言实测只覆盖同一 DeepSeek Flash 模型的两条 provider 路由,不代表跨模型家族覆盖;语言指令不能保证所有模型的可见推理都遵从。advisory 模式的 accepted 不等于所有节点或证据全绿。Jev 判断是辅助证据,不是正确率或独立的发布批准。租约只覆盖宿主登记的作业,不提供操作系统级隔离。本发布不表示已升级现有正式 DSH 实例。

发布后验证

发布后,本机正式 DSH 0.2.1-rc.2 已升级到 3.0.0 并完成最小真实测试:百工模式创建 analysis/tan_wei 任务卡,探微只读安装包 README,检查点与验收 accepted 均写入生产账本;中文回复在模型切换后仍为中文;设置页可见版本、单轮审核总等待上限(默认 0)、流程控制模式与默认交付语言。测试期间根模型因一次 SERVER 失败回退到 Claude Opus 5.5,随后恢复 DeepSeek Flash;探微实际路由 mimo-v2.6-flash,均未使用 V4 Pro。生产账本未暴露 attemptId,该绑定由同构建的隔离 T8 证据覆盖。附件 manifest 的 production 字段记录的是发布时状态(当时尚未升级本机实例)。

安装

下载下方 dsh-agent-swarm.tgz,在确认没有运行任务后执行:

dsh plugin add ./dsh-agent-swarm.tgz

包为预构建运行时分发,不是源码构建或测试环境。升级与回退步骤请参阅仓库用户文档。


English

This release improves long-running task recovery, required workflow gates, visible settings, language instruction injection, and background-job lease reconciliation, while simplifying user documentation and distribution scope.

  • Bounded route recovery: healthy current routes are no longer blocked or downgraded by per-step metadata prechecks. Transient metadata network failures use existing isolation and admission waiting. Chain-end backoff starts at 5 seconds and caps at 60 seconds, sharing each logical request's network-wait budget—10 minutes by default. Retries are not unlimited.
  • Workflow gates: missing required gates, a final checkpoint and acceptance are added while preserving compatible business ordering. Invalid DAGs remain rejected. Default advisory mode reviews plans on demand; enforced mode retains automatic review when enabled.
  • Visible settings: workflow and planning-review controls expose planningReview.timeoutMs. The default 0 removes the plugin-level limit for one round; positive integers set a millisecond limit, and invalid values are rejected.
  • Language and engineering discipline: all 13 presets use language placeholders rebuilt from live settings and after model switches. Shared instructions require the smallest sufficient implementation without removing security, error handling or executable verification.
  • Expert sessions and leases: automatic recovery is distinct from a manual pause. An idle/end notification does not release a write lease while registered background work remains unconfirmed.
  • Distribution cleanup: bilingual README and five focused user guides. The public source tree excludes tests, PRDs, internal planning/audit evidence and runtime data.

Verification and limits

Full type checking, builds, 1263 unit tests and 42 integration tests passed. The package was checked through ordinary installation, all four server exports and an isolated instance of the locally installed DSH 0.2.1-rc.2. See release-manifest.json for detailed results and limits, and RELEASE-NOTES.en.md for the full notes.

The real-host smoke report T7 is FAIL overall (6 of 7 checks passed): real replies, task-card creation, reads, delegation and acceptance are backed by tool records, but in advisory mode the workflow node role differs from the delegated role and the analysis node remains ready. That failure is preserved unmodified; independent adjudication found it to be an advisory-contract role mismatch, not a proven source defect. A subsequent T8 role-matched positive then passed: analysis/tan_wei, attempt binding, analysis/checkpoint/accept all succeeded and acceptance was accepted, in a read-only run. Both results are retained; this is not a claim that every node or evidence item is green. Jev results are mixed auxiliary evidence, not release approval.

Live language checks cover the same DeepSeek Flash model on two providers, not different model families. Injected instructions do not guarantee compliance by visible reasoning. Advisory acceptance does not establish that every node or evidence item is green. Jev judgments are auxiliary evidence, not correctness probabilities or independent release authorization. Leases cover registered host jobs and are not OS-level isolation. Publishing this release does not imply an upgrade of an existing production DSH instance.

Post-release validation

After publication, the locally installed production DSH 0.2.1-rc.2 was upgraded to 3.0.0 and passed a minimal real test: a Baigong task card with analysis/tan_wei, a Tanwei read-only pass over the installed README, and checkpoint plus acceptance accepted were written to the production ledger. Chinese replies remained Chinese after a model switch, and the settings page exposed the version, the per-round planning-review timeout (default 0), the workflow mode and the default delivery language. During the test the root model failed over from DeepSeek to Claude Opus 5.5 on a SERVER error and later recovered; Tanwei actually used mimo-v2.6-flash. Neither was V4 Pro. The production ledger does not expose attemptId; that binding is covered by the isolated T8 evidence on the same build. The manifest's production field is a release-time snapshot, taken before this local upgrade.

Installation

Download dsh-agent-swarm.tgz below and, after confirming that no tasks are running, execute:

dsh plugin add ./dsh-agent-swarm.tgz

This is a prebuilt runtime package, not a source-build or test environment. Consult the user documentation for upgrade and rollback procedures.

2.9.3

Choose a tag to compare

@zhairy zhairy released this 19 Oct 01:29

2.9.3

🐛 问题修复

  • 规划审核不再因默认 180 秒总时长到期而中断仍在工作的审核模型;复杂任务可以继续完成审查。用户取消、宿主停止、任务版本变化后返回的结果仍会被拒绝,不会用于放行执行。
  • 用户在异步问答中选择的确认与选项会随任务状态保存;历史压缩后仍可作为当前需求依据。已取消、调用身份不匹配或结构无效的问答不会被当作授权。
  • 上下文材料单页请求超过上限时自动按有效页大小返回,并给出实际大小和下一游标,不再因请求 10000 等较大页而直接失败。
  • 已返回但结构或引用校验不合格的规划审核会显示最多 12 条具体发现,不再被误报为审核服务故障,也不会触发同义重复审核。
  • 任务卡和状态返回真实的 workflowMode;规划恢复提示会区分建议模式与强制模式,避免把建议审核描述成宿主硬拦截。

🎨 体验优化

  • swarm_status 增加进行中规划审核的阶段、耗时、模型路由和审核子会话标识,便于区分模型工作、服务等待与通道故障。该信息只用于诊断,不构成批准。
  • 规划恢复提示按服务不可用、语义未通过、结构不合格和已通过分别给出下一步,减少重复改卡与重复评分。

⚠️ 其他变更

  • planningReview.timeoutMs 默认值由 180000 调整为 0。0 表示不设插件总时长上限;仍可在「设置 → 百工 Agent」填写正整数毫秒保留显式上限,非法值会被拒绝。
  • 审核阈值、角色权限、执行门禁和证据要求保持不变;升级不会让旧版本下的批准自动复用到新合同。

2.9.2

Choose a tag to compare

@zhairy zhairy released this 18 Oct 10:50

🐛 问题修复

  • 修复新宿主下专家缺少授权上下文、文件发现和计算工具的问题,恢复长期任务按需读取材料的能力;跨任务隔离保持有效。
  • 修复默认流程缺少具体交付描述、审核引用不明确及输出字段互相影响的问题,减少合法任务的格式拒绝。
  • 区分完整任务与阶段任务的审核条件,避免只读任务被要求增加代码实现或无关延期清单。
  • 修复规划审核未绑定题目版本的问题,旧批准不会继续用于新规则下的执行和验收。
  • 修复长期任务在同一负结论下反复评分的空转;直接展示阻塞维度,修正实质合同后重新审核。
  • 为规划模型等待增加截止和取消处理,阻止迟到结果放行,并回收挂起审核的执行权限。
  • 修复一次到达多条补充需求时只读取最后一条的问题;纯“继续”不再反复重置规划。

🎨 体验优化

  • 新增阶段合同,明确本次交付、延期事项和拆分理由,维护子任务可按阶段审核;阶段验收明确标注当前阶段范围,并列出仍待完成的延期事项。
  • 减少审核输入中重复的需求原文,超出单次传输保护时给出明确诊断。
  • 默认 Jev 模型更新为 jev-1.14.0;保留用户显式选型。

⚠️ 其他变更

  • 预构建包校验覆盖所有插件导出入口,避免专家入口等新增模块遗漏。
  • 升级后已有规划需按新版题目重新审核,原有执行门禁继续有效。
  • 支持维护者受控保全 2.9.0 / 2.9.2 内存任务的一次性交接;普通内存模式仍不等于持久化存储。

2.9.0

Choose a tag to compare

@zhairy zhairy released this 17 Oct 15:44

✨ 新增功能

  • 支持 DSH 0.2.1-rc.2:engines.dsh 保持 >=0.2.0-rc.2 <0.3.0,testedVersions 更新为 0.2.1-rc.2 / 0.2.1-alpha.4 / 0.2.0-rc.2。三个宿主版本各跑完整集成套件(8 文件 / 39 用例)全部通过,插件代码无需修改。

🔍 与 0.2.1-rc.1 / rc.2 变更的逐项核对

rc.1 / rc.2 变更 插件影响 处理
DeepSeek-V4.1-Flash-1017 上线 模型目录由服务端下发(llm-deepseek-account 启动时拉取),插件路由只引用模型 id 无需改动;新模版随账号自动可见
DeepSeek Search 与 Fetch API 插件的外网取证走宿主 web 搜索/抓取 无需改动;沿用宿主能力,不另建客户端
移除运行时 invariant 插件与 ./invariant 导出 检索到 invariant 仅是 Jev 判据名与 contracts 的业务字段 不依赖,无需改动
输入区统计扩展拆成 activity / usage 插件注册的是 conversation.chat.node 与 conversation.session.header.actions 不受影响
移除工具展示 both 混合模式 全仓无 both 模式引用 不受影响
子路径插件不再读取独立 package.json 插件为单入口(./client 由根 package.json 导出) 不受影响
子智能体可配置独立 Agent Preset / 统一执行与完成通知 插件自 2.5.2 起已用 agentPreset 与双协议子智能体 集成测试覆盖
自定义模型 API 可在 UI 配置推理等级 插件路由槽支持 reasoningEffort,显示行在宿主未回报时显示「未报告」 保持诚实缺省,不猜测

⚠️ 其他变更

  • 本机 DSH 已由 0.2.1-alpha.4 升级到 0.2.1-rc.2;升级前备份了 profile 与旧版包(~/.dsh/backups/dsh-0.2.1a4-pre-rc2-*)。
  • 升级后 dsh-web.service 启动正常;swarm.jevHealth / swarm.jevStatus / swarm.quotaView 三个真实宿主 RPC 均返回 200。

🧪 验证

  • npm run typecheck 通过;npx vitest run → 82 文件 964 用例通过。
  • 双宿主集成扩展为三宿主:0.2.1-rc.2、0.2.1-alpha.4、0.2.0-rc.2 各 8 文件 39 用例通过。
  • 本机真实部署:rc.2 下服务 active,三个 RPC 200。

⚠️ 已知边界

  • 0.2.1-rc.1 / rc.2 的实验性 Session 状态记录接口本轮未接入:插件继续使用自有的按段快照与日志存储,状态语义不变。
  • 0.2.1-rc.2 的 DeepSeek Search / Fetch 由宿主配置控制;插件不越过宿主设置自行启用。
  • 本轮没有针对 rc.2 新增的 UI 扩展位做适配,插件的图表与设置页沿用既有挂载点(集成测试与真实页面均正常)。