DshLauncher

September 3, 2026 · View on GitHub

Version License Platform .NET Size

DeepSeek Harness(dsh)桌面启动器:双击即用,打开 dsh Web UI;支持 SSH 远程连接多台服务器、一键同步本地配置与插件。

项目背景

DeepSeek Harness(dsh)是 DeepSeek 的 CLI 驱动 AI 开发环境,官方使用方式是「终端启动 + 浏览器访问」两步流程:

  • 终端执行 dsh web 启动服务,再手动打开浏览器;
  • 插件安装 / 卸载 / 更新、日志查看、服务重启全部依赖终端;
  • 想用远程服务器的 dsh,只能在服务器上开终端。

DshLauncher 的目标:把这些操作装进一个桌面窗口 —— 双击打开 Web UI,托盘管理生命周期,SSH 直连远程服务器,本地配置与插件一键同步到服务器。

特性

  • 一键启动:双击即打开 dsh Web UI(自动连接已有实例或后台启动新服务)
  • 单文件交付:单个 exe 约 1.4 MB,绿色免安装,不捆绑 Node / Electron / dsh 内核
  • 托盘常驻:关闭窗口隐藏到托盘、服务保持运行;重启 / 日志 / 插件 / 设置 / 更新 dsh 全在托盘
  • 插件管理:可视化安装 / 卸载 / 更新插件,无需终端
  • SSH 远程(多服务器):本地窗口 + 远程 dsh —— 基于系统 OpenSSH,支持密钥 / 密码认证、从 ~/.ssh/config 导入主机、每个服务器独立窗口
  • 配置与插件同步:本地 dsh 配置(settings.yaml 等)与已装插件一键同步到服务器,不用逐个重装
  • dsh-manager Agent:可注册到自托管 Go manager,统一上报本地与 SSH 实例状态,并接受远程启动 / 停止 / 重启 / 同步 / 更新命令
  • dsh 直连插件:不使用 launcher 时,可在 dsh 内安装 dsh-manager-plugin,直接建立 manager 反向连接
  • Agent 通道:支持 HTTP/WS(可信内网)和 HTTPS/WSS(推荐),HTTPS 可使用自签名证书指纹固定,Agent Token 使用 Windows DPAPI 保护
  • 快捷键Ctrl+Shift+R/L/P/S/Q/C/Y 覆盖重启 / 日志 / 插件 / 设置 / 连接 / 同步(Ctrl+Shift 组合避免与页面快捷键冲突)

类似项目对比

方案技术栈体积SSH 远程说明
DshLauncher(本方案)C# WinForms + WebView2约 1.4 MB 单文件✅ 系统 SSH,多服务器多窗口轻量、免终端、配置/插件同步
deepseek-harness-desktop桌面 Web 容器较大DSH 生态桌面端,功能更重
官方流程(dsh web + 浏览器)CLI + 浏览器0基础用法,依赖终端,无管理能力
VS Code Remote-SSH(模式参考)桌面 + SSH本地 UI + 远程环境(dsh 无此方案,DshLauncher 提供类似体验)

设计取向:DshLauncher 坚持「最小依赖、小体积、不做多余功能」—— 不引入账号体系、插件市场、云同步等重功能,聚焦「打开、管理、远程、同步」。

使用方法

1. 安装

  • Releases 下载 DshLauncher.exe(单文件,绿色免安装);
  • 需要本机安装 dsh:npm install -g @deepseek-ai/dsh(启动器首次运行也会引导安装);
  • 需要 .NET 8 Desktop Runtime(Windows 10/11,部分系统已自带)。

2. 本地使用

双击 DshLauncher.exe → 自动打开 dsh Web UI。窗口右上角关闭即隐藏到托盘(服务保持运行),托盘菜单管理一切。

3. SSH 远程连接

  1. 准备服务器:安装 Node.js 与 dsh(npm install -g @deepseek-ai/dsh
  2. 添加连接:设置 → SSH 连接 → 新增(或从「系统 SSH 配置」导入 ~/.ssh/config 已有主机)
    • 认证:推荐密钥(点「生成密钥」→「复制公钥」粘贴到服务器 ~/.ssh/authorized_keys),或直接填密码
    • 本地端口留 0(自动分配)
  3. 测试连接:设置里「测试连接」→ 显示 SSH 正常 + 远端 dsh 版本
  4. 连接Ctrl+Shift+C 打开连接选择器 → 选择服务器 → 独立窗口打开远程 dsh
  5. 同步:SSH 窗口按 Ctrl+Shift+Y,把本地配置(settings.yaml 等)与已装插件同步到服务器,完成后可选重启远端生效
  6. 打开远端文件夹:SSH 窗口按 Ctrl+Shift+O(或直接点 dsh UI 的「工作区 +」按钮,会被自动拦截)→ 弹出服务器目录浏览器 → 选择目录即添加到远端 dsh 工作区 → 刷新后即可打开

4. dsh-manager 远程管理

  1. 在服务器运行 dsh-manager,默认 HTTP 管理端口为 8080,Agent HTTPS/WSS 端口为 8443
  2. 打开启动器设置,启用「dsh-manager Agent」;
  3. 可信内网可填写 http://manager.example.com:8080;公网建议填写 https://manager.example.com:8443
  4. HTTPS 模式下从 manager 启动日志复制服务器 SHA-256 指纹;
  5. 首次注册时填写 Agent 名称和配对码;HTTPS 模式还要填写 TLS 指纹。配对成功后,后续连接只使用 Agent Token;
  6. 保存并重启启动器,launcher 会自动注册并保持 Agent 长连接;
  7. manager 通过 /api/v1/instances/{agentId}/{instanceId}/commands 可以下发 startstoprestartsyncupdate 命令。

Agent Token 配对成功后会由 Windows DPAPI 加密保存,不会以明文写入 launcher 设置文件。manager Dashboard 已支持通过浏览器会话打开指定实例的原生 dsh Web UI,并转发普通 HTTP 与 WebSocket 会话。

5. 快捷键

快捷键功能
Ctrl+Shift+R重启当前连接
Ctrl+Shift+L日志
Ctrl+Shift+P插件管理
Ctrl+Shift+S设置
Ctrl+Shift+C连接选择器(本地 + 各服务器)
Ctrl+Shift+Y同步本地配置与插件到当前服务器
Ctrl+Shift+O打开远端文件夹(目录浏览器 → 添加到工作区)
Ctrl+Shift+Q退出

构建

本项目独立仓库:

需要 .NET 8 SDK(Windows):

git clone https://github.com/NevermindZZT/dsh-launcher
cd dsh-launcher
.publish-single.ps1    # 产出 distDshLauncher.exe 单文件

开源协议

MIT © DshLauncher contributors


与 DeepSeek Harness(dsh)无隶属关系;dsh 是 DeepSeek 的独立开源项目。