Introduction

DeepSeek Harness (DSH) extends functionality through its plugin system. During debugging or regular use, environment configuration, port conflicts, leftover processes, and oversized sessions often cause issues. dsh-doctor is a diagnostic plugin that collects the results of checks for DSH_HOME, process status, port usage, version information, and oversized sessions into a copyable Markdown report. It does not replace the Desktop or TUI interface.

Plugin Overview

  • Name: dsh-doctor
  • Maintainer: henrytian1998
  • Category: Client
  • License: MIT
  • Role: This is a bundle, not a profile. It is installed into an existing web / tui / custom profile.

Installation and Verification

Installing the plugin requires the official plugin installation command, followed by restarting the corresponding profile.

  1. Run the installation command:
    dsh plugin --profile web add github:henrytian1998/dsh-doctor
  1. After installation, restart the profile (for example, dsh --profile web).
  2. Verify that the plugin has been loaded correctly:
    dsh --profile web --dump-config
The output configuration must include the two lines `id: doctor` and `name: dsh-doctor`. If they are missing, it means the manifest parsing failed.
  1. Check the Host startup log; it should contain the text doctor loaded.

Core Features

In v0.1, the plugin mainly checks the following:

  • Environment and Version: Reads DSH_HOME, the current profile name, and the bundles configuration. Checks the Node.js version (requires ^22.19.0 || >=24.0.0) and the dsh version.
  • Port Check: By default, checks port 3080, or the port specified by the --port argument. It lists processes currently listening, but does not flag the current process tree as an error.
  • Leftover Processes: On Windows, checks for leftover node or dsh processes. It flags processes that may belong to the profile, but does not terminate any process.
  • Oversized Sessions: Checks $DSH_HOME/sessions/**/*.jsonl and *.jsonl.zstd files. The default threshold is 50 MiB. It only reports file paths and sizes; it does not delete files or open event streams.

Usage

After installing the plugin and restarting the profile, run the /doctor command in the DSH UI.

Generated reports are saved to the following locations:
* $DSH_HOME/logs/doctor-<timestamp>.md
* $DSH_HOME/logs/doctor-<timestamp>.json (contains schema: dsh-doctor/v1)

You can refer to docs/sample-report.md in the documentation for the exact report format. When the Markdown report is pasted into GitHub Discussions, the conclusion is displayed as PASS / WARN / FAIL.

Notes

  • Bundle and Profile: Do not treat it as a new profile. It is a bundle and must be installed into an existing profile.
  • Permissions and Scope: The plugin runs with the permissions of the current dsh process. It currently does not check frameworks such as Desktop shell / Electron / Wails / Tauri, nor does it edit the official packages/client/* directory.
  • Safety Mechanism: The v0.1 version does not delete files or open event streams.
  • Version Dependency: The profile must be restarted after installation for the changes to take effect.
  • GitHub Repository: https://github.com/henrytian1998/dsh-doctor
  • Community Directory: https://www.skillhub.cn/plugins/henrytian1998/dsh-doctor