Introduction¶
In the development or operations of DeepSeek Harness, directly invoking a terminal to execute commands is a common need, but there is often a lack of control over the command execution process. Opening a terminal locally directly bypasses guardrails, while remote SSH connections require additional management tools. The DSH-NetShell plugin solves this problem by providing DSH with a unified terminal panel that can manage local shells, securely connect to remote servers, and enforce command guardrails.
Core Capabilities¶
- Local Terminal: Directly launches bash, sh, PowerShell, or cmd on the current device without requiring SSH configuration.
- Remote SSH: Manages host, port, user, and authentication method, and supports multiple parallel sessions.
- Command Guardrails: Supports
allow(direct execution),ask(wait for confirmation), anddeny(block). - Visible Execution: Manual input and AI execution are displayed in real time in the same terminal panel.
- Credential Isolation: SSH passwords only enter the DSH encrypted credential store; they do not appear in AI messages, tool results, or logs.
- Command History: View execution, interception, and allow counts, as well as the decision record for each command.
Installation and Enablement¶
Run the following command in a terminal to install the plugin:
dsh plugin --profile web add @xgone/dsh-netshell
After installation, restart DSH Web and go to Settings → Terminal to enable this feature.
Usage¶
Local Terminal¶
- Open the Terminal tab in the main area.
- In the Local Terminal row on the left, click New.
- Enter a command and observe the real-time output.
Remote Server Connection¶
- Open Settings → Terminal → Add.
- Fill in the name, host, port, and username.
- Select password, private key, or
ssh-agentauthentication. - Select the permission level; for first-time use, it is recommended to keep it at
guarded. - Return to the Terminal tab and click Connect on the server row.
AI Tool Integration¶
The plugin provides two model tools for the AI:
* netshell_servers: Lists server profiles without returning passwords.
* netshell_run: Executes a single command on the specified server.
AI and manual input share the same Guard. If a command is set to deny, it will not be executed; if a command is set to ask, the user must make the decision in the confirmation card or terminal panel.
Permission Control¶
Set permission levels to control the execution of dangerous commands:
* open: For daily use; executes directly except for hard-block rules.
* guarded (default): High-risk commands are paused and wait for confirmation.
* locked: Only explicitly allowed commands can be executed directly.
Security Boundaries and Notes¶
- Security Boundaries: This is a command-operation guardrail, not a complete security sandbox. It only protects commands entered through this plugin’s terminal and
netshell_run; SSH connections established by other plugins or general-purpose Shell tools are not within the interception scope. - SSH Fingerprints: Stored in the plugin’s private
~/.dsh/netshell/known_hosts, without affecting users’ manual SSH. - Password Security: Passwords are only used to establish the connection, and password values are not displayed in lists, tool returns, or logs.
- Dependencies: Depends on
@deepseek-ai/dsh-toolsand@deepseek-ai/cordis.
Conclusion¶
DSH-NetShell provides DeepSeek Harness with an integrated terminal management solution. Through guardrail and credential isolation mechanisms, it facilitates AI-assisted operations while retaining the necessary manual confirmation. For more details or to submit issues, visit the GitHub Repository.