{"_id":"@aaravarr/dsh-subagent-max","_rev":"5-1cbe4d2840f23d5ebb1a9bcf3c340a45","name":"@aaravarr/dsh-subagent-max","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@aaravarr/dsh-subagent-max","version":"0.1.0","license":"MIT","_id":"@aaravarr/dsh-subagent-max@0.1.0","maintainers":[{"name":"aaravarr","email":"ahao.study@gmail.com"}],"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-ui-primitives"],"platform":"web"}},"dist":{"shasum":"54923d045276fd54d476eea8d1c84ffc690a7f48","tarball":"https://registry.npmjs.org/@aaravarr/dsh-subagent-max/-/dsh-subagent-max-0.1.0.tgz","fileCount":6,"integrity":"sha512-QxuopEIPoFvbDte7luMbPNbK3IW6y5mNY64TpKGSpecc468yd1AMXAwyfQqYhKbc8LI/5GjX99/WZXt4cN8Ygg==","signatures":[{"sig":"MEYCIQCL81zC84tJXddiiVDq+73a2dms7qjEULbAWxp0GNXzUwIhAJlT/7/srLgOEfZchuYFHkdLB4bCdTJB0FrsCzq4TyeH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97156},"main":"lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"gitHead":"53bbce5454b970dd823099e42aee394ac269132a","_npmUser":{"name":"aaravarr","email":"ahao.study@gmail.com"},"_npmVersion":"10.8.2","description":"Subagent delegation with per-call model/provider override (host) + multi-panel live streaming subagent viewer (client)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.2.0"},"_hasShrinkwrap":false,"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-jobs":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-subagent":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-subagent-max_0.1.0_1786742508337_0.43702096215944364","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aaravarr/dsh-subagent-max","version":"0.1.1","license":"MIT","_id":"@aaravarr/dsh-subagent-max@0.1.1","maintainers":[{"name":"aaravarr","email":"ahao.study@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-primitives"],"platform":"web"}},"dist":{"shasum":"b53e18f90b3a2f8fa46fa6eb2ae0a20252d8bf4f","tarball":"https://registry.npmjs.org/@aaravarr/dsh-subagent-max/-/dsh-subagent-max-0.1.1.tgz","fileCount":7,"integrity":"sha512-Qk0IqbuEmhVIuJhGhUX8XDbpjnrs63XlY+E/ZxOH6uBLd+SCjX9IlF3oKuaEEQzkoLhSoFzicXVS57tOm/H6zA==","signatures":[{"sig":"MEQCIBZFUfbsMMjZK5R9BjhVYKml5xAAV8o5Sxb0yxve+AyRAiAzZSZUMyzgB65UUGWw7OiEBURu2Ss5X7WeHdQ8KLv5wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97878},"main":"lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"6c194e6f8cfa3112cdb19496fffa5169c0791d16","_npmUser":{"name":"aaravarr","email":"ahao.study@gmail.com"},"_npmVersion":"10.8.2","description":"Subagent delegation with per-call model/provider override (host) + multi-panel live streaming subagent viewer (client)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.2.0"},"_hasShrinkwrap":false,"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-jobs":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-subagent":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-subagent-max_0.1.1_1786745399359_0.2916603993596105","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aaravarr/dsh-subagent-max","version":"0.1.2","license":"MIT","_id":"@aaravarr/dsh-subagent-max@0.1.2","maintainers":[{"name":"aaravarr","email":"ahao.study@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-primitives"],"platform":"web"}},"dist":{"shasum":"79a48bbf9f9566a3389725baa29adef0fcae9121","tarball":"https://registry.npmjs.org/@aaravarr/dsh-subagent-max/-/dsh-subagent-max-0.1.2.tgz","fileCount":7,"integrity":"sha512-ljlrbd+wniDnnDwtxczLem9MdzovVCvtdZG8JwjTaB2KYA//qzljn+7+/FGjI7Qo29NEaBIRN5o+b8ywMSqaGQ==","signatures":[{"sig":"MEQCIAQc4RPSacjCjYYh3erTOPMAT3sjLTZae9k64oWEs3B9AiAwxtvoF79dnTErDDcfDbIsmunpWplxMM42WpCJRbGI0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101337},"main":"lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"85c40ed277cf8b1085e636a0b96caa97a3cdef4c","_npmUser":{"name":"aaravarr","email":"ahao.study@gmail.com"},"_npmVersion":"10.8.2","description":"Subagent delegation with per-call model/provider override (host) + multi-panel live streaming subagent viewer (client)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.2.0"},"_hasShrinkwrap":false,"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-jobs":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-subagent":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-subagent-max_0.1.2_1787198223548_0.7929248227689769","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aaravarr/dsh-subagent-max","version":"0.1.3","license":"MIT","_id":"@aaravarr/dsh-subagent-max@0.1.3","maintainers":[{"name":"aaravarr","email":"ahao.study@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-primitives"],"platform":"web"}},"dist":{"shasum":"db7c010b3dfea0958cb37936ff634045ea623ebb","tarball":"https://registry.npmjs.org/@aaravarr/dsh-subagent-max/-/dsh-subagent-max-0.1.3.tgz","fileCount":7,"integrity":"sha512-4geLCgW9ElQx1p3GggcwKbDNZEkd/aRV6rk0gLlovAk4uTw+hPou3JlqEedwW+CwXjAGZqOTuRRiQFzIgDdoLg==","signatures":[{"sig":"MEUCIBpU/y8KqjGyXWB5NzWMnOdO7DY5RmvBIY6bDr0Tjpd4AiEA1sxwetO8JJ1UL4FwaBXmQszLwzb3qU818j/Jn4MFJOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101914},"main":"lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"73f52ab440f4c5bcfe234c9ba57aae152f2c3210","_npmUser":{"name":"aaravarr","email":"ahao.study@gmail.com"},"_npmVersion":"10.8.2","description":"Subagent delegation with per-call model/provider override (host) + multi-panel live streaming subagent viewer (client)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.2.0"},"_hasShrinkwrap":false,"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-jobs":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-subagent":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-subagent-max_0.1.3_1787200284498_0.591515883867783","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aaravarr/dsh-subagent-max","version":"0.1.4","description":"Subagent delegation with per-call model/provider override (host) + multi-panel live streaming subagent viewer (client)","type":"module","main":"lib/index.js","exports":{".":"./lib/index.js","./client":"./lib/client.js","./cordis.patch.yml":"./cordis.patch.yml","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-ui-primitives"]}},"license":"MIT","dependencies":{"react":"^18.2.0"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-jobs":"^0.1.0-rc.6","@deepseek-ai/dsh-subagent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/schemastery":"^3.18.1"},"_id":"@aaravarr/dsh-subagent-max@0.1.4","gitHead":"88368b087d63147f449a285abe6284b8a9a8fc68","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-oMUlXqBUu+EvydvkIp0rFvUfwdf6irGXnovOpXaF4RAZek7cNjwFbHobCVjfPr/XhSGWx5iENtpK3Lc9AGZmQQ==","shasum":"1cdf1929b6312fecc87d2639c5adde198669c934","tarball":"https://registry.npmjs.org/@aaravarr/dsh-subagent-max/-/dsh-subagent-max-0.1.4.tgz","fileCount":7,"unpackedSize":102986,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEdySfi4jraDoa4wUIyypaWXmXykqStrfI1cgXBPwIAyAiEA9QnmiT5+Dc/c16o33jItvjG/7QXC9oRBza7eyjGrQFg="}]},"_npmUser":{"name":"aaravarr","email":"ahao.study@gmail.com"},"directories":{},"maintainers":[{"name":"aaravarr","email":"ahao.study@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-subagent-max_0.1.4_1787213690572_0.7367302507121445"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T21:21:47.958Z","modified":"2026-08-20T08:14:50.986Z","0.1.0":"2026-08-14T21:21:48.476Z","0.1.1":"2026-08-14T22:09:59.523Z","0.1.2":"2026-08-20T03:57:03.702Z","0.1.3":"2026-08-20T04:31:24.651Z","0.1.4":"2026-08-20T08:14:50.725Z"},"license":"MIT","description":"Subagent delegation with per-call model/provider override (host) + multi-panel live streaming subagent viewer (client)","maintainers":[{"name":"aaravarr","email":"ahao.study@gmail.com"}],"readme":"# dsh-subagent-max\n\n[English](README.md) | 中文\n\n[![npm](https://img.shields.io/npm/v/@aaravarr/dsh-subagent-max.svg?style=flat-square)](https://www.npmjs.com/package/@aaravarr/dsh-subagent-max)\n[![license](https://img.shields.io/npm/l/@aaravarr/dsh-subagent-max.svg?style=flat-square)](LICENSE)\n\n> [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/DeepSeek-Harness) 的多面板实时子代理查看器，附带一个支持按调用指定模型/供应商的 `subagent_with_model` 工具。\n\n## 截图\n\n**子代理 Tab** —— 按「活跃中 / 不活跃」分组、按最后活动时间排序的卡片网格。\n\n<img src=\"docs/subagents-tab.png\" alt=\"子代理 Tab\" width=\"720\">\n\n**浮动查看器弹窗** —— 可拖拽的实时面板，展示子代理的任务、推理（Think）、工具调用与文本输出。\n\n<img src=\"docs/viewer-panel.png\" alt=\"浮动查看器\" width=\"720\">\n\n双面插件：\n\n- **宿主侧**（`lib/index.js`）——Cordis 插件，注册 `subagent_with_model` 工具；它是 `ctx.subagents` 之上的薄壳，把 `model` / `provider` 转发进子代理的 `agentOptions`。\n- **客户端侧**（`lib/client.js`）——Web UI，把每个子代理渲染成可拖拽、可缩放的浮动弹窗，实时（逐 token）展示输出，并提供一个带卡片网格的 **子代理** 标签页。\n\n## 特性\n\n- **按调用覆盖模型/供应商** —— 委派子代理时显式指定其模型。\n- **自动选择供应商** —— 不传 provider 时，优先用父级 provider（若能服务目标模型），否则自动找携带该模型的 provider。\n- **多面板实时查看器** —— 同时打开多个子代理弹窗，每个都实时流式输出。\n- **丰富的块渲染** —— 任务块、推理（Think）块、带输入/输出的工具卡、流式流光、Markdown。\n- **子代理标签页** —— 卡片网格按「活跃中 / 不活跃」分组、按最后活动时间排序；展示模型、token、steps、上下文占比和相对更新时间。\n- **拖拽弹出** —— 把卡片拖到画布上，弹窗正好落在松手处（带幽灵框预览）。\n- **通知** —— 子代理开始或收到消息时，右上角弹出提示条。\n- **多语言** —— 中 / 英，可在 DSH 设置中切换。\n\n## 安装\n\n```sh\ndsh plugin --profile web add @aaravarr/dsh-subagent-max\n```\n\n或手动：把包放到 `<profile>/node_modules/@aaravarr/dsh-subagent-max/`，并在 `cordis.patch.yml` 里加上对应 entry（见 [配置](#配置)）。\n\n## 配置\n\n```yaml\n- insert:\n    - id: dsh-subagent-max\n      name: '@aaravarr/dsh-subagent-max'\n      config:\n        subagentProvider: spawn        # spawn | fork | acp\n        toolName: subagent_with_model\n        backgroundMode: continuable    # one-shot | continuable\n        maxDepth: 3\n```\n\n| 字段 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `subagentProvider` | string | `spawn` | 子代理传输 provider。 |\n| `toolName` | string | `subagent_with_model` | 面向模型的工具名；必须在已加载工具中唯一。 |\n| `backgroundMode` | string | `one-shot` | `continuable` 返回持久化子代理 id；`one-shot` 前台运行。 |\n| `maxDepth` | number | `3` | 子代理的绝对委派深度上限（`0` 禁止继续委派）。 |\n\n## 使用\n\n让模型带显式模型去委派：\n\n> 用 `deepseek-v4-flash` 起一个子代理，帮我看看这个仓库的测试覆盖情况。\n\n工具参数：\n\n| 参数 | 类型 | 必填 | 说明 |\n| --- | --- | --- | --- |\n| `model` | string | 是 | 子代理模型 id（如 `deepseek-v4-pro`、`deepseek-v4-flash`、`k3-256k`）。 |\n| `provider` | string | 否 | LLM provider 路由。省略则自动选择：优先使用父级自身的 provider（若能服务目标模型）；否则自动找一个携带该模型的 provider；若所有 provider 都不含该模型，则按原样继承父级 provider（子代理可能报 `UNKNOWN_MODEL`）。 |\n| `description` | string | 是 | 简短（3-5 词）任务标签。 |\n| `prompt` | string | 是 | 完整、自包含的任务。 |\n| `run_in_background` | bool | 否 | 后台路由；默认跟随 `backgroundMode`。 |\n\n## 已知限制\n\n- 模型展示取自会话的 `request/header`；部分子代理可能拿不到模型。\n- 最后活动时间是客户端跟踪并缓存在 `localStorage` 里的；全新加载后首次打开可能回退到会话的 `updatedAt`。\n- 客户端 UI 仅面向 Web 平台。\n\n## 开发\n\n```sh\npnpm install\nnode --check lib/index.js lib/client.js\n```\n\n## 许可证\n\n[MIT](LICENSE)","readmeFilename":"README.zh.md"}