Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. Its Web GUI provides a session management interface, but opening the folder of the workspace associated with the current session directly from the interface is not natively supported. This usually requires switching to a terminal or manually assembling the path, which interrupts the workflow. The dsh-open-workspace plugin solves this gap by injecting two entry points and integrating filesystem operations directly into the Web interface.
Feature Overview¶
This plugin adds two “Open Workspace” entry points to the DeepSeek Harness Web GUI. Clicking them opens the root directory of the workspace associated with the current conversation using the system file manager.
- Sidebar conversation row menu: Adds an “Open Workspace” item to the bottom of the ⋯ menu on any conversation row in the sidebar.
- Conversation title bar button: Registers an “Open Workspace” button in the top title bar of the conversation. Implemented through the official slot
conversation.session.header.actions, it is arranged in sequence alongside official buttons such as “Archive”, “Move to Workspace”, and “Delete Conversation”, as well as buttons from other plugins (such as Session Logs).
The core logic is “open the workspace root directory”:
- Title bar button: Find the associated workspace by sessionId, preferentially using the workspace path/cwd. If it does not exist, use the conversation cwd.
- Sidebar menu item: Group by the workspace where the row is located, preferentially using the workspace path/cwd. If it does not exist, use the cwd of the conversation with the same name. If it still does not exist, iterate through the flat list to locate the current conversation.
On Windows systems, the plugin directly calls explorer.exe and passes UTF-16 encoded arguments, ensuring that Chinese and non-ASCII paths are opened reliably. A notification bar appears in the bottom right corner indicating success or failure. The plugin host registers the POST /plugins/dsh-open-workspace/open and GET /plugins/dsh-open-workspace/status endpoints, and the activation probe writes to $DSH_HOME/logs/dsh-open-workspace.probe.log.
Installation and Enablement¶
Before installation, ensure that Node.js ≥ 20, DSH, and pnpm are installed in the target environment.
Local Installation¶
Run the following commands in the plugin source directory:
cd <本插件文件夹>
npm pack
dsh plugin --profile web add .\dsh-open-workspace-1.0.0.tgz
After running the installation script, restart dsh web.
Remote Installation¶
Copy the plugin folder to any location on the target computer. Node.js ≥ 20, DSH, and pnpm must be installed on the target computer. Run the installation script:
powershell -ExecutionPolicy Bypass -File .\install.ps1
The script automatically completes environment checks, duplicate id guards, detects and asks whether to disable conflicting plugins (such as dsh-open-folder, dsh-open-explorer, and dsh-open-session-folder), and completes installation and verification.
For manual installation, ensure that dsh.profile.bundles includes dsh-open-workspace. If encountering supply chain policy interception, run pnpm add <path>\dsh-open-workspace-1.0.0.tgz --config.minimum-release-age=0 in the profile directory.
Usage Examples¶
- After installation and restarting
dsh web, access the Web GUI. - Check the plugin loading status: access
GET /plugins/dsh-open-workspace/status. A response of{"ok":true,...}indicates that the host has loaded the plugin. - In the sidebar conversation row, click the ⋯ menu and select “Open Workspace” at the bottom.
- In the top title bar of any conversation, click the “Open Workspace” button (located between the delete button and Session Logs).
Notes¶
- Avoid duplicate insertion: Do not
insertthis plugin in both thebundleslayer and the user patch layer (duplicate entries with the same id will causedsh webto crash at startup). - Runtime environment: The “Open Workspace” action is performed on the computer running
dsh web. If accessing the GUI via remote desktop, the file manager window will appear directly on the server-side desktop. - Compatibility: The plugin is compatible with DSH 0.1.2-alpha.5 and 0.1.2-rc.1. After upgrading DSH, the plugin can be used directly without modification.
- License: The plugin is open-sourced under the MIT License.
Conclusion¶
dsh-open-workspace seamlessly integrates filesystem operations into the DSH workflow through two standard Web UI entry points, reducing the barrier to managing agent workspace directories in the Web interface. For more details and source code, please visit GitHub.