vecnode/dsh-vn-plugins--packages-dsh-rightbar-files0

dsh-rightbar-files

Right bar Files tab: dsh-vn-plugins' own workspace file tree for the right bar. Vendored from the shipped @deepseek-ai/dsh-client-ui-sidebar-files bundle (a tab type registering into dsh-rightbar's sidebarRightTabs registry); the dsh-rightbar layer disables the core row. Alpha.

包名
dsh-rightbar-files
版本
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-rightbar-files

dsh-rightbar-files (alpha.1)

The right bar's Files tab — the session workspace tree (directories expand in place, one level at a time, over the remote.workspaceFiles namespace) as a tab type of the pack's own bar. Alpha.

It is the second half of the fork: lib/client.js is a byte-for-byte copy of the shipped @deepseek-ai/dsh-client-ui-sidebar-files bundle with the module-table id rewritten to dsh-rightbar-files. The core row is disabled by dsh-rightbar's bundle layer, so this copy is the one that runs.

It registers exactly like any other tab type — a definition into ctx.sidebarRightTabs plus its body/title under the same key:

PieceValue
id / slot keydsh-rightbar-files
kindfiles
prioritybuiltin
guideone entry, order: 10 — "Files" on the Start page the "+" control opens
bodythe tree; a file row opens `dsh-resource://file/session//
throughtabActions.openResource`, which the tab-type registry routes to whichever type claims it (the pack's Editor claims text/code files)

package.json's dsh.client.inject names dsh-rightbar (not the core package) so the bar's module is ordered before this one.

Re-syncing the fork

Same as dsh-rightbar: run scripts/sync-vendored.ps1 after a harness-line bump (it copies both forked bundles and rewrites their ids).

Layout

cordis.patch.yml   bundle layer: inserts the 'rightbar-files' row
lib/index.js       Node half: no-op row so the browser bundle ships
lib/client.js      GENERATED vendored Files tab (do not edit; re-sync instead)