dsh-doctor: DeepSeek Harness Diagnostic Plugin

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye