dsh-sidebar-files
Manifest valid★ 3DeepSeek Harness sidebar file tree plugin: Sessions/Files tabs + lazy-loaded file tree, color-coded icons by extension, copy path, send to Agent. A sidebar file tree plugin for DeepSeek Harness: Sessions/Files tabs, lazy tree, per-extension icons, copy-path and send-to-agent.
dsh-sidebar-files
English | 中文
A sidebar file tree for DeepSeek Harness. Adds a Sessions / Files tab strip to the left sidebar and an inline, lazy-loaded file tree over the active workspace — with per-extension brand icons, copy-path, and send-to-agent actions.

Hover a file row for two actions — copy path and send to agent:
![]() Copy path | ![]() Send to agent |
Plugin status. Built and verified against the published harness (
0.1.0-rc.6, thewebprofile). It runs entirely as an out-of-tree bundle: the node half serves directory listings through its own HTTP route, the browser half renders the tree. No core changes required.
Features
- Sessions / Files tab strip injected below the New Session button (wide sidebar). The tree renders inline in the sidebar region — same presentation as the harness's own browsing surfaces.
- Lazy listing: one directory level is fetched on demand (the workspace root on open, a directory on first expand), through the plugin's own
GET /dsh-sidebar-files/list?path=…route. Wire cost follows what you actually open. - Per-extension icons: 47 brand-style glyphs for common extensions (ts/js/json/yml/yaml/css/html/md/ico/png/zip/log/…), plus a generic document fallback. Icon path data from Material Icon Theme (MIT, © Material Extensions 2025) — see LICENSE.
- Hidden by default: dot-led names,
node_modules, and.gitare filtered out; the 显示隐藏项 toggle reveals them.node_modules/.gitstay hidden until the toggle is on. - Row actions (hover): copy path (with one-second "copied" feedback) and send the file to the current session's agent (a queued "please read this file" prompt).
- Resilient fallback: if the shell's sidebar structure is ever unrecognizable, the plugin degrades to a footer action button + centered modal instead of the tab strip — never a blank screen.
- Bilingual (中文 / English), following the harness locale.
Install
Requires the dsh CLI (npm i -g @deepseek-ai/dsh) and pnpm.
What is a profile? A profile is one runnable composition of the harness — a named instance with its own set of plugins. Profiles live under $DSH_HOME/profiles/<name> (e.g. ~/.dsh/profiles/web). --profile <name> tells the dsh CLI which instance to operate on; replace <name> with your own (the classic example is web).
# from any directory — installs the published package from npm
dsh plugin --profile web add dsh-sidebar-files
If a profile with that name does not exist yet, the command initializes it on first use. Restart the harness with the same profile name and the 会话 / 文件 tabs appear in the sidebar:
dsh --profile web
If the profile is a fresh one, also add the web app bundle first:
dsh plugin --profile web add @deepseek-ai/dsh-web-app@0.1.0-rc.6(or use the built-inwebprofile template that ships with the CLI).
Alternative installs
Local checkout or prebuilt tarball (no registry needed):
dsh plugin --profile web add ./dsh-sidebar-files # local checkout (uses prepare)
dsh plugin --profile web add ./dsh-sidebar-files-0.1.0.tgz # prebuilt tarball
From GitHub (github:Fallen0543/dsh-sidebar-files) — fetches sources; the package's prepare script then builds lib/ from source, self-contained (no monorepo checkout needed). pnpm ≥10 refuses to run a git dependency's prepare script until you allowlist it — copy the exact package key pnpm printed into the profile's pnpm-workspace.yaml:
allowBuilds:
dsh-sidebar-files: true
and re-run the add. Only allow packages whose source you trust, and prefer pinning a commit (github:Fallen0543/dsh-sidebar-files#<sha>). Installing from npm or a tarball needs no build permission.
Development
pnpm install
pnpm test # unit tests: listing logic, sidebar-host probing/injection, panel behavior
pnpm run typecheck
pnpm run build # lib/index.js (node) + lib/client.js (browser bundle)
The browser bundle is a CommonJS closure-factory artifact (window.__ModuleLoader__.load({…})) with the harness's platform modules external, so it loads through the web shell's module table; CSS modules are compiled in with lightningcss.
How it works
cordis.patch.ymlinserts one host row (id: sidebar-files) that mounts the node half.- The node half (
src/index.ts) registers a web-server route prefix/dsh-sidebar-files;GET /list?path=lists one directory level (directories first, then files; bounded to the first 1000 entries) and returns{ path, entries, truncated }— errors are 400 with a machine-readable code. - The browser half (
dsh.clientdeclaration,./clientexport) registers into the harness'ssidebar.footer.actionslot, then locates the sidebar column at runtime from its own trigger button and injects the Sessions/Files tab strip and the inline tree region (seesrc/client/sidebar-host.ts). When the shell structure is unrecognizable, the footer button + modal fallback takes over. - The active workspace path is derived from the session/workspace stores (current session's workspace, else recent, else first) through selector hooks, exactly like the harness's own browsing surfaces.
License
MIT — see LICENSE. File-type icon glyphs are derived from Material Icon Theme (MIT, © Material Extensions 2025); the attribution and copyright notice are preserved in src/client/file-type-icons.tsx.
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
Comments
Loading…
Similar plugins
by wannanbigpig
一个为 DeepSeek Harness 最新源码补齐工程能力的外置插件(Bundle),无需修改宿主源码。插件直接融合进宿主原生 Right Sidebar、文件资源标签和底部 Dock:复用宿主已有的文件树、标签页、拆分/悬浮布局,只补充可编辑高亮、Git Review/提交、Worktree 和交互式 PTY。所有项目操作以当前 Session 的 cwd 为边界
★ 0
MIT
JavaScript
Sep 12, 2026
dsh plugin --profile web add @wannanbigpig/dsh-sidebarby Wulabalabo
一个 dsh-better-sidebar 的消费插件:在侧边栏新增一个「文件」tab,内置一棵固定在工作区(cwd)内的文件树,提供真正的文件管理能力——上传、移动、删除、重命名、新建文件夹。它补充了 better-sidebar 自带 Explorer 缺失的「写」操作(Explorer 只读)
★ 3
MIT
TypeScript
Sep 6, 2026
dsh plugin --profile web add dsh-sidebar-explorer-plusby rong-coder
dsh plugin for DeepSeek Harness: complete Office document tools for the agent (create/read/edit .docx/.xlsx/.pptx via OfficeCLI) plus high-fidelity document preview in the dsh web sidebar through dsh-
★ 6
MIT
TypeScript
Aug 17, 2026
dsh plugin --profile web add dsh-office-toolby sky-unicorn
DeepSeek Harness(DSH)一站式增强套件,基于公开插件扩展点构建,无需修改 DSH Core。提供 Windows Launcher、桌面通知与动态桌宠、Plugin Community、MCP Server Manager、模型输入类型配置、最后一条消息编辑与重新生成,以及 Claude Code / Codex Subagents 实时控制。所有功能均可独立安装,支持全量部署、
★ 4
MIT
TypeScript
Oct 28, 2026
dsh plugin --profile web add dsh-enhanced-pluginsby Knight-Zjy
DeepSeek Harness 侧边栏的工作区分类树:分类 > 工作区 > 会话(VS Code 风格)。Collapsible category tree for DSH workspaces.
★ 3
↓ 427/wk
MIT
JavaScript
Oct 23, 2026
dsh plugin --profile web add dsh-workspace-categoriesby Yazzyk
DeepSeek Harness (dsh) 插件:在 Web GUI 里手动点选文件或目录,屏蔽 agent 对它们的读取、搜索、写入与编辑。A dsh plugin that denies an agent read/search/write/edit access to chosen files and directories, picked from the plugin's own We
★ 2
MIT
JavaScript
Oct 10, 2026
dsh plugin --profile web add dsh-file-shield
