Preface

DeepSeek Harness (referred to as DSH, with the command-line entry dsh) treats models, tools, skills, sessions, and UI as plugins. The official recommended starting method is to first install Node.js, then run npx @deepseek-ai/dsh web, and open the local loopback address with a browser. This path is not complicated for those already familiar with the Node environment, but for users who just want to use the Web interface directly on a Windows or Linux desktop, the costs add up across runtime installation, port selection, browser tabs, and plugin management.

The community project Deepseek-Harness-EAC packages the official @deepseek-ai/dsh into an Electron desktop shell: it has a built-in standalone Node runtime and npm CLI, double-clicks to start the local dsh web, and loads the interface into a native window. EAC is the abbreviation of Embracing All Creation, and the repository translates it as “揽尽万象” (meaning it allows one-click installation of skins, plugins, tools, and memories within the client, without modifying the official core). It is maintained by GitHub user zouyuxuan122, and the community plugin directory categorizes it under the “Theme & Appearance” section. This article is compiled after cross-checking the details of the directory page, the repository README / package.json, GitHub Releases, and the official DeepSeek Harness documentation.

You first need to clarify the two levels of relationship. DeepSeek Harness itself is an Agent Harness open-sourced by DeepSeek AI, with the slogan “Everything is a plugin”. Deepseek-Harness-EAC is a community-packaged desktop client, not an official application; deepseek-harness-plugin.com is an independent community directory, which has no official affiliation with DeepSeek / Horizon Robotics, and inclusion does not mean security endorsement.

What is this

Deepseek-Harness-EAC is an open-source Windows / Linux desktop client, with the repository address at zouyuxuan122/Deepseek-Harness-EAC. As of 2026-08-17, the GitHub API shows the repository has approximately 564 stars; the star count on the community directory page is 78, which is inconsistent with the first-hand GitHub data, so we will use the GitHub data hereafter. The dsh-desktop/package.json declares the license as MIT and depends on @deepseek-ai/dsh@0.1.0-rc.6; there is no separate LICENSE file in the repository root, and GitHub metadata does not automatically recognize the license, so you should still verify the source code and third-party skin licenses before installation.

The problems it aims to solve can be summarized into three points:
1. The target machine does not need to have Node.js pre-installed to run the official dsh web.
2. Replace the browser tab with a native borderless window and system tray, and closing the window will not interrupt running tasks by default.
3. In addition to the official default appearance, it includes 10 sets of Web UI skins, and supports supporting functions such as a plugin marketplace, session file tracking, and in-session terminal.

The README emphasizes “zero changes to the core”: EAC directly runs the official dsh web, fully retaining the “Everything is a plugin” architecture; it uses DSH_HOME by default (usually ~/.dsh), and existing sessions and API Keys can take effect directly. The desktop client uses a dedicated web-desktop profile, the plugin tree is isolated from the native CLI, but sessions and keys are still shared.

Core Features

Runtime-free Installation and One-click Startup

The official startup command is:

npx @deepseek-ai/dsh web

This requires Node.js to be pre-installed on the local machine. EAC packages the standalone Node runtime, npm CLI, and @deepseek-ai/dsh (including official plugins) into the installation package, so the target machine does not need to install a runtime anymore. The startup process, according to the repository architecture diagram, is:
1. The Electron main process handles single-instance locking, window and lifecycle management.
2. Use the built-in node.exe to execute dsh web --host 127.0.0.1 --port 0, which automatically picks an available port.
3. Parse the dsh web: http://127.0.0.1:<port> in the output, poll until HTTP 200 is returned, then load the Web UI into the native window.
4. The service only runs on the local loopback and does not expose the service to the local area network.

The data directory for the portable version is in the data\ folder next to the exe; the installed version is in %APPDATA%\Deepseek Harness EAC\. To specify the DSH configuration directory, set the environment variable DSH_HOME before starting, which behaves the same as the CLI.

10 Built-in Skins

The “Skin” tab in the settings page displays 10 Web UI skins in a card grid, with no skin enabled by default to maintain the official native appearance. After selecting one, the others are automatically disabled (mutually exclusive switching), and “Restore Default Skin” can revert the changes; the Web service will automatically restart after switching. Skins are browser-only dsh client plugins, which are synchronized into the web profile by the desktop client and idempotently written to cordis.patch.yml.

9 skins come from the community repository dsh-web-ui (BSD-3-Clause license), and 1 skin comes from the Deep Sea Maid Workshop of dsh-deep-whale (CC BY-NC-SA 4.0, commercial use prohibited):

Skin Source License
xp (Windows XP) dsh-web-ui BSD-3-Clause
qq98 (Classic QQ 98) Same as above BSD-3-Clause
ths (Tonghuashun) Same as above BSD-3-Clause
blue-fantasy Same as above BSD-3-Clause
dragon-heir Same as above BSD-3-Clause
minecraft Same as above BSD-3-Clause
trading (Trading Style) Same as above BSD-3-Clause
whale-song Same as above BSD-3-Clause
miku (Hatsune Miku) Same as above BSD-3-Clause
maid-atelier (Deep Sea Maid Workshop) dsh-deep-whale CC BY-NC-SA 4.0 (commercial use prohibited)

Full copyright attribution is distributed with the package. The settings page also has “Appearance · Fonts and Colors”, which allows you to modify the interface/code font, font size, and text/code colors, with data stored in localStorage.

Desktop Window and Updates

The window has no native system title bar and menu bar, but uses self-drawn glass bars (rounded icons, menus, window controls), with rounded corners on Windows 11. Closing the window will hide it to the tray by default, and a Windows system notification will pop up when the agent task is completed; clicking the notification will return to the window. Exiting the application will terminate the entire dsh process tree to avoid orphaned processes.

There are two update channels, both requiring user consent:
- Client本体: Checks GitHub Releases after startup. For the portable version, it replaces the current files in place and restarts; for the installed version, it guides the user to the new installation package; if it fails, the current version is retained.
- Official agent: Detects new versions of @deepseek-ai/dsh, installs them to the data directory overlay, and switches atomically; if the new version fails to start, it can roll back to the built-in version.

As of 2026-08-17, the latest tagged Windows release on GitHub is v3.0.1 (released on 2026-08-16). The package.json version number of the repository’s main branch is 4.0.0, which is different from the latest Release tag. When downloading the installation package, you should refer to the Releases page, and do not treat the source code version number as the released installation package version.

Supporting Efficiency Features

The README lists the following as supporting plugins attached to the desktop shell, rather than modifying the official dsh source code:
- Plugin Marketplace (dsh-webui-market): Go to Settings → Plugins → Marketplace to browse and one-click install/uninstall plugins included on awesome-dsh-plugin.com; tasks are queued during the service restart window without interrupting the current session.
- Plugin Protection Center: Combines three capabilities: community snapshot rollback, installation guard, and static health check. Automatically takes snapshots before installation and startup (retains 10 copies); if startup fails, it performs health check → repair → retry → roll back to the last good snapshot and generates an incident report. You can manually take snapshots, roll back, perform health checks, and repair in the settings page.
- Balance Widget: Displays “This Round ¥X · Balance ¥Y” at the bottom of the conversation, click to jump to recharge, and refreshes approximately every 15 minutes.
- File Change Tracker: View new/modified/deleted files and line-level diffs in the session “Files” tab, support restoring individual files or all at once; data reuses session logs in read-only mode.
- In-session Terminal: Launch a persistent PowerShell in the current session project directory, with SSE streaming output, command history, and断线重连 (disconnection reconnection).
- Auto-compaction: Automatically execute the official /compact when approaching the context limit (default 80%, adjustable).
- Persona Card: 6 built-in presets, card library, and soul.md hot reload.
- MCP / skills Migration: Import MCP from the configuration directories of Claude Code / Codex, and one-click migrate skills, MCP, and memories.
- External Vision Model (dsh-tool-vision): inspect_image sends local images or URLs to OpenAI-compatible vision endpoints.
- Long-term Memory (dsh-tdai-memory): Ported layered memory from Tencent Cloud Agent Memory, reuses existing ~/.memory-tencentdb/memory-tdai data.

The above items are all from the README’s description of the current source code tree. If you installed a historical Release, the feature set may be smaller than this list, so refer to the instructions for the corresponding version.

Installation and Activation

The standard plugin installation command given by the community directory is as follows. Run it in a terminal where DeepSeek Harness is already installed:

dsh plugin add github:zouyuxuan122/Deepseek-Harness-EAC

For a reproducible installation, fix the commit hash according to the directory page instructions:

dsh plugin add github:zouyuxuan122/Deepseek-Harness-EAC#<commit>

Replace <commit> with the actual commit hash in the repository. The plugin runs with the permissions of the current dsh process, and may execute code during installation, so you should check the source code and license before installing.

It should be noted that the main body of this repository is the Electron desktop client (dsh-desktop/), not just a skin package that patches the existing Web UI. The repository README lists downloading the installation package from GitHub Releases as the recommended deployment method. For users who are already using npx @deepseek-ai/dsh web, the dsh plugin add command in the directory is suitable for cross-referencing community inclusion information; if your goal is to “double-click to get a desktop window”, you should download the client according to the README.

Windows: Install from Releases

System requirements: Windows 10/11 (x64), no pre-installed Node.js required. The latest release resources are as follows (size approximately 167 MB):

File Description
Deepseek-Harness-EAC-Portable-x64.exe No installation required, double-click to use, can be placed on a USB drive
Deepseek-Harness-EAC-Setup-x64.exe Install to the system, create desktop and Start Menu shortcuts

Direct download links:
- Portable version: https://github.com/zouyuxuan122/Deepseek-Harness-EAC/releases/latest/download/Deepseek-Harness-EAC-Portable-x64.exe
- Installed version: https://github.com/zouyuxuan122/Deepseek-Harness-EAC/releases/latest/download/Deepseek-Harness-EAC-Setup-x64.exe

The path must be in pure English. The README clearly states that Chinese paths (such as D:\迅雷下载\) will trigger a native crash of the Chromium renderer process, and the window will automatically exit after popping up for dozens of seconds. Installing to C:\Users\<username>\AppData\Local\Programs\ by default is recommended.

The v3.0.1 release notes also mention a manual upgrade: if “Restart Now” does not respond when upgrading from v3.0.0 / v2.0.x, you need to fully exit first (right-click the tray to exit), then run the downloaded Setup in %APPDATA%\Deepseek Harness EAC\updates\, or directly download the installation package from Releases. This is an update script bug fixed in this version, and will take effect after installing v3.0.1.

Linux: Community Packaging

The Chinese README states that Linux x86_64 packaging was contributed by @Luoye-hb in PR #12, and was released with v3.0.1-linux, supporting Arch / Ubuntu / Debian / Fedora and the universal AppImage. Example package installation commands:

# Arch
sudo pacman -U ./Deepseek-Harness-EAC-3.0.1-x64.pacman

# Ubuntu / Debian
sudo apt install ./Deepseek-Harness-EAC-3.0.1-amd64.deb

# Fedora
sudo dnf install ./Deepseek-Harness-EAC-3.0.1.x86_64.rpm

For AppImage, run chmod +x first before executing. The uninstall commands are pacman -Rns dsh-desktop, apt remove dsh-desktop, and dnf remove dsh-desktop respectively. The Linux version is updated via the system package manager, not in-app self-updates; the data directory is still ~/.dsh (DSH_HOME). The English README only mentions Windows, which is inconsistent with the Chinese README and the repository description (Windows / Linux), so this article refers to the Chinese README and the Releases tag. The repository does not list macOS installation packages.

Build from Source Code

On a development machine with Node.js installed:

cd dsh-desktop
npm install
npm run fetch-runtime    # Built-in node.exe + npm CLI
npm run dist             # Build portable + NSIS installer → dist/

You can set mirrors when the network is restricted:

$env:ELECTRON_MIRROR='https://npmmirror.com/mirrors/electron/'
$env:ELECTRON_BUILDER_BINARIES_MIRROR='https://npmmirror.com/mirrors/electron-builder-binaries/'

The test command is npm test (node --test test/*.test.mjs).

Typical Usage

According to the “First Use” section of the README:
1. Double-click to run, first see the startup animation, then automatically load the DeepSeek Harness Web UI (only local loopback).
2. If you have not configured the API Key yet, fill it in the “Settings” interface in the same way as the command line dsh.
3. Common entry points: Settings → Skins (switch between 10 styles) / Plugin Marketplace / One-click model selection; Conversation area → Terminal / Files tab.

You can keep the default settings to continue using the official appearance; when you want a nostalgic or themed interface, click a card on the skin page and wait for the Web service to restart. maid-atelier uses CC BY-NC-SA 4.0, so do not enable this set for commercial scenarios.

For users who are already using the official CLI, as long as DSH_HOME points to the same directory, the desktop client can read existing keys and sessions. Starting from v3.1, the README places the desktop client in the web-desktop profile to avoid competing for the same plugin tree with npx dsh; the ownership of shared module junctions is repaired by the desktop client’s inspection.

When migrating from Claude Code or Codex, you can check the import of MCP servers in ~/.claude.json and ~/.codex/config.toml on the settings page, and migrate skills and memories without manually editing YAML files.

Applicable Scenarios and Notes

It is suitable for:
- Users who do not want to install Node.js first and just want to double-click to use the official Web UI on Windows 10/11 x64 or Linux x86_64.
- Users who need tray resident, task completion notifications, portable directories, or USB drive carrying.
- Users who want to switch between the official appearance and 10 sets of community skins, and browse and install community plugins within the client.

It is not suitable for:
- Users who only need the command line / TUI and do not need a desktop window; just use the official dsh directly.