When using DeepSeek Harness (DSH) for session management, quickly accessing the working directory associated with a session is a common requirement. Existing interfaces usually only provide session operations (such as renaming and archiving) and lack a direct entry point to the file system. Manually switching to a file manager is less efficient. The dsh-open-folder plugin adds an “Open folder” feature to the ⋯ menu on session rows; clicking it opens the session’s directory directly in the default file manager of the host operating system.
This plugin is maintained by TussalZeus18028. It appends a menu item to the end of the session row overflow menu (⋯), solving the problem of quickly locating and accessing a session’s file directory. The plugin follows the MIT license.
Core Features¶
- Menu Integration: Adds an “Open folder” option at the end of the session row ⋯ menu.
- Styling and Interaction: Reuses existing menu style classes, follows the interface theme, and supports keyboard navigation.
- Localization Support: Automatically displays the Chinese label “打开文件夹” or the English label “Open folder” based on the interface language.
- Settings Page Integration: The settings page includes a “Folder Tools” section, providing usage instructions, a notification toggle, a scrollbar fix toggle, and a record of recently opened paths.
- Feedback and Confirmation: After a successful operation, a toast appears in the bottom-right corner showing “Opened folder:
“. - Chinese Path Handling: On Windows, it uses
explorer.exewith UTF-16 parameters to reliably open directories containing Chinese paths. - Theme Adaptation: Buttons, cards, and hints on the settings page adapt to light and dark themes.
Installation and Enablement¶
Install via the command line (using the web profile as an example):
dsh plugin --profile web add github.com/TussalZeus18028/dsh-open-folder
After installation, restart dsh web for the changes to take effect.
How It Works¶
- DOM Identification: The session row and the workspace group row are sibling nodes; the plugin locates the workspace by finding the previous sibling.
- Blank Sessions: For blank session rows whose titles have not yet been stored, it can still correctly resolve and open the associated workspace directory.
- Capability Pre-check: On startup, the plugin checks
host.describe().canOpenPathand injects the menu item only when the host supports opening local paths. - Scope Limitation: It injects only into the session row ⋯ menu without interfering with workspace-level menus.
- Performance Optimization: It does not use polling; instead, it uses
MutationObserverto monitor menu changes and pointer events to drive re-rendering.
Notes¶
- The plugin runs with the permissions of the current dsh process. You should review the source code and license before installing.
- After modifying the plugin’s source code, refresh the page for changes to take effect (because the content is a bundle read in real time per request).
This plugin integrates file system access capabilities seamlessly into the session management workflow with minimal changes, making it suitable for developers who frequently switch between code context and file directories.