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
DSH Desktop 是面向 Windows 的 DeepSeek Harness 桌面外壳。它在独立桌面窗口中启动并加载官方 DeepSeek Harness WebUI,同时提供系统托盘、启动环境检测、桌面设置和 Windows 原生通知。DSH Desktop 不复制 DeepSeek Harness 的业务界面,也不捆绑、修改或代替 DeepSeek Harness。
当前状态:Windows x64 桌面版;发布包尚未配置 Authenticode 代码签名,首次运行时 Windows SmartScreen 可能显示“未知发布者”。

功能
- 一键启动外部 DeepSeek Harness,并在原生 Electron 窗口中加载 WebUI。
- 支持官网推荐的
npx运行方式,以及已克隆、安装依赖并构建完成的本地源码方式。 - 启动前检查 Node.js、npx/pnpm、DeepSeek Harness 版本、源码结构与端口占用。
- 关闭窗口时可选择留在托盘继续运行,或同时停止由应用启动的 DeepSeek Harness 服务。
- 将 DeepSeek Harness 的结构化任务事件转换为 Windows 通知,自动避免历史回放、流式片段和工具日志造成重复提醒。
- 点击系统通知即可恢复并聚焦主窗口。
- WebUI 运行于隔离的
WebContentsView:nodeIntegration: false、contextIsolation: true、sandbox: true。
消息通知演示
通知设置开启后,任务完成或需要用户处理时,DSH Desktop 会在窗口前台或后台发送 Windows 通知。点击通知可直接回到对应的桌面窗口。

使用前提
普通用户
- Windows 10 或 Windows 11,x64 架构。
- 已安装 Node.js,并可在 PowerShell 中使用
node、npm和npx。 - 已至少成功运行一次官方 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、npm11.6.2上验证。 - 构建安装包需要 PowerShell 和 electron-builder 所需的 Windows 构建能力。
安装
- 从本仓库的 GitHub Releases 下载
DSH-Desktop-Setup-<版本>-x64.exe。 - 运行安装向导。
- 选择 DeepSeek Harness 启动方式:
- 官方 npx(推荐):检查 Node.js、npx 与 npm 缓存中的官方包。
- 本地源码:选择已安装依赖并完成构建的官方源码仓库根目录。
- 选择安装目录,并决定是否创建桌面快捷方式。
- 完成安装后,从开始菜单或桌面快捷方式启动 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 及其依赖遵循各自的许可证与项目条款。