Skip to content

Releases: ccsert/dsh-subagent-hub

Subagent Hub v0.11.2

Choose a tag to compare

@ccsert ccsert released this 28 Oct 05:51

Model badge shows the model name

The configuration page labelled a model with its catalog name, while the child header chip concatenated the provider with the tail of the wire model id. The same route read Qwen3.8-Flash · Qoder CN in Settings and magpie-anthropic · qfmodel in a child conversation. DSH's modelSelection projection carries only provider, model, and reasoning effort, so the client had no name to display.

0.11.2 resolves the name from the same Host model catalog the configuration page reads, paired on provider and model:

  • A route the catalog does not advertise keeps the previous provider · id tail, so no name is invented.
  • The catalog is read at most once per client runtime, and only when a recorded route or the overview exists. A refused, failed, empty, or absent read degrades to raw ids instead of blocking or hiding the badge.
  • The details panel and a planned route in the agent overview keep the exact provider and model id as evidence, and search matches both.
  • The summary, its accessible name, and the status announcement now agree.

Loading the fix

The client bundle is injected when the page loads. Reload the Desktop window after updating the package; if the runtime still serves the older module, restart Harness. Backend behavior is unchanged, so no profile migration is involved.

Why the plugin is shaped this way

The documentation now states the intent users ask about: the plugin is not about running more agents, it is about spending the expensive model only where it cannot be replaced. A lead on a strong model plans, reviews, and integrates; implementation, tests, and evidence gathering go to routes tagged free / cheap.

Three settings carry the pattern, each backed by a mechanism: route tags and notes feed the model catalog section of the system prompt, a named role's routes is a hard boundary enforced before dispatch, and manageOfficialSettings with a non-empty route list is what makes the official tool expose provider / model.

The boundary that decides whether it works at all is documented too: Team members inherit the Lead model, so spawn_teammate saves nothing; only a subagent tool that exposes provider / model can carry a child onto a cheap route. The plugin verifies no price, estimates no cost, and implements no fallback, and splitting a small task costs more than it saves.

Verification

145 unit tests, 33 isolated runtime assertions, and the installed-Desktop native list-slot regression, which now also covers the named path through the real consumer. docs:check and pack:check pass. Integration tests use scripted model streams and make no external model calls.

Verify the download in the same directory:

shasum -a 256 -c dsh-subagent-hub-0.11.2.tgz.sha256

Subagent Hub v0.11.1

Choose a tag to compare

@ccsert ccsert released this 26 Oct 02:10
  • 会话模型白名单与配置不同步的问题被显式处理:插件读实时配置,原生层用 Session 创建时的快照。守卫先按该 Session 的快照判断,因此不会再把调用放进一个必然被原生层拒绝的路径。
  • 每条拒绝都写明是哪一层拒绝(layer 1/2 实时配置 / layer 2/2 会话快照 / 具名 agent 限制),并列出该层实际允许的路由;两层不一致时说明差异与“需要新会话”。
  • 运行时上下文在该 Session 使用旧快照时提示快照内容、当前配置以及只有新会话可用的路由,避免反复重试同一拒绝。两层一致时不增加任何 prompt 文本。
  • 具名预设声明的路由不在新会话将会采用的白名单内时,改在预设注册期报出:写 warn 日志,并在设置页具名 agent 面板列出涉及的路由与白名单内容;不再等到调用时才拒绝。
  • 保存涉及路由或预设的改动后,提示“路由变更从新会话起生效;已打开的会话沿用创建时的白名单”。
  • 验证:139 项单测、33 项隔离运行时断言和已安装 Desktop 原生插槽回归;运行时断言新增一项,证明真实 Host 中确实能读到 Session 记录的白名单且与配置一致。

Subagent Hub v0.11.0

Choose a tag to compare

@ccsert ccsert released this 25 Oct 06:22
  • 在 Desktop 原生会话标题栏增加子智能体总览,合并独立子任务和 Team 成员,提供搜索、筛选、排序、证据详情和原生会话导航。
  • 展示最近请求模型、独立列出的下次计划、累计执行耗时与注明覆盖范围的 Token;Team 空闲不冒充完成,未知用量不记为零。
  • 增加共享任务板、依赖和写入警告、投影异常与刷新失败诊断;刷新只读、最多四个并发,并在关闭后停止调度新读取。
  • 新增原生持久投影,重建最近 64 条已识别 Hub 派发拒绝及计数,兼容当前 SDK 的工具结果文本格式。
  • 总览改为可选:新增 showAgentOverview(默认关闭),在基础设置中切换并保存后实时显示/隐藏,关闭时卸载面板与订阅。入口采用与官方 Team 一致的无边框、语义色、图标和紧凑布局。
  • 修复:Harness 未重启、仍运行旧 schema 时,保存会因未知字段 showAgentOverview 被整体拒绝,并误报“其他页面已更新”。现在仅在 Host 已识别该字段时写入,开关禁用并提示重启;拒绝时区分版本冲突与其他原因。
  • 子会话模型标识改用官方标题栏控件样式:无边框、三级标签色、线性芯片图标与 SVG 展开箭头;详情浮层改用官方菜单底色、12px 圆角与 prominent 阴影。
  • 总览面板改用官方 Team 面板的视觉语言:菜单毛玻璃底、prominent 阴影、无外框幽灵按钮、0.5px 描边卡片与胶囊状态标签;标题固定、内容独立滚动,按压反馈尊重减少动态效果设置。
  • 新增插件图标 icon.svg(清单 icon 字段),沿用官方插件的 36×36 透明底渐变扁平风格。
  • 验证:120 项单测、32 项隔离运行时断言和已安装 Desktop 原生插槽回归;浏览器组件交互覆盖中英文、导航/读取失败、键盘和窄窗口,以及设置实时切换和打开面板时的卸载清理。发布截图(模型标识、窄屏、总览、完整配置页)已从实际组件重新捕获。实际 Desktop 窗口尚未直接点击验收。

Subagent Hub v0.10.3 — Fix Desktop model badge

Choose a tag to compare

@ccsert ccsert released this 24 Oct 16:53

Fix the missing model badge in DSH Desktop

The Hub supplied a keyed-slot key when registering the model badge in conversation.session.header.utilities. This is a list slot, and the actual Desktop renderer rejects it with requires options.id. The contribution never registered, so opening a child conversation could not show the badge.

0.10.3 changes that registration to id: subagent-hub-model. The unit and component-fixture adapters now enforce the list identity contract. A new native-consumer gate reads the registrar from the installed DSH Desktop ASAR (or installed SDK fallback), proves the old option is rejected, then checks accepted registration, rendered MiniMax request information, and contribution cleanup.

Loading the fix

Reload the Desktop window through View → Reload (⌘R on macOS) after the updated client module is available. For a linked development installation the source already contains the fix. If the runtime still serves an older module, reopen Desktop after current tasks finish.

⌘⇧R is the application's Harness restart action; it is different from reloading the current window. The change in this patch is in client registration only. Earlier backend route-guard upgrade instructions still apply when upgrading from a release before 0.10.2.

Validation

  • 102 unit tests and 31 isolated native-runtime assertions passed.
  • The actual installed Desktop registrar reproduced the old failure and accepted the fix; the registered component rendered the expected model record.
  • Documentation, archive checks, and CI passed: https://github.com/ccsert/dsh-subagent-hub/actions/runs/40113349752
  • No external model calls, profile edits, or restart of the user's Desktop.
  • These checks are distinct from visual confirmation after reloading the user's current window; the component demo is not presented as a screenshot of that window.

中文挂载修复与验证边界

Archive: dsh-subagent-hub-0.10.3.tgz — 46,659 bytes, 15 files.
SHA-256: 5712eac3bdbec911608bb5f107202252d3535c9b24af2ff802b83a6411332745.

Subagent Hub v0.10.2 — Guard inherited child models

Choose a tag to compare

@ccsert ccsert released this 24 Oct 14:33

Inherited child models now respect the configured routes

Previously, spawn_teammate and generic forks could bypass the named-preset guard and inherit a parent model outside the Hub child route list. With a Codex Lead, a task intended for MiniMax could therefore create a Codex child instead.

0.10.2 checks the configured global routes before subagent, subagent_fork, or spawn_teammate creates a child, then retains the additional named-agent route constraints. It reads the actual tool schema: unsupported model arguments cannot disguise inheritance, and unknown or invalid routes are refused before creation.

The supported native Team tool still has no provider/model selector. Both fresh and fork inherit the Lead model; context selects history. For a specific child model, use subagent when its actual schema exposes provider/model. The updated catalog explains these limits and also appears in Team-only sessions.

Upgrade

Restart DSH after replacing the plugin code, then start a new conversation for refreshed tool parameters. Existing Team members retain their model; this creation guard does not retarget them or intercept later request rewrites by other plugins. Team capacity remains managed by the native runtime.

完整 Team / MiniMax 说明

Verified

  • 102 unit tests passed, including the original Codex/MiniMax Host-hook reproduction.
  • 31 native runtime assertions passed: 23 independent-dispatch checks and 8 Team/inheritance checks.
  • Native requests confirmed fresh/fork inheritance, allowed routes, and zero members or child sessions from rejected Team calls; a model-less independent fork was also rejected.
  • All model streams were scripted in isolated temporary profiles; no external model calls or user-profile changes.
  • Documentation and archive checks passed; CI: https://github.com/ccsert/dsh-subagent-hub/actions/runs/40102705291
  • Tested with DSH Desktop 0.12.1 / @deepseek-ai/dsh 0.2.1-rc.2.

Archive: dsh-subagent-hub-0.10.2.tgz — 46,571 bytes, 15 files.
SHA-256: 9e2894cb5066373a8a98761691123b8e4a63547468b20c5cca63e941500f9d85.

Subagent Hub v0.10.1

Choose a tag to compare

@ccsert ccsert released this 24 Oct 09:55

Subagent Hub v0.10.1

为官方 DeepSeek Harness 子 agent 提供具名角色、模型选择目录、派发前路由约束和最近请求模型展示。这是带可安装归档的 GitHub Release。

本次整理

  • 完整的中文 / English README、安装升级说明、最小配置、贡献指南和发布流程。
  • 通过 dsh-image-gen 的 ChatGPT 订阅 Studio 生成项目 Hero,保留提示词和生成记录。
  • 实际组件的配置页、角色编辑器、子会话模型标识及 320px 截图;演示数据来源有明确说明。
  • MIT 许可证、完整包元数据、归档白名单检查、文档链接检查和 GitHub CI。
  • 校正路由顺序与关闭托管的提示文案;派发与模型行为保持不变。

安装

  1. 下载 Assets 中的 dsh-subagent-hub-0.10.1.tgz 和对应 .sha256。
  2. 校验后,在目标 DSH profile 中执行 pnpm add /absolute/path/to/dsh-subagent-hub-0.10.1.tgz。
  3. 向该 profile 的 dsh.profile.bundles 追加 "dsh-subagent-hub",保留现有条目,重启 DSH。
  4. 打开 设置 → 子代理中枢,选择已配置的模型并创建角色。需要同步官方 allowlist 时开启托管;新增角色在新会话中使用。

完整安装指南 · 配置示例 · 截图与素材来源

验证

  • 87 / 87 单元测试、23 / 23 真实运行时断言通过;集成测试使用临时 profile 和脚本化模型流,不调用外部模型。
  • 13 份 Markdown、98 个本地链接、README 图片和许可证一致性检查通过。
  • 实际归档 15 个文件、44,655 bytes;只包含 runtime、locale、bundle patch、包说明、元数据与许可证。
  • GitHub CI 已通过,对应提交 ee7503418e48f9eaae9894259ec46a9cb13cb5d6。

SHA-256:

70e6009bfec8fd6a3eb0356bb33345401e5cfba541feb7fe7ff3889722e44890  dsh-subagent-hub-0.10.1.tgz

兼容与边界

已验证 DSH Desktop 0.12.1 / @deepseek-ai/dsh 0.2.1-rc.2。标签辅助主 agent 决策,角色 routes 在派发前约束路由;其他插件后续改写模型不在该守卫覆盖范围内。模型标识显示最近请求记录,不代表计费或调用成功。

当前通过 GitHub Release 归档分发,npm registry 首次发布尚未执行。Release 的访问范围沿用仓库可见性。