vecnode/dsh-vn-plugins--packages-dsh-vn-master0

dsh-vn-master

Master: the pack's deliberately BLANK base bundle for the DeepSeek Harness web GUI - one no-op 'master' host row and the bundle layer, installed last so it is the pack's final word on any row. It ships no browser half, provides no service and declares no inject edge, so the right bar's tab-type chain stays exactly where it is. Alpha.

包名
dsh-vn-master
版本
0.1.0-alpha.1
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:vecnode/dsh-vn-plugins#e4849fa724696ea1b9cca8fe58995151fb2d0ee1&path:packages/dsh-vn-master

dsh-vn-master (alpha.1)

The pack's master — deliberately blank. One no-op host row and the bundle layer, nothing else. It exists so the pack has a base that is not the right bar: pack-wide patches and future cross-cutting work belong here, while the bar stays the bar. Alpha.

Why it is blank

The master is the pack's base layer, so it must be inert. It ships:

dsh.bundleyes — cordis.patch.yml, which inserts the no-op master row
dsh.clientno — no browser half, so no boot-graph node
client serviceno — nothing is published with ctx.reflect.provide
inject edgesno — activation waits for nothing
core-row disablesno — they stay with the packages that replace those rows

That is what keeps the chain intact. The right bar's sidebarRightTabs / sidebarRight services are provided inside the generated fork dsh-rightbar/lib/client.js; the tab types (dsh-rightbar-files, dsh-editor, the shipped document preview) resolve them from there. A blank master adds a layer to the profile stack and touches nothing else, so the chain is unchanged by construction rather than by care.

The same reasoning keeps the disabled: true rows in dsh-rightbar: a disable belongs next to the insertion that replaces the row, so install -Plugin dsh-rightbar still mounts exactly one bar.

Where it sits in the stack

dsh applies the profile's bundle layers in order and the later layer wins per row. The installer collects packages/* sorted by directory name and dsh plugin add appends each new bundle, so dsh-vn-master — the only name here that sorts after everything else — is the profile's final layer. That is what makes it a master rather than just another plugin: it is the slot that can restate any pack row, or any core row, without another package undoing it.

base -> web-app -> dsh-editor -> dsh-rightbar -> dsh-rightbar-files
     -> dsh-modal -> dsh-open-in-app -> dsh-themes -> dsh-vn-master   (final word)

(The exact order of bundles installed earlier depends on when each was first added; the master is last because it is added last.)

Layout

cordis.patch.yml   bundle layer: inserts the no-op 'master' row
lib/index.js       Node half: no-op row (the master is browser-free)

Growing the master

Adding a pack-wide patch is a cordis.patch.yml change here — restate a row, or disable one — and one install.bat / ./install.sh run (a new row or a changed layer needs the profile re-synced), then a restart of npx @deepseek-ai/dsh web and a hard browser refresh.

Two things to keep true when it grows:

  • No dsh.client unless the work really is a browser surface. The moment this package declares one, it joins the boot graph and needs its own check — and it should then be a deliberately named plugin instead, not the blank master.
  • Never move a provider's services here. sidebarRightTabs / sidebarRight come from generated fork code; a fork belongs in the package that scripts/sync-vendored.ps1 regenerates.