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.
- Run the installation command:
dsh plugin --profile web add github:henrytian1998/dsh-doctor
- After installation, restart the profile (for example,
dsh --profile web). - 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.
- 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 thedshversion. - Port Check: By default, checks port
3080, or the port specified by the--portargument. It lists processes currently listening, but does not flag the current process tree as an error. - Leftover Processes: On Windows, checks for leftover
nodeordshprocesses. It flags processes that may belong to the profile, but does not terminate any process. - Oversized Sessions: Checks
$DSH_HOME/sessions/**/*.jsonland*.jsonl.zstdfiles. 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
dshprocess. It currently does not check frameworks such as Desktop shell / Electron / Wails / Tauri, nor does it edit the officialpackages/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.
Links¶
- GitHub Repository: https://github.com/henrytian1998/dsh-doctor
- Community Directory: https://www.skillhub.cn/plugins/henrytian1998/dsh-doctor