Back to home

CSlawyer1985

dsh-desktop

DeepSeek Harness 桌面客户端:双击即用,跨平台(macOS / Windows / Linux)

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

Introduction

DeepSeek Harness Desktop

DeepSeek Harnessdsh web)及其所需运行组件封装成跨平台桌面应用:安装后双击图标即可打开,无需安装 Node.js、npm 或 dsh CLI,也不用打开终端。

支持 macOS / Windows / Linux,官方 logo 图标(白色星标衬黑底)。

特性

  • 一键启动:自动拉起 dsh web 服务(默认端口 3080),就绪后加载 UI
  • 运行组件内置:安装包内置官方 @deepseek-ai/dsh@0.1.0-rc.6,首次启动不会临时联网下载 CLI
  • 智能复用:如果服务已经在运行(比如你在终端里跑过 dsh web),直接复用,不重复启动
  • 生命周期管理:退出应用时自动关闭它自己拉起的服务进程;复用已有服务时不会误关别人的
  • 独立窗口:无地址栏、无标签页,固定到 Dock / 任务栏后和原生 App 体验一致
  • 官方图标:DeepSeek 官方 logo(白色星标衬黑底),矢量渲染
  • 服务守护:服务进程意外退出时弹窗提示,可一键重启
  • 复用你的配置:直接使用本机 ~/.dsh(Windows 为 C:\Users\<你>\.dsh)下现有的 profile、插件、会话数据,与命令行体验完全一致

安装

从 Releases 下载对应系统的安装包:

平台安装包
macOSDeepSeek-Harness-*-mac-arm64.dmg(Apple Silicon)或 -mac-x64.dmg(Intel)
WindowsDeepSeek-Harness-Setup-*.exe(安装器)或 DeepSeek-Harness-Portable-*.exe(免安装)
LinuxDeepSeek-Harness-*.AppImage

无需额外准备:安装包已经内置所需运行组件。下载安装后可直接启动,不需要另外安装 Node.js、npm、npx 或 dsh CLI。

未签名说明:未配置签名密钥的构建产物没有代码签名,首次打开时系统可能拦截:

  • macOS:右键点击 App →「打开」(Gatekeeper 提示仅首次出现);或终端执行 xattr -dr com.apple.quarantine <路径>
  • Windows:SmartScreen 提示时点「更多信息」→「仍要运行」

想要正式分发(无拦截、可公证):参见 docs/SIGNING.md —— 配置 Apple Developer ID 签名 + 公证、Windows 证书签名(OV / Azure Trusted Signing / SignPath),CI 已内置全部密钥注入。

工作原理

  1. 启动时探测 http://127.0.0.1:3080 是否已有 DSH 服务(按首页的 __DSH_BOOT__ 标记判断)
  2. 没有则从应用安装目录加载随安装包发布的 @deepseek-ai/dsh
  3. 用应用自带的运行时启动 dsh --profile web --port 3080,不依赖用户系统中的 Node.js、npm、npx 或 shell PATH
  4. 轮询等待服务就绪(最长 120 秒),然后加载 UI

作者

从源码构建

git clone <你的仓库地址>
cd dsh-desktop
npm ci
bash scripts/build.sh mac    # 当前系统使用 mac / win / linux

产物输出到 dist/

  • macOS:.dmg(安装镜像)+ .zip
  • Windows:Setup .exe(NSIS 安装器)+ Portable .exe
  • Linux:.AppImage

因为 DSH 包含按系统和芯片区分的原生组件,本地构建只生成当前系统和芯片对应的安装包。GitHub Actions 已配置 macOS arm64/x64、Windows arm64/x64 和 Linux x64 原生构建;打 v* tag 即可产出全部安装包。

环境变量

变量说明
DSH_DESKTOP_PORT覆盖端口(默认 3080
DSH_CLI开发调试时覆盖内置 dsh CLI 入口(lib/bin.js 的绝对路径)
DSH_HOME数据目录(默认 ~/.dsh

调试运行(开发模式):DSH_DESKTOP_PORT=3081 npm start

日志与排障

  • 服务日志(server.log,在应用数据目录):
    • macOS:~/Library/Application Support/DeepSeek Harness/
    • Windows:%APPDATA%\DeepSeek Harness\
    • Linux:~/.config/DeepSeek Harness/
  • 端口 3080 被其他程序占用:服务启动会失败,弹窗里会显示错误日志;换端口用 DSH_DESKTOP_PORT,或先停掉占用进程
  • 提示“安装不完整”:从项目 Releases 重新下载安装包并覆盖安装;开发调试时也可用 DSH_CLI 指定入口
  • 服务进程退出后残留:下次启动会检测到并直接复用

介绍页(site/)

site/ 目录是项目的下载介绍页(风格参照 deepseek.com/harness),包含各平台下载入口与作者信息。

  • 本地预览:open site/index.html
  • 正式站点:dsh.chenshi.ai,由 Cloudflare Pages 托管
  • 手动部署:wrangler pages deploy ./site --project-name dsh-desktop --branch main
  • 下载链接与版本号在 site/main.js 顶部的 CONFIG 中维护

图标

应用图标来自 DeepSeek 官方品牌 logo(SVG 见 build/deepseek-logo.svg),渲染链路:

scripts/make-icon-render.js(提取官方星标)→ scripts/render-icon.js(Chromium 矢量渲染 PNG)→ scripts/make-icns.sh(macOS icns)

替换图标:替换 build/deepseek-logo.svg 或直接覆盖 build/icon.png 后重新构建。

开源与声明

  • MIT License,可自由使用、修改、分发
  • 本项目与 DeepSeek 官方无关,为非官方社区封装;"DeepSeek" 名称与 logo 为 DeepSeek 的商标,仅用于指代其产品
  • 桌面端内置官方 @deepseek-ai/dsh@0.1.0-rc.6 及其运行依赖,并随桌面版升级统一更新;本项目仍是非官方社区封装