AstroLiao/dsh-launcher

Desktop桌面端 ⭐ 4 MIT Clients & Launchers客户端与启动器

Windows launcher for DeepSeek Harness running in WSL2 (dsh)

Project Overview项目介绍

DSH Launcher is an Electron-based Windows desktop launcher for one-click start and stop of DeepSeek Harness (dsh) inside WSL2 Ubuntu. Its core capability is invoking wsl.exe scripts to launch the dsh service and open an Electron window loading the Web UI; closing the window cleans up the dsh process and port 5306 inside WSL, leaving no lingering background services. Use it when you want to manage dsh from a desktop shortcut instead of the command line on Windows 10/11. A prerequisite is an existing dsh installation in WSL2 Ubuntu with the entry at ~/dsh-app/node_modules/@deepseek-ai/dsh/lib/bin.js.

DSH Launcher 是一个基于 Electron 的 Windows 桌面启动器,用于在 WSL2 Ubuntu 中一键启停 DeepSeek Harness(dsh)。核心能力是双击 exe 自动通过 wsl.exe 调用脚本拉起 dsh 服务并弹出 Electron 窗口加载 Web UI;关闭时同步清理 WSL 中的 dsh 进程与 5306 端口,避免残留后台服务。适用于不想手动敲命令行、希望在桌面端直接管理 dsh 服务的 Windows 用户。需提前在 WSL2 Ubuntu 中完成 dh 安装(入口位于 ~/dsh-app/node_modules/@deepseek-ai/dsh/lib/bin.js),并确保 WSL 发行版为 Ubuntu。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:AstroLiao/dsh-launcher

AstroLiao/dsh-launcher 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

DeepSeek Harness Launcher

一个 Windows 桌面端,用来一键启动 / 关闭跑在 WSL2 Ubuntu 里的 DeepSeek Harness(dsh)

为什么要做它

dsh 本身是命令行 + Web UI(dsh web),官方没有桌面端。本项目只做一件事:

  • 双击快捷方式 → 自动在 WSL2 Ubuntu 里拉起 dsh(复用你已有的 ~/dsh-app 安装和数据目录 ~/.dsh)→ 弹出窗口加载 Web UI;
  • 点窗口右上角 X → 把 WSL 里的 dsh 进程和端口一并清干净,不留下后台服务。

没有加载页、没有多余功能,就是一个干净的"启动器 + 窗口壳"。

环境要求

  • Windows 10/11(需自带 WSL2)
  • WSL2 发行版 Ubuntu,且里面已有 dsh 安装:
    • 入口:~/dsh-app/node_modules/@deepseek-ai/dsh/lib/bin.js
    • 数据目录:~/.dsh
    • 端口:5306
  • Node.js 18+(仅开发 / 打包时需要,日常使用不需要)

快速开始

npm install
npm start

打包成单个 exe(双击即用,可拷走):

npm run dist

产物在 dist/DeepSeek-Harness-Launcher-1.0.0.exe

工作原理

Windows 侧                            WSL2 Ubuntu 侧
───────────                          ──────────────
双击 exe                              dsh web 服务
  │ ── wsl.exe 调 scripts/start ──►   node bin.js --profile web --port 5306
  ▼                                    │
Electron 窗口 ◄── localhost:5306 ──────┘
  │
点 X ── wsl.exe 调 scripts/stop ──►   杀 dsh 进程,清空 5306

启动 / 停止脚本全部使用绝对路径,绕开了 wsl.exe 会把 Windows 的 HOME / PATH 传进 WSL 导致命令失效的坑,并用 setsid + </dev/null + 短暂等待保证后台服务稳定存活。

配置

开箱即可用,不写死任何用户名或路径:

  • dsh 入口自动发现:依次查找 ~/dsh-app/node_modules/@deepseek-ai/dsh/lib/bin.js~/node_modules/@deepseek-ai/dsh/lib/bin.js、npm 全局目录、PATH 里的 dsh 命令;
  • WSL 用户自动识别:通过 getent passwd 取当前用户真实家目录,不受 Windows 环境变量污染;
  • 端口:默认 5306

需要覆盖时,设置 Windows 用户环境变量即可:

环境变量 作用
DSH_ENTRY 指定 dsh 入口文件 / 命令的绝对路径
DSH_PORT 修改端口(默认 5306)
DSH_LOG 修改 dsh 日志路径(默认 ~/.dsh/dsh-wsl.log

WSL 发行版名不是 Ubuntu 时,改 main.js 顶部的 DISTRO

日志

WSL 里 dsh 的日志在 ~/.dsh/dsh-wsl.log,启动失败时看它。

致谢

  • 图标提取自 DeepSeek Harness 官方 Windows 桌面端;
  • 本项目与 DeepSeek 官方无隶属关系,是社区工具。

License

MIT

上一个 Prev dsh-minecraft-dev 下一个 Next dsh-codex-shim