All plugins

DSH / BUNDLE / BUNDLES

dsh-preset-route

v0.3.1Milliontimes / dsh-preset-route73bb61d560

InstallableBundlesBundles & other modulesCommunity · Topic auto-analysis

Overview

dsh-preset-route

DSH preset for preset routing and task-brief drafting: reads the live agent-preset roster, decides which preset should handle a task, and drafts a self-contained brief for that preset.

README / EN

Package documentation

Registry summary

DSH preset for preset routing and task-brief drafting: reads the live agent-preset roster, decides which preset should handle a task, and drafts a self-contained brief for that preset.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

1. **registry 形式需要先发包**:`dsh plugin add dsh-preset-route@0.3.1` 走 pnpm 的 registry 解析,目前只发布了 git tag,所以用 `git+https://…#v0.3.1` 或本地 checkout。要发 registry(npm 兼容 registry),属于包名与凭据的决策,需先确认。 2. **desktop profile 不能用 CLI 装**:Electron 独占,`dsh plugin --profile desktop` 直接报错,必须走应用内插件面板。 3. **`headless` profile 挂不了 preset**:`@deepseek-ai/dsh-headless` 的 one-shot runner 不 compose preset(它 `agents.create` 时压根不传 preset,且 `assertAdoptable` 拒绝接管跑过 preset 的 session),所以 `dsh --profile headless` 永远只有 host 面工具,roster 也不含 shipped preset(那些声明来自 `@deepseek-ai/dsh-web-app` bundle)。 4. **自定义 profile 默认没有 registry 行**:`agent-preset-registry` 只由 `@deepseek-ai/dsh-web-app` bundle 插入。base + 本插件的 profile 里所有 preset 行会停在 `pending (waiting for service: agentPresets)`,preset 不会挂载(验收里用 `test/fixtures/preset-hosting.patch.yml` 补上这一行)。 5. **第三方 JS 插件 preset 的工具面不可静态判定**:如果某个 preset 用 JS 插件在运行时注册工具(像 clearai 的 kernel),roster 的行列表看不出它最终暴露什么。这种情况能力模型会标 `notes`,判定最多给 `medium`。 6. **`!!js` 条件不猜**:只在挂载时能求值的行报 `conditional` + 条件原文。 7. **platform 条件只认字面形式**:`process.platform === 'win32'` / `!== 'win32'` 这类能静态判定;更复杂的表达式一律 `conditional`。 8. **roster 的 name/description 是插件自己给的**:Host 不做本地化;`description` 必须是块标量或加引号,否则 YAML 会解析成映射,roster 静默退化成"没有元数据"。 9. **简报的落盘位置要在会话工作区内**:preset 的 `tool-fs` 受 profile 的 file policy(默认 `workspace-write` + `cwd` 作为 workspaceRoot)约束,写到工作区外会触发沙箱拒绝,而一次运行往往没有审批通道。DRAFT 会把绝对路径写进简报,但路径是否可写由运行环境决定——这类外部依赖会写进简报末尾的 `## 假设与待确认`。