Reading guide
Nonead DSH Desktop User Manual
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.
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 five-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 — six system-level entry points.
- 7 · Settings page — what the five sections can change.
- 8 · Profiles — how to switch configurations and how failures fall back.
- 9 · Plugins and the plugin marketplace — two ways to install, and "restart after installing".
- 10 · Installed plugins — what all 35 plugins on this machine do and how to use them.
- 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.
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 | Open it and drag the icon into Applications |
| Linux x64 | .AppImage | First grant the execute bit with chmod +x, then run it by double-click or from the command line |
Note: Windows ARM64 is currently an experimental build — the bundled Python / Node runtimes are still x64 payloads and it has not been fully validated on ARM devices. Everyday users should use the x64 build.
3. First launch
The first startup prepares a default configuration automatically and starts the interface service locally. You will see a wizard first:
- Welcome page — introduces the product's basic positioning.
- Plugin marketplace — choose whether to enable the community plugin marketplace. Choosing "Do not enable" is remembered too, so it will not ask you again.
- Remote control — whether phones and other devices may connect to this desktop instance.
- Computer Use — whether it may operate your mouse and keyboard.
- Recovery mode — introduces how the "safety net" works when something breaks.
4. Main interface at a glance
The main window is simple: from top to bottom and left to right there are only four areas.
| Area | What it does |
|---|---|
| Desktop frame | The 36 px dark bar along the top. Drag the window from the empty space; click the icons directly. |
| Sidebar | Session list, workspace and file entry points, plugin entry points. Switch sessions any time; all history stays. |
| Conversation area | What you type, its replies, and tool-execution results all appear here. |
| Input box | Where you describe the request. The more specific it is, the closer the result is to what you wanted. |
5. Starting your first conversation
- In the input box, state clearly what you want, e.g. "convert every png in this directory to webp, keeping the original size".
- Press Enter to send. It understands first, then plans, and calls tools when needed.
- For risky operations such as writing, deleting, or running commands, a native confirmation dialog appears and you approve or reject it.
- Results appear in the conversation; if you are not satisfied, just say "change it to ..." — no need to start over.
6. Tray menu
Most system-level operations live in the tray icon. Right-click the tray icon and you will see these entry points:
- Open Settings — go to the desktop settings page.
- Check for Updates — check for a new version manually; you get a result even when you are already up to date.
- Switch Profile — switch between configurations (see Section 8).
- Recovery Assistant — roll back to the most recent working configuration when startup fails.
- Open DSH Terminal — open a terminal that already has the environment variables set.
- Quit — close the application for real.
7. Settings page
The settings page is divided into five sections by function, from left to right:
| Section | What you can do here |
|---|---|
| General | Start at login, interface language, local web port, and the update card (including "Release notes" and manual checks). |
| Profile | View and create profiles, switch the Profile in use. |
| Tools | Open the DSH terminal, restart normally, restart in recovery mode. |
| Recovery | List healthy snapshots and roll back; each rollback first snapshots the current state. |
| Permissions | Manage system permissions such as Computer Use. |
8. Profiles: several configurations
A Profile can be understood as "an independent configuration set": different plugin combinations, different patches, different settings. You can keep several ready at once and switch between them by scenario without interfering with each other.
Remember three things:
- Switching a Profile restarts the application; that is by design, not a hang.
- Plugins are not copied automatically between Profiles — if you need another set, install them explicitly in the terminal.
- In most cases all Profiles share the same session and settings data, so history is still there after you switch.
9. Plugins and the plugin marketplace
A plugin adds capability to this assistant: add models, add tools, add interface panels, add automation flows. Official plugins can be installed directly, and several plugins can be active at the same time.
Two ways to install:
- Plugin marketplace — browse inside the interface, search by name, click Install. The marketplace and the desktop shell are mutually exclusive within one composition, so they never conflict.
- Command line — in the DSH terminal opened from the tray, run
dsh plugin add <plugin-name>;removeuninstalls,updateupgrades.
10. How the 35 plugins I installed are used
This section goes through the 35 plugins actually installed in your current desktop profile one by one; names and versions were measured from this machine's profile (snapshot date 2026-11-08). They are grouped into seven categories by purpose: each category opens with a one-line overview, then each plugin is explained in terms of what it does and when you would reach for it.
They are not isolated from one another; in practice they form a chain from "remembering context" to "delivering results":
dsh plugin add <plugin-name>, uninstall with remove, upgrade with update. Every change requires restarting the application. Commands apply to the currently active Profile by default; add --profile <name> to target a specific one.
Category 1 · Memory and context (5)
This category solves the problem of "it can't remember what was said last time".
@a9i5k4/dsh-auto-memory3.3.17Proactive associative memory: relevant memories are recalled automatically before the model speaks, organized across three layers on its own, and repeated workflows can be distilled into skills.
How to use: no extra steps — it decides what to recall by itself; to have it tidy old memories, say "organize my recent experience".
@yolk_vat-y/dsh-project-memory0.6.11Indexes documents (PDF / Markdown / plain text) and code symbols into a per-workspace, searchable library; recall comes with source citations.
How to use: when you enter a project, have it index once; afterwards ask "how is XX implemented in this project" and it answers with file citations.
dsh-context0.82.1Shows what the current context is made of and how much it takes, and trims it accordingly so conversations do not get slower as they grow.
How to use: when the conversation slows down or the context is reported as too long, open its panel to see the composition and drop history you no longer need.
dsh-nonead-prompt-recall0.8.7With an empty input box, press ↑ to bring back the previous input, and press it again to walk further back; press ↓ to come forward. History is stored per workspace and survives restarts. Next to the model selector there is also a rewrite button: it rewrites your half-written prompt with the current model, and @ references are preserved.
How to use: to reuse that long prompt from a moment ago without retyping it, press ↑ in an empty input box.
dsh-nonead-prompt-rewind0.5.4Rewinds the conversation to an earlier turn inside the window, and can restore the workspace files at the same time.
How to use: use it when you went in the wrong direction and want to "go back three steps and start again" — cheaper than opening a new session.
Category 2 · Skills and experts (8)
This category solves "when a concrete task comes up, how to make it follow a professional playbook".
@michengai/dsh-skills-manager1.2.35Loads and safely manages local Agent Skills in one place, so skills from several sources do not overwrite each other.
How to use: after installing a new skill, confirm here that it loaded correctly and its origin is clear, then decide which ones to enable.
@weibaohui/skills-management0.9.3One page that manages the skills of every coding assistant on this machine (Claude, Codex, ZCode, and more than ten others), with one-click consolidation into DSH; includes a marketplace of 6600+ skills, sortable by injection cost.
How to use: search here first when you want an off-the-shelf skill for a capability; check its token cost before installing, and don't install too many at once.
@linxin666/dsh-client-ui-skill-explorer0.4.15Browse loaded skills by origin (built-in / project / user / custom / runtime); enable, disable, create, and delete them.
How to use: when you suspect a skill is not taking effect, check here which layer it belongs to and whether it was disabled.
@wenaixi/dsh-superpower8.0.0Packages 15 obra/superpowers engineering skills (requirement clarification, TDD, systematic debugging, code review, and more) with bilingual descriptions, individually switchable.
How to use: let development tasks go through this flow first; switch off individual skills you don't need to reduce interference.
@michengai/dsh-agency-agents1.2.26331 summonable specialist agents across 22 divisions; summon a single expert on demand or assemble a team.
How to use: for a question that needs a specialist's eye, just say "have XX expert look at this"; complex tasks can be handled by a parallel team.
dsh-github-skills0.2.1Ports the GitHub workflow semantics from OpenAI Codex: reviewing PRs, handling review comments, checking CI, publishing, and more.
How to use: inside a repository, say "look at the review comments on this PR" or "why did CI fail", and it follows the matching workflow.
@tt-a1i/archify-dsh1.0.0Turns requirements or code structure into interactive architecture, workflow, sequence, and lifecycle diagrams as standalone HTML, with dark and light themes and export.
How to use: say "draw the architecture of this system" — it reads the code before drawing, rather than inventing a layout.
dsh-ppt-master6.1.0An AI-driven presentation workflow: generate editable PPTX decks, reconstruct page visuals, and fill native templates.
How to use: give it a topic and key points, or have it build from an existing document; to change the layout say "switch to a native template".
Category 3 · Interface and efficiency (8)
This category improves "the interface you see every day" and "how much it costs".
dsh-better-sidebar0.30.1Pulls the file tree, editor, changes, tasks, and side chats into one column, isolated per session. It also exposes a service so other plugins can mount their own tabs and file viewers into this sidebar — the "right-hand panel keeps reporting 4xx" case in Section 12 is a plugin that never got that service.
How to use: while editing code you don't need to switch windows back and forth — view files, see diffs, and open a side chat directly on the right.
@linxin666/dsh-client-ui-task-board0.4.15A Host-authoritative task board: cards can actually execute, with cron scheduling and cross-platform sleep protection.
How to use: break the work into cards on the board and let it run them in order or on schedule.
@linxin666/dsh-client-ui-git-graph0.4.14A branch picker plus a Git relationship graph for empty sessions, with real Host-side git operations and safety checks.
How to use: before starting a new session, read the branch relationships on the graph so you don't start work on the wrong branch.
@changfenhuang/dsh-genui0.15.0Renders interactive components directly in replies: layout, charts, function plots, forms, quizzes, and more.
How to use: when you want a chart or a comparison, just say "show me as a table/chart" and it renders as an operable panel.
dsh-notify-say0.5.3Desktop notifications are actually spoken aloud: Windows built-in TTS works out of the box (nothing to download), VOICEVOX voices are optional, and it can fall back to system sounds. It also waits until every subagent you dispatched has finished before announcing "this round is done".
How to use: let a long task run while you do something else; it makes a sound when it completes. You can switch voices in Settings.
dsh-cost-meter1.9.58Tracks this session's and today's cost, with a built-in catalogue of 170+ model prices matched automatically; it also queries subscription quotas across 16 Coding Plans, and custom-provider balances (any HTTP endpoint), shown as progress bars.
How to use: glance at today's spend before a long task; compare unit prices when switching models so you don't use an expensive model for cheap work.
@michengai/dsh-archive-manager1.2.8Archive, restore, pin, and permanently delete sessions, and diagnose corrupted session logs.
How to use: archive the old ones when the session list gets too long; if a session won't open, diagnose its log with this first.
dsh-client-auto-continue0.17.4When a session stops for a reason that isn't yours — a network error, for example — it sends a continuation prompt on your behalf and picks the conversation back up; the engine runs inside the host process, so it keeps working even after you close the browser tab. By default it only recovers from interruptions; the autonomous loop that keeps going after a task finishes has to be turned on explicitly in Settings.
How to use: turn it on when your network is unreliable or when you're running a long task, and the conversation is already picked up when you come back; if you want it to keep working round after round on its own, enable the autonomous loop separately.
Category 4 · Collaboration and development (8)
This category turns "one assistant" into "one team".
@deepseek-ai/dsh-tool-subagent0.2.2-rc.1A model-facing subagent delegation tool: hand a self-contained subtask to another agent to do, without consuming the current conversation's context.
How to use: when a task splits into pieces that don't depend on each other, have it dispatch them in parallel and keep only the conclusions in the main conversation.
@deepseek-ai/dsh-subagent-claude-code0.2.2-rc.1A one-shot Claude Code subagent built on the official Agent SDK: give it a task and collect the result once it finishes.
How to use: name it explicitly when you need Claude Code's capabilities (large-scale code changes, running tests).
@deepseek-ai/dsh-subagent-codex0.2.2-rc.1A one-shot Codex subagent built on the official app-server protocol.
How to use: use it when you want a piece of implementation completed independently by Codex; it can coexist with the Claude Code subagent.
@michengai/dsh-code-review1.0.8Codex-style code review: an independent native sub-agent, selectable review scope, reports in English or Chinese.
How to use: before committing, ask "review my changes this time" — it checks by scope across the diff, related code, and uncommitted files.
dsh-superagent0.1.0A proactive agent for a single GitHub repository: watches GitHub (optionally Feishu/Lark) and evaluates incoming requests against rules.
How to use: enable it when you want it to watch issues / PRs for you; first confirm which repository it applies to and its trigger rules.
dsh-find-plugins0.3.0Finds plugins across five community catalogues plus live GitHub / npm search, ranked by relevance × trust × freshness × popularity.
How to use: before adding a capability, ask "is there a plugin for this" — more accurate than rummaging through the marketplace directly.
dshmarket1.73.14A visual plugin marketplace inside the interface: browse, search, one-click install.
How to use: open the marketplace from the settings page, and click Install when you find what you want; it takes effect only after a restart.
dsh-mcp-connector0.2.94An MCP marketplace for enterprise, financial, legal, patent, and research data sources, managing authorization, search, and invocation.
How to use: when you need external data, find the connector here and authorize it first; check what permissions a call requires before invoking it.
Category 5 · Robot control (2, built in-house by NONEAD)
This category lets DSH drive Universal Robots arms directly in natural language.
dsh-nonead-universal-robots0.8.6Control UR robot arms in natural language: read state, move joints, move linearly, force mode, I/O and registers, conveyor tracking, and more, built on the same logic as the in-house nUR MCP Server.
How to use: say "connect 192.168.x.x" first, then issue actions. Motion commands are subject to an approval gate by default and need your confirmation one by one.
dsh-nonead-ursim0.3.14The offline-simulation variant of the same logic: drive a virtual UR arm to validate trajectories when no real robot is present.
How to use: get the motion working in simulation and confirm nothing collides before going on the real arm; simulation models kinematics only — force mode and I/O have no semantics.
Category 6 · Images and media (3)
This category turns results into things you can deliver directly: images, video, documents.
dsh-image-gen0.10.3Brings ChatGPT-style image generation into DSH: Gemini, OpenAI, Seedream, and DashScope are supported, and local ComfyUI workflows can be used too; it comes with a canvas where you can sketch and pick reference images.
How to use: say "draw a ..." and it produces the image attached straight to the conversation; to change an existing image say "change this one to ...". Switching provider or model has to be stated explicitly — by default it uses the one configured in Settings.
dsh-remotion0.10.5Official Remotion skills plus project retrieval, templates, asset ordering, Studio preview, and MP4 export.
How to use: enable it when you need a video or a title card; look at templates before editing — faster than writing components from scratch. Preparing the environment the first time downloads dependencies, so it needs network access.
dsh-univer-office0.4.0DSH × Univer integration: inline document preview, floating worktree windows, and review actions at session end.
How to use: when it produces spreadsheets / documents / slide decks, the result previews right in the panel — no need to download and open it.
Category 7 · System maintenance (1)
dsh-config-manager0.4.3Backs up, restores, exports, imports, migrates, and syncs a whole DSH configuration: settings, plugins, MCP, skills, agent presets, and more.
How to use: export once before a major configuration change; when moving to another machine, restore with import — far faster than reconfiguring item by item.
dependencies in profiles/desktop/package.json under the data directory.
And don't switch everything on at once. The more plugins you have, the more context and startup overhead they cost. The Skills market mentioned above shows each skill's injection cost — estimate before installing. Anything you don't need for now can be disabled and re-enabled when it matters.
11. Updates
The application checks for new versions quietly in the background without interrupting you. When it finds one, it only signals on the tray icon; it never opens a popup on its own.
A few practical switches:
| Action | Effect |
|---|---|
| Skip this version | That version stops being offered; still in effect after restarts |
| Stop skipping | Clears the skip record; the version is offered again |
| Retry install | Reuses the installer package already downloaded, no re-download |
| Install and restart | Installs and restarts directly once it is ready |
12. What to do when something goes wrong
Start with the table below; the vast majority of problems can be solved by yourself.
| Symptom | What to do |
|---|---|
| The window is gone | Check the system tray. Closing the window only hides it; it does not quit. |
| Nothing responds / it keeps spinning | Wait a moment; if it is still unresponsive, restart from the tray menu, or use "Restart in recovery mode". |
| Crashes at startup, can't get in | Use the Recovery Assistant to roll back to the most recent working configuration. It snapshots the current state first, so the rollback itself can be rolled back. |
| A plugin installed but has no effect | Confirm the command applied to the correct Profile, then restart the application. |
| Asked for an image but none appeared | Image generation needs an image provider configured in Settings first (API credentials, or a logged-in subscription account). Until that is done it only tells you no provider is available. |
| Command not found in the terminal | Open a fresh "DSH Terminal" from the tray again; the desktop app does not modify the system PATH. |
| The right-hand "Files" panels keep reporting 4xx | Usually a plugin is missing a service it depends on and stays stuck. Search logs/ in the data directory for pending (waiting for service:, then disable the plugin in question and restart. |
| No update notice received | The background check is silent. Use "Check for Updates" in the tray or in Settings to see the result. |
Exporting diagnostics
If a problem needs to be reported to the maintainers, right-click the tray icon to export a diagnostic bundle. It collects the most recent logs; identifiable credentials in the logs are masked, but local paths, workspace names, and session IDs may remain — check the content yourself before uploading it publicly.
13. Where your data lives, and where to find help
| Content | Location |
|---|---|
| Data directory (sessions / settings / logs) | Default ~/.dsh; on Windows it is %USERPROFILE%\.dsh |
| Logs | logs/ inside the data directory |
| Window position and size | window-state.json in the application data directory |
| Desktop settings (including the port) | desktop-preferences.json inside the data directory |
| Environment variable overrides | .env in the application data directory (strict KEY=VALUE, does not override real environment variables) |
More documentation
- A shorter getting-started guide —
docs/user-guide.md - Frequently asked questions (platform differences, usage boundaries) —
docs/faq.md - Why there is a desktop version —
docs/why-desktop.md - Architecture notes —
docs/architecture.md - Plugin development and the ecosystem —
docs/plugin-development.md,docs/plugin-ecosystem.md
Acknowledgements
This manual exists because of other people’s work.
DeepSeek and the DeepSeek Harness upstream team — the product is built on unmodified upstream: the agent loop, tool calls, plugin host and web UI all come from it, and its public code and documentation are the technical basis of this manual.
The authors of the 35 plugins — most of them are independent community projects. Grouped by repository ownership — these are the GitHub accounts and organisations:
Aik358·omdsh-dev·zhu1090093659·MichengAI·Wenaixi·weibaohui·tt-a1i·00080000·HsiangNianian·xiajiajun516·bowenliang123·Han-1413141·Eray114514·Starfie1d1272·shanliuling·duhu2000·unifilitence·pn1024·STARDUSTLC666·DreamNum / Univer·dsh-market·DeepSeek Harness Team·NoneadChina
The installer also stands on open-source projects: Electron, electron-builder, pnpm, the Node.js and Python runtimes, and many authors in the upstream dependency tree. If a name is missing or wrong, please open an issue in the repository.
Legal name:Suzhou Nonead Robot Technology Co., Ltd.
Address:房间 9-10, 4F, Building B, Tengfei Xinsu Fang, No. 5 Xinghan Street, Suzhou Industrial Park, Jiangsu, China
Website:https://www.nonead.com
Tel:0086-0512-67263000
Email:service@nonead.com
