vecnode/vn-code--packages-dsh-rightbar-files ↗★ 9

dsh-rightbar-files

Right bar Files tab: the workspace file tree as a tab type in dsh-rightbar's registry, vendored from the shipped files bundle (only the module-table id is rewritten). The `ui-sidebar-files` disable lives in dsh-rightbar, not here. 配合自定义右侧栏使用,提供直观的工作区文件浏览与管理界面。

Package
dsh-rightbar-files
Compatibility
Unverified
Version
0.1.0-alpha.1
License
MIT
Last updated
Oct 17, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:vecnode/vn-code#066e7396f8c7d4abd3132329f32c1b7c9ad8c1fa&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.

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 it forks is disabled by dsh-rightbar's bundle layer, so this copy is the one that runs.

What it adds

One tab type into ctx.sidebarRightTabs, plus its body and title under the same key:

PieceValue
id / slot key@deepseek-ai/dsh-client-ui-sidebar-files — deliberately the core id: the sync script rewrites the module-table id (so the boot graph loads this file) and leaves FILES_ID alone, so the type keeps its identity across the fork and the shipped document preview keeps resolving the same key
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`, so the registry routes it to whichever type claims it

How it plugs in

cordis.patch.yml inserts the rightbar-files row and patches nothing else — the ui-sidebar-files row it replaces is disabled by dsh-rightbar. package.json's dsh.client.inject names dsh-rightbar (not the core package), so the bar's module is ordered before this one, and the bar is already in the tree when the tab type registers into it.

Limits

The tab's identity is the core id on purpose; changing FILES_ID would orphan persisted Files tabs and break the document preview's key resolution. lib/client.js is a fork: re-sync it, never hand-edit it.

Verify

pwsh -NoProfile -File scripts/tools/sync-vendored.ps1 -Check

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)