DeepSeek Harness Toolkit: A toolbox for those who don't want to tend the stove — it watches the oven for you

DeepSeek Harness Toolkit logo
Introduction
DeepSeek Harness (dsh) is DeepSeek's official tool. The officially recommended usage isn't hard, but it's very “kitchen”: first prep the ingredients (install Node.js), then light the stove (type two commands), and every time you want to use it afterward, you have to hover around the stove.
But there will always be people who just want to eat bread, not tend the stove.
And so this project was born — DeepSeek Harness Toolkit: a third-party toolbox that works with a double-click, packing installation, startup, monitoring, backup, restore, uninstall, and even “how to fix a broken entry” all into a single exe. It's like fitting the work of an entire kitchen into a small baking pan.
From launcher to toolbox: it has grown
At first it was just an “unofficial launcher” — a few bat scripts handling the most basic install and startup. Later it was fully rewritten in C# and became a single-file program. Now it is no longer just a “press-to-start” switch, but a toolbox where every tool in the kitchen is polished and laid out:
| Feature | Description |
|---|---|
| Smart start | Detects service status on launch (three states: running / starting / stopped, with dual port + HTTP verification, so another program occupying 3080 won't be misjudged): if already running → go straight to the status page; if not running → auto-start after a 5-second countdown (only when dsh is installed; if not installed, the menu waits for your choice, no auto-install) |
| Install / repair | Asks for a source at install time: default official source npmjs.org, optional domestic mirror npmmirror; if it fails, automatically retries with the other source without polluting the global npm config; Enter = install latest version, L = view historical versions for optional installation |
| Status monitoring | Auto-refreshes service status/port/uptime every 3 seconds, with red-text alerts when the service goes offline; on the monitoring page press 1 to return / 2 to open WebUI — as reassuring as watching the oven temperature |
| Desktop shortcut | After successful installation, asks whether to create one (Y/N); while running, press I on the monitoring page to generate it anytime; the option is automatically hidden if a shortcut already exists. Double-click the desktop icon to enter the oven room |
| Update dsh (menu 8) | Check for new version → choose version (Enter for latest / L for history list, supports rc pre-releases) → destructive warning with double confirmation → automatic backup before update (-pre-update) → records local historical versions (up to 10); refuses to update while dsh is running; no automatic rollback on failure — it shows the backup location and manual rollback command |
| Backup / restore | One-click backup of the data directory to backup`, supports **multiple workspaces** (auto-detected + manually specified, split by _workspace名称`, restorable one by one) and cross-computer import; built-in \?\ long-path support, so even >260 characters is no problem; manual backups are kept forever, and when automatic/protected backups exceed the quota (default 10), the oldest are automatically cleaned up |
| Access entry | 127.0.0.1 / localhost selectable and remembered — seeing 403/blank? Most likely the browser treats them as different sites, just flip with one click |
| Uninstall | Data is kept by default; clearing data requires two-step confirmation (today's date + yes) and automatically backs up before clearing; if the Web service is running, clearing is directly blocked |
| Data location | Automatically identifies the dsh data directory (prefers ~/.dsh, compatible with %APPDATA% and other locations) |
| Self-check report | Health-check page / selftest: gives Chinese-language prompts on failure, instead of throwing a terminal error line at you |
| Log rotation | When logs\launcher.log exceeds 1MB, automatically archive it as launcher.log.1 (keeping 1 historical copy), no more silently dropped logs |
| Multilingual | Follows system / Simplified Chinese / English, with persistent selection |
This update: bringing the oven to the desktop
The toolbox's latest two versions (v2.1.3 → v2.1.4) did two things:
First, it fixed a hidden old bug: when installing updates for dsh or installing Node, if the child process output filled the pipe buffer, the whole program would freeze. Now a background thread drains and forwards stdout/stderr in real time — and a “1MB flood” regression test was added specifically to prevent this bug from coming back. It's the kind of fix where “you wouldn't have found it yourself, but once it's fixed, the world is quiet.”
Second, it added a desktop shortcut: after a successful install, it asks “would you like to create a shortcut?”; while running, press I to generate one anytime; if one already exists, the option is automatically hidden. You can also create it from the command line with Toolkit.exe shortcut. Double-click the desktop icon and you're in the oven room in one step.
Security design: open source + reproducible builds + triple deletion protection
This kind of double-click-and-run exe inherently has a trust barrier — so the project did three things:
1. Fully open source (MIT), with no hidden source code and no third-party dependencies.
2. Reproducible build + self-verification: GitHub Actions automatically compiles the exe when a tag is pushed, regenerates the hash manifest (hashes.txt), and packs and uploads it to the Release. The repository stores no binaries, so anyone can verify that “the exe you downloaded is exactly what the source code compiles to”; any binary claiming to be “officially compiled” is exposed the moment its fingerprint is compared.
3. Triple-gate deletion protection: “Clear all data” during uninstall is the most dangerous operation — it deletes ~/.dsh (including sessions and API credentials). The project provides ample insurance:
- First gate: automatically backs up to
backup\before clearing - Second gate: two-step confirmation (enter today's date +
yes) - Third gate: triple verification — blocks directly while the Web service is running; the root-directory marker
.dsh_launcher_rootdistributed with the package must exist (to prevent the exe from being copied elsewhere and accidentally deleting the wrong thing); the target directory must contain dsh data characteristics (settings.yaml / credentials.yaml / sessions, etc.)
Just like a safety check before turning off the stove: only when the fire is out, your hand is steady, and the stove is confirmed to be from this shop, do you act.
Testing: it tests itself
There is no test framework and no third-party dependencies; it uses C#'s /define:UNIT for same-assembly unit tests plus a stubbed end-to-end integration test matrix (touching only stub directories, never real data). There are now 109 unit tests + 29 integration cases, covering path round-trips, workspace blacklists, port three-state determination, backup retention policy, and even tricky scenarios like “a 1MB output flood clogging the pipe”; GitHub Actions automatically runs both suites on every push. The bread only gets served after they've tasted it themselves.
First use (three steps)
- Extract the uploaded package to a dedicated folder (the program writes its backups and configuration in the exe's directory; placing it on the desktop will clutter the desktop)
- Double-click the exe: if dsh is not installed → the menu waits for your choice; press 1 to install (default official source, mirror optional, usually 1–3 minutes); after installation, it asks whether to create a desktop shortcut
- Select 2 Start Web UI in the menu, and the browser opens automatically
Honest limitations
- This is a third-party, unofficially maintained project, unrelated to DeepSeek official, and does not promise compatibility with future dsh versions (if dsh later changes its default port / startup command / data directory, this tool will need to be updated accordingly)
- It distributes a Windows exe, and the trust gap is covered by “open source + hash manifest.”
- If you're comfortable with the terminal, using the official npm commands directly is lighter and faster; this tool is for people who “don't want to touch the terminal” — after all, there will always be people who just want to eat bread, not tend the stove.
Get it
GitHub: https://github.com/sakanamaru/DeepSeek-Harness-Toolkit
MIT licensed. Source code, build scripts, hash manifest, and tests are all in the repository. When reposting or redistributing, please retain the attribution and the “unofficial” notice.
In Misty Star Town, the bakery's oven is never empty.
v1 script assistance: SOGR-Momono Dango · v2 refactor and packaging: DeepSeek DSH · GitHub: @sakanamaru