No-PRM/dsh-explorer
DSH plugin: VS Code-style file-tree explorer (git decorations, preview, diff, drag-to-reference); install via dsh plugin --profile web add.
已收录
5
Git
Bundle 已验证
功能介绍
Git 优先的文件树侧栏:VS Code 风格层级线、M/A/U/D/R git 状态装饰、HEAD 与工作区对照预览、媒体预览、拖拽引用(文件/文件夹/选中代码带行号)—— 纯插件。
适合
- 需要在 DSH Web GUI 中浏览 Git 工作区的开发者
- 需要查看 HEAD 与工作区差异及 Git 状态标记的代码审查工作流
- 需要把文件、文件夹或带行号的代码选区拖入对话作为引用的用户
不适合
- 需要直接从侧栏编辑或修改文件的工作流,因为宿主端路由为只读
- 不使用 DSH Web、因而不需要图形文件树抽屉的场景
- 不愿同时安装和维护宿主端与浏览器端两个包的部署环境
README
dsh-explorer
A file-tree sidebar for the DeepSeek Harness web UI. A blue round button on the right edge opens a drawer with the current workspace’s files — lazy-loaded and virtualized, so even big directories stay responsive.
The plugins only add UI and a few read-only routes. Nothing in the shipped dsh packages is touched, so dsh updates shouldn’t break anything.
Install (two commands — monorepo)
dsh plugin --profile web add "github:No-PRM/dsh-explorer#main&path:/dsh-plugins/dsh-explorer"
dsh plugin --profile web add "github:No-PRM/dsh-explorer#main&path:/dsh-plugins/dsh-client-ui-explorer"
# restart dsh

What you get
- A right-side drawer (drag the edge to resize) with a floating blue toggle; open state and width are remembered
- VS Code-style indent guides, hover highlights the active line
- Git status at a glance: M/A/U/D/R letters in a right-aligned column, tinted filenames, dirty dots on folders, struck-through rows for deleted files, gitignored entries dimmed
- Modified files get a git diff view (HEAD vs working tree, side-by-side) right in the preview
- Click a file to preview it — text opens in CodeMirror (Ctrl+F gives a VS Code-like find bar), images/video/audio/PDF play inline
- Drag any file/folder (or selected code from the preview) into the chat input — inserts an XML-tagged reference (
<reference path="…" lines="…" />) and shows a removable chip above the composer - Search (skips .git and node_modules), expand/collapse-all, auto-refresh every 1.2 s
Two packages
| package | what it does |
|---|---|
dsh-explorer |
Host side (Node). Serves the read-only /filetree/* API: directory listing, file read, search, git status, raw media streaming. No dependencies. |
dsh-client-ui-explorer |
Browser side (TS/TSX). The toggle, the drawer, and everything you see. |
Both follow the official dsh plugin contract. Wiring and deployment details live in dsh-plugins/README.md.
Install
You need both halves. Bundle install (monorepo — one command per package):
dsh plugin --profile web add "github:No-PRM/dsh-explorer#main&path:/dsh-plugins/dsh-explorer"
dsh plugin --profile web add "github:No-PRM/dsh-explorer#main&path:/dsh-plugins/dsh-client-ui-explorer"
# restart dsh
(Dev machine: keep the junction + cordis.patch.yml insert-row setup — don’t run the bundle commands in the same profile.)
Manual (dev, no restart): copy the two packages into the profile’s node_modules and add them to its cordis.patch.yml:
- insert:
- id: filetree
name: dsh-explorer-v1
- id: ui-filetree
name: dsh-client-ui-explorer
Restart dsh — or bump the host package name (v8, v9…) to avoid the restart. The browser bundle is self-contained; no npm install needed to run it. Full steps: dsh-plugins/README.md.
Development
cd dsh-plugins/dsh-client-ui-explorer
npm run dev # watch + sync into the running profile
npm run bundle # one-shot minified build
npm run types # generate lib/types/*.d.ts
npm run typecheck
Host changes go into dsh-plugins/dsh-explorer/lib/index.js; copy it into the profile under a bumped package name to reload without restarting.
Docs
- dsh-plugins — architecture, install, deploy (中文: README.zh-CN.md)
- dsh-client-ui-explorer (中文: README.zh-CN.md)
- dsh-explorer (中文: README.zh-CN.md)
MIT
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:No-PRM/dsh-explorer。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。