Introduction¶
DeepSeek Harness (DSH) Web GUI extends its functionality through a plugin system. When you need to manage SSH connections to multiple servers within the same interface, opening multiple terminal windows can be distracting. The dsh-ssh-hub plugin provides DSH with an integrated terminal panel that supports managing multiple sessions, group views, and broadcast commands within a single floating window.
Plugin Overview¶
This is a multi-server SSH terminal panel for the DeepSeek Harness Web GUI.
* Maintainer: JUNQINGV587
* License: MIT
* Core value: Provides a Wave Terminal-like multi-session management experience within the DSH interface through a draggable, resizable floating window.
Core Features¶
- Terminal window: The window floats above the GUI and supports moving by dragging the title bar, resizing by dragging the corners, and maximizing by double-clicking the title bar. When the window loses focus, only the border dims, while terminal output remains visible.
- Tabs and sessions: Each tab corresponds to one session and supports quick switching with
Alt+1-9. The tab bar displays connection status (connecting/running/closed), and an amber pulse indicator appears when output is produced. - Group view: Supports displaying multiple sessions side by side. You can merge, split, or reorder sessions by dragging tabs; dragging a tab onto another tab creates a group. Broadcast commands can be executed within a group.
- Session panel: Provides a global view showing the status and recycle countdown of all sessions, along with action entry points.
- Session ownership: Sessions are hosted by the DSH host. Closing the window, removing the view, refreshing the page, or switching conversations does not destroy the session, and it automatically reconnects after the network recovers.
- Shortcut system: Provides Wave-style Alt group shortcuts (such as
Alt+mto enlarge the view); all operations can be customized in settings. - Authentication methods: Supports four methods: password, private key (with passphrase), SSH Agent, and no authentication.
- Connection test: Before saving a server, you can perform latency and authentication checks. If the test fails, the specific reason is displayed within the window.
- Theme adaptation: The terminal interface follows the DSH GUI theme and complies with WCAG contrast standards (foreground/background contrast >= 7:1).
- Configuration and security:
- Supports settings cards (DSH >= 0.1.0-rc.7), with configurable timeout, keep-alive interval, terminal theme, and session recycle time.
- Passwords and private keys are stored locally with
0600permissions, and the API does not return this sensitive information.
Installation and Activation¶
Run the following command in the terminal to install the plugin:
dsh plugin --profile web add github:JUNQINGV587/dsh-ssh-hub
After installation, restart DSH and refresh the browser to use it.
Typical Usage¶
- Open the terminal: Click the “SSH Terminal” button at the bottom of the left sidebar, or use the shortcut `Ctrl+Shift+`` to open the window.
- Add a server: Go to “Manage Servers” -> “Add Server”, fill in the name, host, port, and username, and choose an authentication method (password/private key/SSH Agent/no authentication).
- Create a new session: In the tab bar of the terminal window, click “New Session” and select a server to establish a connection.
- Create a group: Click the “New Group” button and check the sessions, or simply drag one tab onto another tab to merge them into a group.
- Broadcast a command: In group view, click “Broadcast”, select target members, enter a command, and press Enter; the command will be sent simultaneously to all selected members.
- Enlarge the view: Double-click a text block in the terminal, or press
Alt+m, to enlarge the current content to the window size.
Use Cases and Considerations¶
- Environment requirements: Requires DSH Web GUI (tested version
dsh >= 0.1.0-rc.7) and Node.js >= 20. - Permission requirements: The SSH daemon must allow login requests from the machine running DSH.
- Security: The plugin runs with the permissions of the current DSH process. Be cautious when exposing the DSH Web service on non-loopback addresses (such as
0.0.0.0). - Build issues: When installing from a Git repository, if you encounter an
Ignored build scriptserror, you need to add theallowBuildskey in the configuration file.
Conclusion¶
dsh-ssh-hub simplifies multi-server operations and maintenance workflows through group management and broadcast features. The plugin includes a comprehensive test suite and theme adaptation capabilities, making it suitable for DSH users who frequently switch among multiple SSH sessions.
Plugin catalog: https://www.skillhub.cn/plugins/JUNQINGV587/dsh-ssh-hub
GitHub repository: https://github.com/JUNQINGV587/dsh-ssh-hub