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), and deny (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

  1. Open the Terminal tab in the main area.
  2. In the Local Terminal row on the left, click New.
  3. Enter a command and observe the real-time output.

Remote Server Connection

  1. Open Settings → Terminal → Add.
  2. Fill in the name, host, port, and username.
  3. Select password, private key, or ssh-agent authentication.
  4. Select the permission level; for first-time use, it is recommended to keep it at guarded.
  5. 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-tools and @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.