Back to home

DuckLing-IO

dsh-desktop

An unofficial Windows desktop client for DeepSeek Harness.

Stars
1
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026

Introduction

DSH Desktop

中文 | English

DSH Desktop 是面向 Windows 的 DeepSeek Harness 桌面外壳。它在独立桌面窗口中启动并加载官方 DeepSeek Harness WebUI,同时提供系统托盘、启动环境检测、桌面设置和 Windows 原生通知。DSH Desktop 不复制 DeepSeek Harness 的业务界面,也不捆绑、修改或代替 DeepSeek Harness。

当前状态:Windows x64 桌面版;发布包尚未配置 Authenticode 代码签名,首次运行时 Windows SmartScreen 可能显示“未知发布者”。

DSH Desktop 从启动动画进入主界面

功能

  • 一键启动外部 DeepSeek Harness,并在原生 Electron 窗口中加载 WebUI。
  • 支持官网推荐的 npx 运行方式,以及已克隆、安装依赖并构建完成的本地源码方式。
  • 启动前检查 Node.js、npx/pnpm、DeepSeek Harness 版本、源码结构与端口占用。
  • 关闭窗口时可选择留在托盘继续运行,或同时停止由应用启动的 DeepSeek Harness 服务。
  • 将 DeepSeek Harness 的结构化任务事件转换为 Windows 通知,自动避免历史回放、流式片段和工具日志造成重复提醒。
  • 点击系统通知即可恢复并聚焦主窗口。
  • WebUI 运行于隔离的 WebContentsViewnodeIntegration: falsecontextIsolation: truesandbox: true

消息通知演示

通知设置开启后,任务完成或需要用户处理时,DSH Desktop 会在窗口前台或后台发送 Windows 通知。点击通知可直接回到对应的桌面窗口。

DSH Desktop 消息通知演示

使用前提

普通用户

  • Windows 10 或 Windows 11,x64 架构。
  • 已安装 Node.js,并可在 PowerShell 中使用 nodenpmnpx
  • 已至少成功运行一次官方 DeepSeek Harness,版本不低于 0.1.0-rc.6
npx @deepseek-ai/dsh web

首次通过 npx 运行需要联网下载官方包。DSH Desktop 后续会从 npm/npx 缓存检测并启动该外部运行时。

如果使用本地源码模式,还需要 Git、pnpm,以及已完成依赖安装和构建的官方 deepseek-harness 仓库:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

源码开发者

  • Windows 10/11 x64。
  • Node.js 与 npm;当前项目已在 Node.js 24.13.0、npm 11.6.2 上验证。
  • 构建安装包需要 PowerShell 和 electron-builder 所需的 Windows 构建能力。

安装

  1. 从本仓库的 GitHub Releases 下载 DSH-Desktop-Setup-<版本>-x64.exe
  2. 运行安装向导。
  3. 选择 DeepSeek Harness 启动方式:
    • 官方 npx(推荐):检查 Node.js、npx 与 npm 缓存中的官方包。
    • 本地源码:选择已安装依赖并完成构建的官方源码仓库根目录。
  4. 选择安装目录,并决定是否创建桌面快捷方式。
  5. 完成安装后,从开始菜单或桌面快捷方式启动 DSH Desktop

安装器按当前 Windows 用户安装,不要求为所有用户安装。开始菜单快捷方式始终创建,以支持稳定的 Windows 通知识别。

使用

首次启动

DSH Desktop 会检查所选运行方式、确认本地端口 3080 可用,然后启动 DeepSeek Harness 并等待 WebUI 就绪。进入主界面后可直接使用 DeepSeek Harness,无需在桌面应用中再次选择工作区。

窗口与后台运行

  • 从“设置”菜单选择关闭主窗口时的行为。
  • “继续在后台运行”会隐藏窗口并保留任务与通知,可从托盘重新打开。
  • “完全退出应用”会停止本次由 DSH Desktop 启动的 DeepSeek Harness 进程。
  • 托盘菜单中的“退出”始终执行完整退出。

数据位置

  • 桌面设置与日志:%APPDATA%\DSH Desktop
  • 安装版默认工作区:%APPDATA%\DSH Desktop\workspace
  • 开发模式默认工作区:项目根目录下的 workspace
  • DeepSeek Harness 自身数据:由官方 DeepSeek Harness 独立管理(例如 ~/.dsh

升级或重装 DSH Desktop 不会主动删除设置与工作区。卸载时可选择是否删除桌面设置和日志;外部 Node.js、DeepSeek Harness、~/.dsh 和工作区始终保留。

常见问题

提示找不到 DeepSeek Harness

先在 PowerShell 中成功运行 npx @deepseek-ai/dsh web,再重启 DSH Desktop;或在安装向导/错误页面选择已构建的官方源码目录。

提示版本过旧

将官方 DeepSeek Harness 更新到 0.1.0-rc.6 或更高版本。DSH Desktop 与 DeepSeek Harness 独立更新,更新后端不需要重装桌面端。

端口 3080 被占用

关闭占用该端口的程序后重试。DSH Desktop 不会结束或接管无法确认归属的外部进程。

没有收到 Windows 通知

确认 DSH Desktop 内的通知开关已启用,并在 Windows“设置 → 系统 → 通知”中允许 DSH Desktop 发送通知。建议至少从开始菜单启动一次安装版,以便 Windows 注册应用标识。

从源码运行

git clone <本仓库地址>
cd dsh-desktop
npm ci
npm start

仓库中的 DeepSeek Harness 相关 npm 包只用于开发与测试。发布版不包含 DeepSeek Harness 或其 node_modules,运行时始终使用用户单独准备的官方版本。

测试与构建

npm test
npm run test:e2e
npm run test:e2e:npx
npm run test:e2e:port
npm run test:e2e:close
npm run package:win
npm run make:win
npm run verify:package
  • npm run package:win 生成未安装的 Windows x64 目录包。
  • npm run make:win 生成 NSIS 安装器。
  • npm run verify:package 检查 ASAR 必需文件,并确认发布包未捆绑 DeepSeek Harness、旧 runner 或开发数据。
  • 默认安装器输出:release\DSH-Desktop-Setup-1.0.0-x64.exe

测试不会写入 API Key,也不会发送模型请求。

项目结构

assets/                       应用图标与 README 演示动图
build/                        NSIS 安装器脚本与运行时检测脚本
scripts/                      图标和发布包校验脚本
src/                          Electron 主进程、预加载脚本、桌面壳与服务
desktop.config.json           本地服务地址、端口与超时设置
electron-builder.config.cjs   Windows 打包配置

安全与边界

  • DSH Desktop 只绑定并访问 127.0.0.1 上的本地 WebUI。
  • 应用只管理自己启动的 DeepSeek Harness 子进程,不接管未知的端口占用进程。
  • API Key、模型请求、会话和工具行为由 DeepSeek Harness 管理。
  • 当前发布包未签名;正式公开发布前建议配置 Authenticode 签名并校验发布文件哈希。

许可证

本项目采用 MIT License。DeepSeek Harness 及其依赖遵循各自的许可证与项目条款。