DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Workspace Explorer — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
W

dsh-workspace-explorer

Workspace Explorer

Workspace Explorer for DeepSeek Harness:将原生侧边栏工作区区域替换为多根浏览器——按每个会话的实际工作目录分组的对话树,以及可在原生右侧 Sidebar 中预览文件的只读资源树。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Nethur-auro/dsh-multi-root-explorer#a5cd64d15c1c32ba8b0d0d887a81ff0658e88d2c
README兼容性版本
The plugin in the sidebar: a registered workspace expanded into conversation folders with counts, the Conversations/Resources tabs, and the eye, refresh and settings controls

兼容性与来源证明

Workspace Explorer 以 dsh-workspace-explorer 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/2

版本

0.1.0stable
2026/10/2

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/9
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

README

dsh-multi-root-explorer

A Workspace Explorer for DeepSeek Harness: it replaces the sidebar's workspace region with a two-tab browser — Conversations grouped by each session's real working directory, and a read-only Resources tree that previews files in the native right sidebar.

The npm package is dsh-workspace-explorer; this repository was renamed from it, so existing installs keep working.

中文说明 | English

The plugin in the sidebar: a registered workspace expanded into conversation folders with counts, the Conversations/Resources tabs, and the eye, refresh and settings controls

Status: preview. The automated suite passes, but live-runtime acceptance on every DSH build has not been done. See Known limitations before you install.

What it does

  • Fixed, multi-root workspaces. Directories you import stay put instead of being recomputed from a common ancestor as sessions come and go.
  • Conversations as a directory tree. Every session is filed under its real cwd, with direct conversations first and child folders after them, recursively. Sessions whose cwd is outside your roots stay reachable as their own anchor; sessions with no cwd get a separate group.
  • Resources, read-only. Directory levels load on demand and paginate, so opening a big drive never rescans the disk. Clicking a file opens it in DSH's own right sidebar, leaving the main conversation where it was.
  • Two-state hiding, per tab. The eye button in the panel header enters a selection mode where hidden entries are shown and pre-selected; toggle the circles, click the eye again, and exactly the selected set is hidden. Hiding is display-only and fully reversible — no file, directory, or session record is touched.
  • Per-folder actions. Right-click or the trailing ··· on any folder to start a new session in that directory, open it in the system file manager, or (for resources) copy its absolute path.
  • Drag a file or folder out of the tree. Resource rows are drag sources carrying text/plain, text/uri-list, and application/x-dsh-workspace-path; the effect is always copy.
  • Native archive support. Archive and unarchive sessions through DSH's own service, with archive kept clearly distinct from permanent deletion.
  • Survives uninstalling. Directories that hold ordinary sessions are also registered as native DSH workspaces while the plugin runs, so disabling or removing it does not hide your conversations.

Requirements

  • DeepSeek Harness >= 0.2.0-rc.1 (declared as dsh.engines.dsh).
  • A browser with the Popover API (element.showPopover). Menus and hover cards render in the top layer; without it the plugin reports the problem and closes the menu instead of misplacing it.
  • DSH access over loopback. The plugin's HTTP routes refuse non-loopback sockets, non-loopback Host headers, and cross-site requests.

The plugin ships with no runtime dependencies — only the react that DSH's client module loader already provides.

Install

Pick whichever route matches how you manage DSH. All of them end with a Host restart (or app restart) and a page refresh.

1. Plugin market (easiest)

If it is listed in the community catalog, open Settings → Plugin market, search for dsh-workspace-explorer, and install it. The market handles the profile wiring and tells you when to restart.

2. Command line

dsh plugin --profile <your-profile> add dsh-workspace-explorer

From this repository instead of npm:

dsh plugin --profile <your-profile> add git+https://github.com/Nethur-auro/dsh-multi-root-explorer.git

Replace <your-profile> with your profile name (web and desktop are common). Then restart dsh web.

3. By hand

The plugin manager ultimately edits your profile's package.json at $DSH_HOME/profiles/<your-profile>/package.json (default ~/.dsh). Add the dependency and the bundle entry:

{
  "dependencies": {
    "dsh-workspace-explorer": "git+https://github.com/Nethur-auro/dsh-multi-root-explorer.git"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-workspace-explorer"]
    }
  }
}

Then install the profile's dependencies with pnpm install inside that directory and restart DSH. Doing this by hand is equivalent to what the plugin manager does, so prefer option 1 or 2 unless you have a reason not to.

Verify it loaded

Open the sidebar. The workspace region should now show 对话 / Conversations and 资源 / Resources tabs with the panel's own header row. If the region looks unchanged, the Host has not picked the plugin up yet: restart DSH rather than only refreshing the page — host-side routes are not hot-reloaded.

Usage

  1. Click Add workspace and pick a directory. Repeat for every root you want.
  2. Conversations lists folders and sessions; Resources lists folders and files. A directory loads its level the first time you expand it.
  3. Click a file to preview it in the right sidebar. A usable session is required as the preview's authorization context.
  4. Right-click a folder, or use its ···, to start a session there, open it in the file manager, or copy a resource path.
  5. Right-click a session to open, rename, archive, or permanently delete it. Permanent deletion is dangerous — read Security and permanent deletion.
  6. Use the eye button to hide entries per tab, and Settings to reveal anything you hid.
  7. Show hidden entries also reveals dot-prefixed names, node_modules, and dsh-acl-recovery, which are hidden by default.

Data and privacy

Everything the plugin owns lives under $DSH_HOME/storages/workspace-explorer/:

  • config.json — version 3: roots, directory aliases, the two independent hidden lists, expansion state, and preferences. Version 1 and 2 files are backed up before migration; a damaged or newer-version file is protected from overwrite rather than silently replaced.
  • native-bridge.json — the plugin's own idempotency and progress receipts. It is bookkeeping, not a copy of your sessions or native workspace state.

Writes are serialized and atomically replaced. Removing the bundle does not delete this directory; clean it up manually only after resolving any pending session-creation operation, and never delete DSH session data as part of plugin cleanup.

Resource browsing is read-only at every level: the plugin never creates, writes, moves, or deletes files inside your workspaces. Requests are fenced by registered root, realpath containment (including intermediate links), and a loopback/same-origin trust check.

Security and permanent deletion

Permanent deletion is a pre-existing, deliberately separate feature and it is irreversible. The target DSH builds expose no official session-deletion API, so that one action removes the session's own persistence artifacts directly. It is version-sensitive, it is not a supported DSH surface, and it should be treated as a last resort. Prefer archive.

Disabling the plugin, uninstalling it, or clearing its configuration never invokes that code path.

Known limitations

  • Automated tests are contract tests, not live acceptance. They use mocks and never touch your real sessions. Named-but-unsent sessions across a fresh Host process, native visibility right after uninstall, and popover placement at unusual zoom levels still need checking on your build. Do not force-close a running profile to test persistence.
  • Drag payloads are offered, not guaranteed to be consumed. The tree provides standard DataTransfer formats; whether a given DSH build turns them into a composer reference or attachment has not been verified here, and the plugin does not call any undocumented composer API to force it.
  • Selection covers what is loaded. The resource tree is paginated and lazy, so a parent folder's "select everything" applies to the descendants already loaded in the client. Expand or load more before relying on it for a very large tree.
  • Menus need the Popover API. On a browser without it, the plugin degrades to an explicit error notice instead of showing a misplaced menu.
  • Source changes are not a running Host. Editing files in this repository does not update a live DSH process; host routes require a restart.

Tests

No dependencies and no install step:

node test/run.mjs
# or: npm test

The runner discovers every *.test.mjs plus selftest.mjs and executes them with the same Node executable. Coverage is directory listing and pagination, configuration and migration, the route family and its trust fence, the conversation tree model, visibility scoping, drag payload encoding, and the native bridge's create/rename/durability contracts.

Design notes

  • Bug fix plan and acceptance matrix
  • Tree ordering and independent visibility design

License

MIT © 2026 Nethur-auro