README.md
August 13, 2026 · View on GitHub
One double-click from DeepSeek Harness source to a native Windows workspace.
双击即用:把 DeepSeek Harness Web UI 装进原生 Windows 窗口。
Important
DSH-Web Desktop is an independent community wrapper, not an official DeepSeek product. DeepSeek Harness is currently a developer preview and may introduce breaking changes.
Why DSH-Web Desktop?
DeepSeek Harness already ships a capable browser UI. On Windows, however, using a source checkout normally means opening a terminal, starting dsh web, keeping that console alive, and managing the background process yourself. DSH-Web Desktop turns that routine into a native desktop experience:
- Double-click launch — starts the local gateway silently and opens the UI in one window.
- No-Git first run — downloads the official DeepSeek Harness ZIP with progress, extracts it, and installs dependencies automatically.
- Recovery built in — falls back to Git when available, guides Node.js installation, and supports retrying without restarting the app.
- Native WebView2 shell — keeps the complete Web UI, links, downloads, settings, and plugins.
- Tray resident — closing or minimizing hides the app while the local service continues running.
- Clean shutdown — a Windows Job Object terminates the child service when the app exits.
- Port-aware — reuses an existing service on the selected port instead of spawning a duplicate.
- Local by design — the wrapper itself has no telemetry or data-upload code.
Interface
Presentation artwork built from authentic Windows captures. Private session titles in the secondary panel were replaced with neutral placeholders.
Authentic Windows capture
![]() |
|
| Tray resident / 托盘驻留 | Desktop icon / 桌面图标 |
Captured from the supplied v1.3.x Windows build. The exact embedded Web UI may change as the upstream developer preview evolves.
Startup experience
The animated whale and progress text are rendered while the local gateway starts. First launch may take 20–60 seconds depending on the machine and dependency state.
Quick Start
Requirements
| Requirement | Details |
|---|---|
| OS | Windows 10/11 x64 |
| WebView2 | Included with Windows 11; available from Microsoft for Windows 10 |
| Node.js | 18+ on PATH, or set nodeExe in the config |
| DeepSeek Harness | Optional before launch; v1.3.2 can download and install the official source automatically |
Fastest path
- Download
DSH-Web.exe. - Double-click it — an existing DeepSeek Harness installation is optional.
- If Harness is not installed, choose Yes and select a folder. The client downloads and installs it for you.
Authentic v1.3.2 first-run capture: DeepSeek Harness was not installed before launch; the client is downloading the official source archive automatically.
If no valid checkout is found, the first-run guide offers three paths:
- Yes — install automatically: checks Node.js, asks for an install folder, downloads the official upstream ZIP with visible progress, extracts it, and installs dependencies. Git is not required. If the download fails and Git is available, the app automatically falls back to a shallow clone.
- No — I already installed it: scans fixed drives for compatible source checkouts and lets you choose one.
- Cancel: exits without changing anything.
Install DeepSeek Harness manually
Follow the current upstream source instructions:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
Then copy DSH-Web.exe into that folder and launch it. See the official DeepSeek Harness repository for the latest compatibility notes.
Configuration
Copy dsh-web.config.json.example to dsh-web.config.json beside the EXE:
{
"port": 3080,
"workDir": "D:\\DeepSeek-Harness",
"nodeExe": "C:\\Program Files\\nodejs\\node.exe"
}
| Field | Purpose | Default |
|---|---|---|
port | Local Web UI port; --port takes precedence | 3080 |
workDir | DeepSeek Harness source root | EXE directory |
nodeExe | Absolute path to node.exe | First node.exe on PATH |
Command-line example:
./DSH-Web.exe --port 3090
How It Works
flowchart LR
A["Double-click DSH-Web.exe"] --> B{"Port already active?"}
B -- Yes --> E["Connect to existing local UI"]
B -- No --> C["Start dsh web silently"]
C --> D["Wait for 127.0.0.1:port"]
D --> E
E --> F["Render in WebView2"]
F --> G["Tray resident / browser fallback"]
G --> H["Clean child-process shutdown"]
The wrapper launches Node with the DeepSeek Harness TypeScript entrypoint, listens only on the configured local port, and renders http://127.0.0.1:<port> inside Microsoft WebView2.
Build from Source
Install .NET SDK 9.0, then:
cd src
dotnet restore
dotnet publish DSHWebApp.csproj -c Release -o ./out
The project publishes a self-contained Windows x64 single-file executable. GitHub Actions also builds the project on every push and pull request.
Privacy, Security & Verification
- The wrapper contains no telemetry or analytics code.
- All service traffic opened by the wrapper targets
127.0.0.1. - Logs are written beside the executable as
dsh-web.out.log,dsh-web.err.log, anddsh-web.crash.log. - The app downloads the official upstream source archive and installs npm dependencies only after the user chooses automatic installation. A Git clone is used only as a download fallback when Git is already available.
- Verify release downloads against
SHA256SUMS.txtattached to each release. - Review SECURITY.md before reporting a vulnerability.
中文速览
DSH-Web Desktop 是一个面向 Windows 10/11 x64 的 DeepSeek Harness 桌面壳:双击 EXE 后,它会在后台静默启动本地 dsh web 服务,并通过 WebView2 在原生窗口中显示完整界面。
你会得到:
- 无需手动开终端;
- 首次运行直接下载官方 Harness 压缩包,无需预装 Git;
- 下载进度、自动解压、依赖安装、失败回退与重试一条龙;
- 原生窗口、启动动画与系统托盘;
- 端口复用、日志记录和干净退出;
- 包装器本身无遥测、无数据上传代码。
完整中文文档、安装步骤、配置说明和常见问题请阅读 README.zh-CN.md。
FAQ
“DeepSeek Harness source entry was not found”
Place the EXE in the upstream repository root, use the first-run guide, or set workDir in dsh-web.config.json.
“Node.js was not found”
Install Node.js 18+ and add it to PATH, or set the absolute nodeExe path in the config.
Where did the window go after I minimized it?
It is in the Windows system tray. Double-click the whale icon to restore the window, or right-click it for Show window, Open in browser, and Exit.
Why is a used port not an error?
If the configured port is already listening, DSH-Web assumes a compatible local service is active and connects to it instead of launching another process.
Credits & License
- DeepSeek Harness is developed by DeepSeek AI and licensed separately under MIT.
app.icooriginates from the DeepSeek Harness repository; copyright remains with its original authors.- This community wrapper is released under the MIT License.
If this wrapper saves you a terminal window, please consider giving the repository a ⭐.
如果这个客户端让你的 DeepSeek Harness 更顺手,欢迎点一个 ⭐ 支持持续更新。
