From installation to everyday use: how to use it, where to look, and what to do when something goes wrong.
Applies to 2.2.9 (DSH runtime 0.2.2-rc.1)
Supports Windows x64 · macOS Universal · Linux x64
Made by NONEAD · November 2026
35 plugins included · ready to use (see Section 9)
This is an operations manual for everyday users. It does not assume you can write code, and it does not require Node.js, pnpm, or any development tool installed beforehand — the installer bundles the whole runtime, so it works as soon as you install it.
Applies to: 2.2.9 (DSH runtime 0.2.2-rc.1) · November 2026
For: users meeting this product for the first time; read the sections in order, or jump straight to the one you need
What is new in this edition: the 35 plugins that work out of the box (Section 9, introduced one category at a time), plus the updated wizard, tray and settings page (Sections 3, 6 and 7)
In this manual
The thirteen sections are ordered as "set it up → use it → when things go wrong". If you only want to fix one specific problem, jump straight to Section 12.
1 · What this is — three layers; everyday use touches only the top one.
2 · Installation — which package for each platform, and how to install it.
3 · First launch — the six-step wizard, and "closing the window is not quitting".
4 · Main interface at a glance — what each of the four areas handles.
5 · Your first conversation — how to state a request clearly.
6 · Tray menu — every system-level entry point lives here.
7 · Settings page — what each section can change.
8 · Profiles — how to switch configurations and how failures fall back.
9 · Bundled plugins — all 35 plugins in seven categories, plus how to manage and reinstall them.
10 · Safe mode and recovery mode — how to rescue an app that a bad plugin stopped from starting.
11 · Updates — five stages and four reusable actions.
12 · Troubleshooting — a symptom table and the diagnostic export.
13 · Data and help — where files live and where to find more documentation.
1. What this is
In one sentence: it puts DeepSeek Harness's agent capabilities inside a desktop application — double-click the icon and start a conversation, letting it read and write files, run commands, and call tools.
The product consists of three layers. You only ever interact with the third one; the first two run automatically in the background.
Figure 1 The product is made of three layers; everyday actions happen on the top layer.
How does it differ from the web version? The web version can only chat. The desktop version hands the whole computer to it: read your files, run commands, install plugins, connect to your working directories — all of it happens on your machine, and data never leaves it.
The Essentials edition differs from the general edition in the software repository in one more way: it is not an empty app that ships a shell and waits for you to install plugins — 35 plugins that have already been picked and that work well together travel inside the installer. The first time you open it after installing, those capabilities are already waiting on the plugins page, with no need to hunt for each one on npm.
2. Installation
Grab the package for your platform from the product download page and double-click it. The installer already bundles Electron, Node.js, pnpm, and a pinned version of the DSH runtime, so you don't need to install anything else. This version bundles Electron 44.0.0, Node.js 24.21.0, pnpm 11.8.0, Python 3.12.14, and DSH runtime 0.2.2-rc.1.
Platform
Download
How to install
Windows x64
.exe installer
Run it and follow the prompts to finish
macOS (Universal: Intel / Apple silicon)
.dmg disk image (universal binary)
Open it and drag the icon into Applications
Linux x64
.AppImage / .deb / .rpm
For .AppImage, run chmod +x first, then run it; install .deb / .rpm with the system package manager
Table 1 Installation on the three platforms. If Linux reports missing FUSE, run it with --appimage-extract-and-run instead.
Upgrading does not mean closing the old version by hand. The installer first asks the running copy to quit, force-closes it if it does not respond, and only then overwrites the files; if it genuinely cannot be closed, the installation reports an explicit error and stops, rather than leaving you with an app that will not open after the install. Saving your work first is still worth the habit. Uninstalling works the same way: it confirms and closes the running program first, so that files are not locked halfway through the removal.
Note: the download page currently offers three builds — Windows x64, the macOS universal package and Linux x64. The Linux arm64 build is produced on the test channel and is not yet on the stable download links; if you hit native-module problems on an ARM device, use the x64 build for that platform, or a test-channel build.
3. First launch
The first startup prepares a default configuration automatically (a Profile named desktop) and starts the interface service locally. You will see a wizard first — six steps in all, and you can choose "Skip setup" at any point and fill things in later on the settings page:
Step
What it asks
Suggestion
1 Welcome
What the wizard is going to configure
Click "Start setup"
2 Plugin marketplace
Off / dsh-community-market (Beta) / dsh-market; only one can be enabled at a time
Leaving it off works fine; pick one if you want a marketplace, and you can change it later
3 Remote control
Whether to use Agents-Anywhere (Beta) to reach this computer from a phone or a browser
Leave it off if unsure; once it is on, finish pairing in the sidebar's "Phone connection"
4 Computer Use
Whether to let the AI operate the desktop (click, type, look at the screen)
Turn it off if you do not need it; even when it is on, every action still needs your approval
5 Recovery mode
Explains how to get into the recovery assistant when the app will not start
Just have a look, and remember the tray has "Recovery assistant…"
6 Bundled plugins
Introduces the plugins that ship in this installer across seven broad categories, then installs them one by one
Click "Finish and start" and wait for it to finish
Table 2 The six steps of the first-launch wizard.
The last page first gives you a category overview: memory and context, interface and workspace, agents and skills, documents and media, code and engineering, robotics and simulation, connectivity and automation — each category states what it can do for you and how many plugins it contains. Only after you click "Finish and start" does the wizard install them one at a time, showing each plugin's name, version, category, full description and a line of thanks to whoever made it. No input is needed during the installation — just let the progress run through: 35 packages go in one by one, so the first launch takes a little longer than usual.
What happens if I skip setup? "Skip setup" takes you straight to the main interface, and this batch of bundled plugins is not installed automatically. To get them back: Settings → Desktop tools → "Setup wizard", run it again and click Finish on the last page.
When the wizard finishes you land in the main interface. Closing the window is not quitting the app: by default a close only puts the window in the tray, while the background service and any running tasks carry on. To quit for real, use "Quit" in the tray menu.
4. Main interface at a glance
Area
Position
What it handles
Sidebar
Left
Session list, new session, plugin and skill entry points, task board, phone connection, settings; collapsible
Conversation area
Centre
Messages between you and it, tool calls as they happen, file edits and command output, rendered charts and panels
Input box
Bottom
Type your request; attach files, switch models, choose the working directory; interrupt at any time after sending
Desktop control bar
Top of the window
Provided by the desktop shell: back / forward, reload, window controls; its shape differs slightly by platform
Table 3 The four areas of the main interface.
The working directory matters. By default it can only read and write the directory you picked for that session. Checking the directory when you start a session is far less trouble than discovering later that the wrong place was edited.
With the bundled plugins in place, the sidebar and the input box also grow a few entry points: skill centre, task board, cost dashboard, input history, expert teams and so on. They all come from the plugins in Section 9, and turning the corresponding plugin off makes them disappear.
5. Starting your first conversation
Start a new session and set the working directory.
Say what to do, where, and what the result should look like — in one sentence. For example: "Read the README in this directory and list every download link in it that is out of date, as a table".
Once it starts working, watch the tool calls and the files it changes; if you want a different direction, interrupt it and state the new requirement.
If you are not happy with the result, say exactly what is wrong. It revises with the context in hand, so there is no need to open another session.
Three things that make a request clear:
Scope: which directory and which files may change; do not leave it open-ended.
Acceptance: what counts as done (it runs, the tests pass, the table has no empty cells).
Constraints: what must not be touched, formats that must be preserved, whether it may use the network.
6. Tray menu
Once the window is closed, the tray icon is the main way into the app. Right-click the tray icon to see:
Menu item
What it does
Open Nonead DSH Desktop
Brings the window back
Reload interface
The same as refreshing a web page; the background service is not restarted
Open DSH terminal
Opens the built-in terminal, where the dsh command is available (Windows / macOS only)
Export diagnostics…
Bundles logs and system information for a bug report
Enter safe mode…
Starts in a temporary environment to isolate plugin problems (see Section 10)
Leave safe mode and restart…
Safe mode only; returns to a normal start
Profile: <name>
Submenu: switch Profile, New Profile…, Manage Profiles…
Settings…
Opens the desktop settings page
Check for updates…
Checks for a new version by hand; when one is available, this item becomes Download / Install / Restart
Open in browser
Appears once browser access is on; opens the current interface in your default browser
Recovery assistant…
Starts recovery mode without loading the current Profile or its plugins
Quit
Quits the app for real; the background service ends with it
Table 4 The tray menu. Items ending in "…" open a window or a dialog.
The "Mode: Enhanced / Compatible / Extended" item mentioned in the previous edition of this manual has been dropped: since 2.2.9 the window mode is fixed, and only "Window appearance (material)" remains in settings.
7. Settings page
The settings entry point is at the bottom of the sidebar (Settings → Desktop settings). The sections are:
Section
What you can change
Takes effect
Profile
Choose the Profile to start with, create one, delete one (deleting moves that Profile into the recovery backup directory; shared sessions and settings are kept)
Restart
Window appearance
Solid or glass background; the Compatible / Extended / Enhanced window modes are no longer offered
Immediately
Browser and LAN
Allow opening in a browser, this computer only or the LAN, export the local CA certificate
Immediately or after a restart
Desktop notifications
Whether to send a system notification when this turn, a background task or an automation finishes or fails
Immediately
Permissions
View and request system permissions (microphone, screen recording, accessibility and so on)
Immediately
Startup
Start the app when you log in, and keep the window in the background
Immediately
Background running
Whether to keep running in the background after the window is closed
Immediately
Desktop tools
Setup wizard, open the data / Profile / log directory, developer tools, log level, developer log, open the recovery assistant
Immediately
Version and updates
Current version, check for updates, restart
Immediately
Plugins and marketplace
Moved to the plugins page: the marketplace switch and the remote-control switch both live there
—
Table 5 The sections of the desktop settings page.
Where did the plugin marketplace and remote control go? Since 2.2.9 both have moved from the settings page to the plugins page; the settings page now shows a note and a "Go to plugins page" button. The old "Settings → Plugin marketplace" path no longer works.
In safe mode this page is read-only, and browser access, LAN, remote control and notifications are disabled as well — that is by design, not a fault.
8. Profiles: several configurations
A Profile is an independent configuration set: sessions, plugins and settings each belong to one Profile and do not interfere with the others. The usual split is "work" and "personal", or "everyday" and "trying new plugins".
Figure 2 A Profile decides which set of plugins and settings is loaded; a failed start falls through to the recovery assistant.
Three practical rules:
If one Profile is broken, another one keeps you working — you do not have to repair the broken one first.
A new Profile has only the official base components; the 35 bundled plugins are installed only into the Profile the wizard completed. If you switch Profiles and want to keep using them, check the actual list on the plugins page and add whatever is missing.
Deleting a Profile moves it into the recovery backup directory (it is not erased on the spot), and shared sessions and settings are kept; for that Profile, though, it is no longer usable — so confirm before you do it.
9. Bundled plugins
This section is the centrepiece of this edition. The 2.2.9 installer ships 35 plugins across seven broad categories, installed into the current Profile automatically when the wizard first completes. Below we first explain what is installed and how it gets there, then introduce them one category at a time, and finally how to manage them and how to install them again.
9.1 What ships from the factory
The installer distributes all 35 plugin tarballs together (the plugins/ directory), and the first wizard installs them into the Profile one by one when it finishes. They are not "optional downloads" but already there once installed: open the plugins page and all 35 appear under "Installed plugins", enabled by default.
Category
Count
What this category solves
Entry points you will recognise
Memory and context
4
Lets a conversation remember how it got here, so important information need not be repeated every time
Memory recall, context dashboard, compression
Interface and workspace
9
Panels, boards and marketplace tools that arrange the workspace the way you want it
Table 6 An overview of the seven bundled plugin categories. Categories and counts come from the plugin/manifest.json inside the installer.
Why "bundled" rather than "built in"? Strictly speaking they are ordinary plugins distributed with the installer and installed into your Profile by the first wizard, the same kind of thing as what you install yourself on the plugins page — which is why they can be disabled, uninstalled and updated. That differs from genuinely built-in, non-removable base components such as dsh-base and dsh-web-app (the latter are visible under "Settings → Built-in plugins").
9.2 How bundling happens
Figure 3 The bundling flow. Installation happens after the wizard choices are saved and before the Host starts, which is why the plugins are already in place the first time you reach the main interface.
A few details worth knowing:
Installation happens one at a time: as each one goes in, the wizard shows its name, version, category, description and author. Do not close the window before they are all done.
The success criterion is that the package name appears in the Profile's package.json dependencies, not whether the command reported an error; the name is also added to profile.bundles, otherwise you end up with "installed but not enabled".
A single plugin failing does not block startup: if any fail, a summary dialog lists each name and reason, and the same lines go into the desktop log (bundled plugin not installed: <name>: <reason>); the wizard still finishes. Afterwards you can check on the plugins page which ones really are in the list.
They are installed only into the Profile the wizard completed. A Profile created later is clean; rerun the wizard or add them from the plugins page when you need them.
9.3 The detailed list by category
The following lists all 35 plugins across the seven categories. The v after a name is the bundled version; the "Good for" line is a suggestion to help you choose, not a limitation of what the plugin does.
Memory and context (4)
Lets a conversation remember how it got here, so important information need not be repeated every time.
Proactive associative memory. Before work starts it recalls the relevant past work and settled decisions and injects them into the context; three built-in layers of automatic consolidation turn daily logs into notes, ledgers and a whiteboard.
Good for: a project that runs for many days and has to be picked up again in a new session.
Indexes PDFs, Markdown documents and code symbols into a local library in the workspace, cites path:line sources when retrieving, and also stores tasks, the files it has read and lessons learned from mistakes.
Good for: many documents and a large codebase you do not want to read through again and again.
Folds a long session into summaries so it finishes in a smaller context window with fewer tokens; the vendor claims it can carry a single session running for months and billions of tokens in total.
Good for: a session that runs for a long time and keeps hitting the context ceiling.
The model can render layouts, charts, forms, quizzes, mermaid diagrams and 3D scenes in a reply with a dsh-ui fence, and clicks on the panel can be sent back to the model.
Good for: turning a wall of explanation into a clickable panel or a comparison table.
Archives, restores, favourites and permanently deletes sessions, and can diagnose a damaged session log.
Good for: clearing out history, or recovering a conversation archived by mistake.
9Enhanced Sidebardsh-better-sidebarv0.30.1 · community contributor
Puts the file tree, editor, changes, tasks and side chat into a single column, independent per session; it also offers other plugins a registration service for sidebar tabs and file viewers.
Good for: editing files while you chat, without switching windows.
10Auto Continuedsh-client-auto-continuev0.17.4 · community contributor
When a request is cut off by a network error or another non-human cause, it automatically resends a localised continue prompt; you can also turn on looping continuation after a success.
Good for: long unattended tasks.
11Cost and Quota Dashboarddsh-cost-meterv1.9.62 · community contributor
Counts tokens and cost for this session, today and history, with a built-in catalogue of 170+ model prices matched automatically; it also reads the subscription quotas of 16 Coding Plans and the balance of custom providers, and warns before peak/off-peak pricing switches.
Aggregates five community catalogues and searches GitHub and npm live, ranking by relevance, trustworthiness, freshness and popularity rather than by stars alone.
Good for: first finding out whether a capability already has a plugin.
13Visual Plugin Marketplacedshmarketv1.73.17 · community contributor
Browse and search community plugins inside DSH and install them in one click; if you pick the wrong one, disable it on the plugins page.
Good for: browsing, clicking, done.
Agents and skills (9)
More summonable agents, expert teams and skills, ready whenever they are called.
14Subagent Delegation@deepseek-ai/dsh-tool-subagentv0.2.2-rc.1 · DeepSeek Harness Team
Gives the model a named tool that hands independent tasks to a chosen subagent backend; each call returns a child id, and the runtime handles the completion notice and cleanup.
Good for: splitting independent work and running it in parallel.
One page manages the skills of every coding agent on this machine (Claude, ZCode, Codex and a dozen other executors) and can adopt them into the DSH user library in one click; includes a marketplace of 6,600+ skills and counts each skill's injection overhead.
Good for: tidying skills across tools, or checking the token cost before installing.
Ports the 15 engineering-discipline skills of obra/superpowers, with skill descriptions in Chinese and English that you can switch between, and each one can be turned on or off separately.
Good for: adding a systematic set of method constraints to everyday development.
20GitHub Workflow Skillsdsh-github-skillsv0.2.1 · community contributor
Takes OpenAI Codex's GitHub workflow semantics as the upstream baseline and adapts them to DSH's multiple providers, approval mechanism and on-demand skill loading.
Good for: making the Agent handle issues, PRs and Actions more by the book.
21PPT Generation Workflowdsh-ppt-masterv6.1.0 · community contributor
Generates editable PPTX from content, and can also output SVG snapshots, fill native templates and enhance an existing PPTX.
Good for: turning an outline or an article into a slide deck quickly.
22Proactive Agent Prototypedsh-superagentv0.1.0 · DeepSeek Harness Team
Watches a GitHub repository (optionally Feishu), evaluates requests against a Policy, turns authorised requests into tickets and runs them in a separate session, with a web panel summarising what needs a human. A DeepSeek research prototype, not an official product.
Good for: observing and experimenting with the "proactive agent" shape; not recommended to put it straight into a production process.
Documents and media (5)
Reads and writes Office documents, spreadsheets, images and video directly.
23Excel Chatdsh-excel-chatv0.43.0 · community contributor
Reads, edits and cleans spreadsheets and generates reports in natural language, re-checking formulas and fixing silent errors after every edit; the core operations do not need Excel installed locally (charts and PDF export go through Windows Excel).
Good for: bulk edits to tables, and cleaning dirty data.
Draws and edits images inside DSH just by talking, with Gemini, OpenAI, Seedream, DashScope and local ComfyUI channels, and also supports subscription accounts without an API key.
Good for: illustrations, retouching, or generating assets in bulk.
25Document to Markdowndsh-markitdownv0.2.2 · community contributor
Calls Microsoft MarkItDown to turn PDF, Word, Excel, PPT, HTML, CSV, EPUB or a web address into body text a model can read.
Good for: converting before reading any non-text file.
26Video Workbenchdsh-remotionv0.10.5 · stardustlc
Turns a React project into video, with the official Remotion skills, project search, templates, asset ordering, Studio preview and MP4 export built in.
Connects spreadsheets, documents, presentations, canvases and multi-dimensional tables to DSH; changes can be previewed, approved or discarded in the conversation.
Good for: collaborative editing and review around Excel, Word and PPT.
Code and engineering (2)
Code review and repository visualisation, for a clearer view of the engineering work.
Switches branches in a blank session and shows a visual commit graph and worktree isolation; Git operations run in the host process with safety guards.
Good for: multi-agent parallel development, or not wanting to go back to the terminal to type git.
Starts a review in the current session: an independent subagent inspects Git, the source, the callers and the tests, then brings the report back to the main session; review by scope or by requirement, with reports in Chinese and English.
Good for: a machine review pass before merging.
Robotics and simulation (2)
Controls Universal Robots arms, and lets you practise in offline simulation.
Choreographs and validates Universal Robots arm motions in simulation without a real robot; kinematic-level modelling.
Good for: getting the trajectory and the logic right first, then running it on the real arm.
Connectivity and automation (4)
Hooks up MCP, configuration and history tools to string a workflow together.
32Configuration Managerdsh-config-managerv0.7.0 · community contributor
Backs up, restores, exports, imports, migrates and syncs DSH configuration in one click, covering settings, plugins, MCP, skills and workspaces, and supports scheduled backups.
Good for: moving a whole environment to a new machine.
33MCP Connectordsh-mcp-connectorv0.2.97 · community contributor
A built-in data marketplace of hundreds of connectors, with unified management of authorisation, cross-connection tool search and connection troubleshooting; supports OAuth, API Key and HTTP/stdio.
Good for: connecting enterprise, financial, legal, patent and research data.
With an empty input box, press ↑ to recall the previous instruction, press ↑ again to go further back and ↓ to come forward again; saved per workspace and kept across restarts. A rewrite button next to the model selector optimises the draft while keeping its @ references.
Good for: reusing the same set of instructions over and over.
Rolls back in place to any earlier user message in one click, with the target message filled back into the input box; it can also restore the files that write-type tools changed, without relying on git.
Good for: starting over cleanly after a wrong turn.
9.4 Disabling, uninstalling and installing again
Disable first, uninstall second: disabling only stops a plugin loading at the next start, with its installed files and configuration still in place, so it can be switched back on at any time; uninstalling goes through dsh plugin remove and deletes the package, and the interface asks whether you accept that "the features it provides will disappear once it is uninstalled".
Uninstalling a bundled plugin frees very little space: the original .tgz files stay in the program directory's plugins/, and what you delete is the installed copy inside the Profile. To slim things down for real you need an installer without those packages, not a plugin-by-plugin removal.
Installing them back: Settings → Desktop tools → "Setup wizard", run through to step 6 and click "Finish and start" — it installs whatever the Profile is missing; you can also install by hand using the routes in 9.5.
Protected components cannot be touched: the components plugin management itself needs (the Host, the web service, file access and so on) are marked "Needed for plugin management; cannot be disabled or uninstalled"; built-in base components such as dsh-base and dsh-web-app never enter the manageable list at all, and their status is visible only under "Settings → Built-in plugins".
9.5 Installing plugins yourself: three routes
Route
Good for installing
How to use it
Plugins page
Official and third-party plugins
Sidebar "Plugins" → "Add plugin" → "Install a third-party plugin", then enter an npm package name, a Git repository address or a local directory
Plugin marketplace
Community third-party plugins
First enable one marketplace on the plugins page (or in wizard step 2) and restart, then search and install inside it
DSH terminal
A package name you already know; batch operations
Tray → "Open DSH terminal", then run dsh plugin add <package>
Table 7 The three ways to install a plugin.
The plugins page ("Plugins" in the sidebar, subtitled "Install, enable, and configure plugins") does two things:
Install a new plugin: click "Add plugin", choose "Install a third-party plugin", and enter an npm package name (such as dsh-xxx or @author/plugin-name), a GitHub repository address, or a local directory. During the installation you can pick a registry: Default registry, Official registry, Mainland China mirror, or a custom internal npm registry.
Manage what is installed: under "Installed plugins", enable, disable, uninstall and check for updates, and see each plugin's version, source and runtime status.
Plugin marketplace offers two choices: dsh-community-market (the built-in open marketplace, which supports custom data sources, Beta) and dsh-market (a popular community marketplace drawing on awesome-dsh-plugin, whose bundled package name is dshmarket). Only one of the two can be enabled at a time; the marketplace is itself a plugin, so it can also be switched on and off right on the plugins page.
Three commands in the terminal (without --profile they act on the currently active Profile):
Command
What it does
dsh plugin add <package>
Install
dsh plugin remove <package>
Uninstall
dsh plugin update
Update the installed plugins
9.6 Restart after installing, and confirm it loaded
A newly installed plugin is loaded after a restart — when the installation finishes, the interface says "Installed; restart DSH to load it." To confirm it is really there:
Open the plugins page and check that it appears under "Installed plugins" and is enabled.
Look in the sidebar for its entry point (a marketplace, a board, an expert team, a cost page and so on).
If you are still unsure, open "Settings → Logs", raise the log level and restart once; a failed load usually leaves an explicit error.
9.7 When a plugin breaks the app
You do not need to reinstall the system or delete the data directory. Use the recovery assistant from Section 10: first disable the one you added most recently under "Plugin management" and start again; if that is not enough, use "Roll back" to return to the last checkpoint that would start. Bundled plugins are no different — they are exactly like the ones you added later.
10. Safe mode and recovery mode
Both features solve the same class of problem: it will not start after something was installed. The difference is that safe mode gets you inside to work in the clean, while recovery mode stops at the door to repair.
10.1 Safe mode
Safe mode starts on its own temporary data directory: it does not read your existing plugins, settings, sessions or workspace records, so those cannot drag it down either. Your original data is not touched — not a single byte.
How to get in: tray → "Enter safe mode…"; or "Safe mode" on the first page of the recovery assistant.
What you can do in safe mode:
Find out whether it really is a plugin problem — if everything behaves in safe mode, the problem is almost certainly in a plugin or in the configuration.
Hold conversations, read and write files in the web interface, and get the urgent work done.
Read the logs and export diagnostics (the recovery assistant can export them too).
Limits (by design):
The desktop settings page is permanently read-only.
Anything that depends on persisted configuration — browser access, LAN access, remote control, desktop notifications — is unavailable.
A "Safe mode" banner stays at the top of the interface, reminding you that you are running in a temporary environment.
Getting out: tray → "Leave safe mode and restart…". Afterwards the temporary environment is cleaned up automatically at the next normal start, so it does not sit on disk taking up space.
10.2 The recovery assistant (recovery mode)
When you end up here:
You chose "Recovery assistant…" from the tray yourself.
Startup failed several times in a row and the app fell back to the recovery assistant on its own.
When the interface really will not come up, a separate "Recover DSH Desktop" dialog appears, so you can try recovery once more without restarting the background service.
The recovery assistant tells you three things: why you are here (a manual entry says "Entered recovery mode manually"), which Profile and which directory are in use, and where startup stopped (Electron initialisation → shell environment preparation → desktop runtime preparation → Profile selection → plugin configuration assembly → plugin services → desktop interface → startup result). Wherever it stopped is how far the problem reaches.
Tab
What it is for
When to use it
Quick recovery
The front door to safe mode, plugin management, checkpoints, Profile switching, data management and diagnostics
You do not know which one to pick — start here
Plugin management
Lists the directly installed plugins, with "Disable" (keeps the installation, does not load it) and "Uninstall"; built-in and protected items are read-only
You suspect the plugin you added most recently
Roll back
Restores a startup checkpoint: puts back the Profile, the shared settings.yaml and the data directory patches (including plugin enablement) as they were
You remember "it was fine yesterday"
Switch Profile
Lists the available Profiles and lets you switch or create one; the current Profile is kept
One Profile is broken; use another for now
Reset and data management
View or change the data directory, restore the default directory, reset to factory settings
Nothing else has worked
Diagnostics
View or edit settings.yaml, Profile patches and the plugin list, open the Profile directory, export the diagnostic package
You want the root cause, or you are filing a report
Table 8 The six tabs of the recovery assistant.
How roll back works: after every successful start the app stores a startup checkpoint — the configuration that was known to work at that moment. Rolling back moves the Profile, settings.yaml and the plugin enablement states back to that point together. A checkpoint shows one of three states — restorable, unreadable, or no checkpoint yet; "unreadable" means the checkpoint itself is damaged, so pick an earlier one.
Reset to factory settings: moves the current data directory to the trash (the Recycle Bin on Windows) as a whole, and a fresh default Profile is created after the restart. Project files outside the data directory are not deleted — it only clears its own configuration and sessions. Make sure you really no longer need the old sessions before you do it.
10.3 Getting out
Once it is fixed there is nothing to clean up by hand: leave the recovery assistant and start the app normally. If you clicked "Restart" from recovery mode, the app goes through the normal startup sequence again; if that fails it returns to the recovery assistant instead of looping forever.
11. Updates
Figure 4 The update flow.
Five stages: check → download → install → restart → confirm the version. Four actions you will reuse:
Check by hand: tray → "Check for updates…", or Settings → Version and updates → "Check for updates".
Restart: Settings → Version and updates → "Restart"; you can also click the update notice in the title bar.
Clear installation leftovers: a failed update is usually an old instance holding on to the files. Quit from the tray and run the installer again — there is no need to delete directories by hand.
Going back: to return only to the last state that would start, use "Roll back" in the recovery assistant. To move to the installer of another channel, take the matching version from the download page and install it over the top — Profiles and plugins are kept either way.
An update never touches your Profiles, plugins or session data — they live in the data directory, and the installer only replaces the program itself. An updated installer does bring the bundled plugin list of the new version, though: plugins newly added to that list are not installed automatically into an existing Profile, so use the wizard to add them, or install them by hand.
12. What to do when something goes wrong
Symptom
Try this first
If that does not help
Double-clicking the icon does nothing / a blank window
Quit from the tray and start again; check whether an instance is already running
Go into the recovery assistant from the tray and see where startup stopped
Startup hangs or keeps restarting
Recovery assistant → "Switch Profile", pick one that works
Recovery assistant → "Plugin management" → disable the one you added most recently
The first wizard is very slow to install plugins, or stops
35 packages go in one at a time — let the progress run through; a single package failing does not block startup
Look for the bundled plugin not installed entries under "Settings → Logs"
The interface errors after a plugin was installed; a panel returns 4xx
Disable that plugin on the plugins page, then restart
Uninstall it and use another plugin instead
A plugin is installed but has no effect
Confirm on the plugins page that it is enabled, then quit completely and start again
Look for the load error under "Settings → Logs"
The window is closed and the app cannot be found
Look at the tray icon; the app does not quit by default
Tray → "Open Nonead DSH Desktop"
A task stalls halfway
Check whether it was stopped by a safety guard or is waiting for confirmation; check the log level
Export diagnostics and report it with the time it happened
The browser will not open the interface
Check that browser access is switched on
Turn "Allow opening in a browser" back on in settings
LAN devices cannot connect
Check that LAN access is on and that the device has trusted the certificate
Check the firewall and whether the machine's IP address has changed
The update will not install
Quit the app from the tray and run the installer again
Export diagnostics and attach the installer's error
The settings page is greyed out and cannot be changed
Most likely you are in safe mode; look at the banner at the top
Leave safe mode and restart
Table 9 Common symptoms and what to try.
Exporting diagnostics
Tray → "Export diagnostics…", or the same item at the bottom of the settings page. The package contains local paths, logs, system information and, after a crash, memory fragments. Read it yourself before sharing it: paths and session fragments can contain private material.
13. Where your data lives, and where to find help
What
Where
Application data (Profiles, settings, sessions, plugins)
Windows installs into the current user directory by default (changeable at install time; the example on this machine is D:\Software\Nonead DSH Desktop); on macOS it is Applications; on Linux it is wherever the AppImage lives or the path the package manager used
The original packages of the bundled plugins
plugins/ under the program's resources directory (35 .tgz files and manifest.json)
Desktop logs
Switched on under Settings → Desktop tools; exported with the diagnostic package
Session files
The session store inside the data directory; "Diagnostics" in the recovery assistant opens the Profile directory directly
Your project files
The working directories you choose for each session; they are not in the application data and are not deleted by an uninstall
Table 10 Where data lives. With a standalone install or a changed install directory, use the actual install path.
More documentation
README.md / README.zh.md: installation, building, the development environment.
docs/: architecture notes, the release process, the plugin development guide.
Nonead-DSH-Desktop-User-Manual.en.md in the same directory, plus the HTML editions in eight languages: the same content, useful for cross-checking.
CHANGELOG.md: what changed in each version; the 2.2.9 entry carries the same "bundled plugin list (35)" as this manual.
Acknowledgements
This product is built on the upstream DeepSeek Harness and on the open-source community: Electron, Node.js, pnpm, Python, and the Cordis plugin system with its official bundle ecosystem. Thanks to the upstream maintainers and to everyone who contributed.
The 35 plugins distributed with the installer come from the following authors and teams (sorted by name; one author may have contributed several):
NONEAD Technology: Input History, Conversation Rewind, UR Robot Control, UR Offline Simulation
Community contributors: Enhanced Sidebar, Auto Continue, Configuration Manager, Cost Dashboard, Excel Chat, Document to Markdown, MCP Connector, PPT Generation, Visual Plugin Marketplace, GitHub Workflow Skills
Each plugin's exact version, author and full description travel with the installer in plugins/manifest.json, and can also be seen in the details on the plugins page.
The manual is updated with each release. If something does not match the version you are running, please open an issue on GitHub or GitCode.