DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-workspace-explorer-picker

l

dsh-workspace-explorer-picker

Manifest valid

No project description is available for this repository yet.

UI (client)hasBundlePatch

dsh-workspace-explorer-picker

License: MIT Platform Target npm version

A DeepSeek Harness Desktop plugin that opens the native Windows Explorer folder picker directly when you add a workspace - no more in-app directory browser.

Clicking Add workspace in DeepSeek Harness Desktop normally opens a directory browser rendered inside the web GUI. This plugin skips that dialog entirely and opens the real Windows Explorer folder chooser immediately - the same native dialog the shell already uses for its "Choose with Windows" action.

Features

  • Opens the native Windows Explorer folder dialog directly from "Add workspace" (both the conversation hero and the sidebar).
  • Renderless client plugin - no UI of its own to maintain.
  • Uses the desktop shell's own picker (Electron dialog.showOpenDialog) - full Explorer experience (Quick Access, breadcrumbs, search, New folder).
  • Survives DSH Desktop updates: installed under $DSH_HOME (user profile), never inside Program Files.
  • Idempotent installer (install.ps1) for quick setup on any machine.
  • No volume restrictions: pick any accessible folder, including exFAT/FAT32 and network volumes.
  • Market-ready: declares dsh.bundle.patch, so it can be installed from the DSH Community Market / npm.

Table of Contents

Requirements

RequirementDetail
OSWindows (the Explorer chooser is a Windows-only shell feature)
AppDeepSeek Harness Desktop (the Electron desktop app)
GUI entryThe app window, or the browser tab the app opens (the desktop picker bridge must be present)

Outside the desktop shell, the plugin falls back to the host directory-picker seam.

Install

Automatic (recommended)

Requires PowerShell. From the repository root:

powershell -ExecutionPolicy Bypass -File .\install.ps1

What it does:

  1. Copies the plugin into $DSH_HOME\profiles\node_modules\dsh-workspace-explorer-picker\ ($DSH_HOME defaults to ~/.dsh).
  2. Appends the activation rows to $DSH_HOME\profiles\desktop\cordis.patch.yml.
  3. Prints a confirmation - then restart DeepSeek Harness Desktop.

The script is idempotent: re-running it is safe.

Manual

  1. Copy the lib folder, cordis.patch.yml and package.json to $DSH_HOME\profiles\node_modules\dsh-workspace-explorer-picker\.
  2. Append to $DSH_HOME\profiles\desktop\cordis.patch.yml:
- id: directory-picker
  disabled: true
- insert:
    - id: directory-picker-explorer
      name: 'dsh-workspace-explorer-picker'
  1. Restart DeepSeek Harness Desktop.

Verify

After restarting, click Add workspace - the Windows Explorer folder dialog should open immediately. If nothing happens, check the logs under %APPDATA%\DSH Desktop\logs\ (see Troubleshooting).

Market & npm

DeepSeek Harness Desktop's Community Market installs plugins from npm when the package declares a dsh.bundle.patch (this plugin does - see cordis.patch.yml). The bundle patch disables the stock adaptive picker and inserts this plugin, so the manual profile patch above is not needed when the plugin is installed as a bundle.

  1. Publish to npm so the market can resolve an install target:

    npm login
    npm publish
    
  2. Get listed in a catalog (e.g. dshfind): submit your package at https://dshfind.com following their submission flow. The catalog verifies the repository backlink (repository in package.json points to your GitHub repo) before accepting structured install evidence.

  3. Users install it from the market (Plugins / Market in DSH Desktop settings): the Host runs pnpm add dsh-workspace-explorer-picker, applies the bundle patch, and adds it to the profile bundles.

How it works

DeepSeek Harness Desktop composes its web GUI from Cordis bundles and applies a user patch layer from $DSH_HOME/profiles/<profile>/cordis.patch.yml. The stock "add workspace" flow fills a UI slot with the in-app directory browser.

This plugin is a renderless client plugin that occupies the same directory-flow slots (conversation.hero.workspace.directoryFlow and sidebar.workspaces.directoryFlow) and, on each open, picks a folder:

  1. window.__DSH_DESKTOP_PICK_DIRECTORY__ - the DSH Desktop shell bridge (Electron dialog.showOpenDialog with openDirectory) - the Windows Explorer folder dialog.
  2. Fallback: the host workspaces.pickDirectory() directory-picker seam.

The patch row directory-picker (the stock adaptive picker) is disabled so the in-app browser never appears.

Because everything lives under $DSH_HOME, updates to DSH Desktop (which replace Program Files) never touch the plugin.

Uninstall

  1. Remove the patch rows from cordis.patch.yml (see Manual install).
  2. Delete $DSH_HOME\profiles\node_modules\dsh-workspace-explorer-picker.
  3. Restart DeepSeek Harness Desktop.

Troubleshooting

SymptomCause / Fix
"Add workspace" still opens the in-app browserThe app was not restarted, or the patch was not applied. Re-run install.ps1 and restart DSH Desktop.
Nothing happens when clicking "Add workspace"The plugin failed to activate. Check %APPDATA%\DSH Desktop\logs\ and confirm the package folder exists under profiles\node_modules.
The picker opens but the workspace is rejectedThe workspace service validates the path server-side; pick a directory you can read and write.
Pick falls back to the host seam unexpectedlyThe GUI was opened without the desktop bridge (e.g. a manually typed URL). Open the GUI through the app instead.

Development

The loader only needs package.json (with the dsh.client and dsh.bundle.patch declarations) and lib/. There is no build step: lib/client.js is a window.__ModuleLoader__.load bundle mirroring the structure of the official @deepseek-ai/dsh-client-ui-directory-picker-native plugin.

dsh-workspace-explorer-picker/
|-- lib/
|   |-- index.js        # host half (no-op; the plugin is client-only)
|   |-- client.js       # browser half: renderless directory-flow occupant
|   `-- types/          # TypeScript declarations
|-- cordis.patch.yml    # bundle patch (dsh.bundle.patch) - activates the plugin
|-- install.ps1         # idempotent installer for the profile
|-- package.json        # dsh.client + dsh.bundle.patch declarations
|-- README.md
`-- LICENSE

Publishing

npm

npm login
npm pack          # produce the .tgz (verify the contents)
npm publish
git tag v1.0.0

GitHub

git remote add origin https://github.com/liell/dsh-workspace-explorer-picker.git
git push -u origin main

License

MIT - see LICENSE.

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 17.7k

CC0-1.0

Python

Oct 1, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.1k

CC0-1.0

Python

Sep 30, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 458

MIT

TypeScript

Sep 22, 2026

Index only — not installable

by yjh051108

推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。

Development & InfrastructureManifest valid

★ 167

TypeScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 148

MIT

TypeScript

Sep 30, 2026

dsh plugin --profile web add dsh-config-manager

by jigjoy-ai

A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.

Development & Infrastructure

★ 124

MIT

TypeScript

Oct 2, 2026

Index only — not installable