{"_id":"@aiwaretop/dsh-dispatch","_rev":"3-cadeb357dca2b7cc8f5e42ddeb5c57b6","name":"@aiwaretop/dsh-dispatch","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.1":{"name":"@aiwaretop/dsh-dispatch","version":"0.1.1","license":"MIT","_id":"@aiwaretop/dsh-dispatch@0.1.1","maintainers":[{"name":"aiwarelife","email":"aiwarelife@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime"],"platform":"web"}},"dist":{"shasum":"a6c14ff46542bb2b5457f9a084b6226f12b1301e","tarball":"https://registry.npmjs.org/@aiwaretop/dsh-dispatch/-/dsh-dispatch-0.1.1.tgz","fileCount":43,"integrity":"sha512-tnZFWB6JVq5W4nayXcfa6g4+O/Xu/s9DqhtmY68YSzr0oD3hx9BzDFhbMTcNidkQmy1z9pc6ebjM+el9RLUTIA==","signatures":[{"sig":"MEYCIQCzUCzEAI7fIg9c+O1dLcGPb0evaGqzL+AX26dWIorK6QIhAPxFG1wyX1r/7x5BBIadHGj0BtaqIXgykHef8MISx6ND","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3709826},"main":"src/host/index.js","type":"module","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./src/host/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"gitHead":"687717e4e981bbe79bcafd8aced5f78958d99f50","private":false,"scripts":{"test":"node scripts/run-tests.mjs","build":"npm run seed-vendor && npm run build-client","verify":"node scripts/verify-package.mjs","prepack":"npm run build && npm run verify","pretest":"npm run seed-vendor","seed-vendor":"node scripts/seed-vendor.mjs","build-client":"node scripts/build-client.mjs"},"_npmUser":{"name":"aiwarelife","email":"aiwarelife@gmail.com"},"_npmVersion":"11.16.0","description":"Dispatch — the task inbox & agent scheduler — as a dsh plugin: full host runtime (scheduler, worktree execution, follow-up sessions, archives) over HTTP+SSE.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-dispatch_0.1.1_1787458046072_0.3352081157349185","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aiwaretop/dsh-dispatch","version":"0.1.2","license":"MIT","_id":"@aiwaretop/dsh-dispatch@0.1.2","maintainers":[{"name":"aiwarelife","email":"aiwarelife@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime"],"platform":"web"}},"dist":{"shasum":"37d011e5f2fcf1fbce8aee1cc5381e8af8ff0764","tarball":"https://registry.npmjs.org/@aiwaretop/dsh-dispatch/-/dsh-dispatch-0.1.2.tgz","fileCount":39,"integrity":"sha512-EjDIaJkulLg8CU/hqXwzqX9s8nSwiQAq4m3YmgXx32lMf2nuyOYWjigmaOSPVPxfegtECjclGhvy0Xw8T//+WA==","signatures":[{"sig":"MEQCIDsVHb2DooC0h9fkHYKcjoFNhUfWi5UByxQuCoypMJ4DAiB9+fZbuxlgeEl1wAKaajEmQBa/j4TevvjvYfmOJh/PoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5621317},"main":"src/host/index.js","type":"module","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./src/host/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"gitHead":"09ef9ffdea60c31e5af8999ba684db7ec698f93a","private":false,"scripts":{"test":"node scripts/run-tests.mjs","build":"npm run seed-vendor && npm run build-client","verify":"node scripts/verify-package.mjs","prepack":"npm run build && npm run verify","pretest":"npm run seed-vendor","seed-vendor":"node scripts/seed-vendor.mjs","build-client":"node scripts/build-client.mjs"},"_npmUser":{"name":"aiwarelife","email":"aiwarelife@gmail.com"},"_npmVersion":"11.16.0","description":"Dispatch — the task inbox & agent scheduler — as a dsh plugin: full host runtime (scheduler, worktree execution, follow-up sessions, archives) over HTTP+SSE.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-dispatch_0.1.2_1787463175380_0.4974402541589662","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aiwaretop/dsh-dispatch","version":"0.1.3","license":"MIT","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"description":"Dispatch — the task inbox & agent scheduler — as a dsh plugin: full host runtime (scheduler, worktree execution, follow-up sessions, archives) over HTTP+SSE.","type":"module","private":false,"main":"src/host/index.js","exports":{".":"./src/host/index.js","./client":"./lib/client.js","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime"],"platform":"web"}},"scripts":{"seed-vendor":"node scripts/seed-vendor.mjs","build-client":"node scripts/build-client.mjs","build":"npm run seed-vendor && npm run build-client","verify":"node scripts/verify-package.mjs","pretest":"npm run seed-vendor","test":"node scripts/run-tests.mjs","prepack":"npm run build && npm run verify"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"engines":{"node":"^22.19.0 || >=24.0.0"},"gitHead":"6cc7681a8b639d956ce9340156dd6d26890fc673","_id":"@aiwaretop/dsh-dispatch@0.1.3","_nodeVersion":"24.18.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-N1XfhwXADyXyQQXvGlFUfW1PBc7iy5S3giCBUat05WCxyJmMZ74OFfx+j4afeF0oI51f1nZcw3mPTL9bXuPKgw==","shasum":"3b529c3fe31c192235f415f66ef173664651933e","tarball":"https://registry.npmjs.org/@aiwaretop/dsh-dispatch/-/dsh-dispatch-0.1.3.tgz","fileCount":39,"unpackedSize":5625460,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDbriqwWRfFGPhoW2uhBi+ad+bw3dmhix80uv0sSRbETQIhAJtvMjZd50MKzUS7Eh5xXFq+Y24OiSL1/mjbtbIhr65N"}]},"_npmUser":{"name":"aiwarelife","email":"aiwarelife@gmail.com"},"directories":{},"maintainers":[{"name":"aiwarelife","email":"aiwarelife@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-dispatch_0.1.3_1787623526916_0.601377413123362"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T04:07:25.953Z","modified":"2026-08-25T02:05:27.343Z","0.1.1":"2026-08-23T04:07:26.267Z","0.1.2":"2026-08-23T05:32:55.587Z","0.1.3":"2026-08-25T02:05:27.158Z"},"license":"MIT","description":"Dispatch — the task inbox & agent scheduler — as a dsh plugin: full host runtime (scheduler, worktree execution, follow-up sessions, archives) over HTTP+SSE.","maintainers":[{"name":"aiwarelife","email":"aiwarelife@gmail.com"}],"readme":"# @aiwaretop/dsh-dispatch\n\nDispatch（任务收件箱 + Agent 调度器）的 dsh 插件形态：把独立桌面应用的完整能力装进\ndsh-buddy —— 任务捕获、30s 调度、git worktree 隔离执行、会话追问、归档，全部经\n`/api/dispatch/*`（HTTP + SSE）暴露给浏览器侧面板。\n\n## 形态\n\n- **host 半**（`src/host/`）：跑在 dsh 服务进程内（Electron-as-Node）。core 运行时\n  （`vendor/dispatch-core.mjs`，esbuild 产物）+ 32 个 invoke 通道桥 + SSE 事件流。\n- **client 半**（`src/client/` → `lib/client.js`）：dsh 侧栏注入「任务派单」入口，\n  点击在中列（centerCol）接管出任务视图（task-board 同款：常驻 DOM、\n  `<html data-dispatch-panel-active>` 切显隐、与 task-board/ssh 互相让位），\n  renderer 组件源码级复用，React 19 自包含 bundle + Shadow DOM 样式隔离。\n\n## 安装\n\n```bash\ndsh plugin --profile web add @aiwaretop/dsh-dispatch\n```\n\n重启 dsh-buddy 生效。侧栏「新建会话」之后出现「任务派单」入口。\n\n## 数据目录与双开\n\n默认与独立 Dispatch app 共享 `~/.dispatch`（config.json / dispatch.db / prompts /\narchives 完全互通）。**不要同时运行独立 app 与本插件**（SQLite 单写者）；\n需要隔离时给 dsh 进程设 `DISPATCH_HOME`。\n\n配置单一来源是 `~/.dispatch/config.json`（agent 校准、并发、超时等），本插件不引入\n第二套配置。\n\n## 全局快捷键（需 dsh-buddy ≥ 快捷键版）\n\ndsh-buddy 壳注册系统级 `CommandOrControl+Shift+Space`，按下 → 壳前置窗口 → 页面\n`dsh-buddy-hotkey` 事件 → Dispatch 面板与捕获输入框直出。环境变量：\n\n- `DSH_BUDDY_HOTKEY=<accelerator>` 覆盖键位\n- `DSH_BUDDY_HOTKEY=off` 关闭\n\n旧壳无此机制时退化为侧栏入口 + 面板内「＋ 快捷新建」。\n\n## 插件形态的能力降级\n\n| 通道 | 独立 app | 插件形态 |\n| --- | --- | --- |\n| `project:pick-directory` | 系统目录对话框 | 三级串联：宿主 native 系统对话框 → 目录浏览器（dsh directoryPicker browse）→ 手动输入兜底 |\n| `task:open-session-terminal` | 交互式终端 | 不支持（会话追问面板为主交互） |\n| `task:open-archive` | 打开归档目录 | 不支持（详情页显示归档路径） |\n\n## 卸载\n\n```bash\ndsh plugin --profile web remove @aiwaretop/dsh-dispatch\n```\n\n`~/.dispatch` 数据保留，可随时回到独立 app。\n\n## 开发（dispatch 仓内）\n\n```bash\ncd dsh-plugin\nnpm run build     # seed-vendor(core bundle + Electron-ABI better-sqlite3 + prompts) + build-client\nnpm test          # Electron-as-Node 下 node --test(host 半 9 用例)\nnpm pack          # build + verify + tarball\n```\n\n**ABI 纪律**：vendor 里的 `better_sqlite3.node` 必须是 Electron ABI（dsh 服务进程 =\nElectron + ELECTRON_RUN_AS_NODE）。它由父仓 `npm install` 的 postinstall\n（electron-builder install-app-deps）物化，seed-vendor 只复制 —— 换 Electron 大版本\n时需重装父仓依赖并重跑 build。不要让 pnpm 在用户机器上重装此依赖\n（Node ABI 在 dsh 进程内无法加载，见批次 0 spike 结论）。\n\n**loader 契约**：`lib/client.js` 必须是 `window.__ModuleLoader__.load({id, factory})`\n形状，factory 只收 `require`（module/exports 在 banner 自声明），导出 `apply`。\n","readmeFilename":"README.md"}