DeepSeek Harness (DSH) is an agent development framework, and pluginization is one of its core features. During development or debugging, it is common to operate a Web interface in a browser or manage SSH tunnels in a terminal. The dsh-console plugin directly integrates Web service management, SSH tunnel operations, and one-shot asking into DSH’s slash-command plane, reducing the inconvenience of switching between windows.

Core Features

The plugin is maintained by Isanti2016 and provides the following capabilities:

  • Manage Web services: Start, stop, restart, or check the status of the DSH Web UI from the command line.
  • Manage SSH tunnels: Quickly establish an SSH tunnel and map a remote service to a local port.
  • One-shot asking: Send a single request using a headless profile and receive the result.
  • Console TUI: Launch a graphical console interface in the terminal.

Installation and Enabling

Installing the plugin requires specifying --profile web, because it primarily serves the Web context. Run the following command:

dsh plugin --profile web add dsh-console

After installation is complete, restart the dsh web service to use the related commands.

Typical Usage and Configuration

Zero-configuration Status Checks

Before specific parameters are configured in cordis.patch.yml, the plugin provides default behavior. After restarting dsh web, run the following commands directly to check the basic status:

  • /web status: Check whether the Web UI is running (including port and PID).
  • /tunnel status: Check whether the SSH tunnel has been established.

Configure SSH Tunnel

If you want to use /tunnel start to start a tunnel, you must configure the target host information in the profile’s cordis.patch.yml.

- id: dsh-console
  config:
    tunnelHost: '192.168.1.100'        # SSH 服务器地址
    tunnelUser: 'root'                  # SSH 用户名
    tunnelKey: 'C:\\Users\\you\\.ssh\\id_rsa'  # SSH 私钥路径(可选)
    tunnelLocalPort: 3081               # 本地监听端口
    tunnelRemotePort: 3080              # 远程转发端口

After configuration is complete, run dsh plugin --profile web again and restart the service. The /tunnel start command will then take effect. The plugin executes the command ssh -N -L <tunnelLocalPort>:127.0.0.1:<tunnelRemotePort> ....

Configure Console TUI

If you want to use /console to launch the TUI interface, you must configure the launch command. If consoleCommand is empty, the command will be disabled.

- id: dsh-console
  config:
    consoleCommand: 'python C:\\tools\\dsh-tui\\main.py'

One-shot Asking

Use the /ask <question> command to run a headless profile. The result is rendered through the command plane and does not enter the model history. This command is limited by askTimeout (default 150 seconds), and it will be terminated on timeout.

Security and Notes

  1. Process Termination: Running /web stop or /web restart in the Web Profile will terminate the current process serving the UI.
  2. SSH Keys: /tunnel start uses the configured SSH key to connect. Only configure keys for trusted sources.
  3. Automatic Detection: The dshBin parameter is empty by default, and the plugin automatically detects the bin.js path from the running process (via process.argv[1]). If running from source, this item usually does not need to be configured.

Ecosystem Context

The philosophy of DeepSeek Harness is “everything is a plugin.” Community catalogs (such as SkillHub) have no affiliation with official DeepSeek. The plugin introduced in this article is a tool contributed by developers. Before using it, we recommend checking the source code and license.


  • Plugin Directory: https://www.skillhub.cn/plugins/Isanti2016/dsh-console
  • Project URL: https://github.com/Isanti2016/dsh-console