Preface¶
DeepSeek Harness (DSH) uses a plugin-based architecture and supports mounting various features into the native interaction pipeline. During development or when using DSH for conversations, referencing local file paths usually requires switching contexts or manual input. The dsh-plugin-chat-menu plugin registers work-directory file browsing directly into DSH’s built-in @ trigger menu, allowing users to reference, enter, and navigate to file paths without leaving the input box.
Features¶
The core value of this plugin lies in extending DSH’s native menu and providing deep keyboard integration.
- Native integration: The plugin registers into DSH’s built-in
@trigger menu and displays alongside the “sub-agents” and “plugins” groups, with the files group placed at the front of the menu. - Name search: When characters are entered, the current level is immediately filtered by file name or directory name; if no matches exist at the current level, a recursive search is performed automatically within the current working directory.
- Level-by-level navigation: Clicking a directory item writes
@目录/to enter the next level, and continuing to enter characters lists the contents of that level. - Native keyboard: Supports moving the highlight with
↑and↓, selecting withEnteror mouse click, and canceling the menu withESC. All operations are handled by DSH’s built-in pipeline. - Prevent accidental sending: When the entire line is only
@目录路径/, pressing Enter does not send the message; pressing a space after a directory name automatically completes it to@目录/and expands the contents of that level. - Session awareness: The menu contents are generated based on the current session’s
header.cwd(working directory), ensuring consistent context.
Installation and Activation¶
Before installing, ensure that DSH (dsh web) is running normally. The environment must satisfy Node.js ≥ 20.
- Run the installation command
Use the official DSH CLI to install. This command automatically handles dependency registration, detects thedsh.bundle.patchconfiguration in the package, and writes it todsh.profile.bundlesto complete mounting.
dsh plugin --profile web add dsh-plugin-chat-menu
Or use the npx method (no need to install dsh globally):
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add dsh-plugin-chat-menu
- Restart the service
After installation, restart the DSH process and hard-refresh the browser (useCmd/Ctrl + Shift + Ron Mac) for the plugin to take effect.
Typical Usage¶
After installation and restart, enter @ in the DSH conversation input box to invoke the file menu.
- Invoke the menu: Enter
@, and the “Files” group in the native menu lists the current directory structure. - Search and filter: Enter characters directly in the menu. The list is filtered in real time at the current level or recursively searched.
- Enter a directory: Click a directory item. The input box writes
@目录/, and entering more characters continues browsing subdirectories. - Auto completion: Pressing a space after a directory name automatically completes it to
@目录/and expands the contents of that level. - Cancel: Press the
ESCkey to cancel the menu.
Notes¶
- Restart required to take effect: The dynamic plugin form is cleared when the DSH process restarts, and the plugin must be reloaded after restart.
- Form conflict: Only one form (bundle version or dynamic version) should be installed at a time. Both register the
@file menu, and running them simultaneously can cause two menus to appear. It is recommended to prefer the bundle version. - Source code review: The plugin is released under the MIT license. It is recommended to review the source code logic before installation to ensure it meets the security requirements of your personal development environment.
Summary¶
dsh-plugin-chat-menu solves the cumbersome problem of referencing local file paths in DSH conversations through native menu integration and keyboard-driven operations. It preserves the lightweight and modular characteristics of DSH plugins, and is suitable for developers who need to frequently reference file paths during development and debugging.
For more details and source code, refer to:
* GitHub repository
* DSH plugin directory