一键启停 Web 服务并自动打开带鉴权页面
30/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/GLFzr/dsh-launcher.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 56 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-launcher(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:18:06
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 一键启停Web服务
- 自动打开鉴权页面
README
由 DeepSeek 最新模型翻译生成DSH 启动器
[Platform]()
[Runtime]()
License
一个 Windows 桌面小工具,用来管理 DSH(DeepSeek Harness) 的 Web 服务:一键启动 / 重启 / 打开 Web UI / 检查更新 / 更新,并且自动适配 WSL2 与 Windows 原生两种运行环境。
English: README.en.md
✅ 已适配最新版 DSH 0.1.2-rc.1(含新版浏览器 token 鉴权,打开 Web UI 自动带最新 token)。
运行中
它解决什么问题
DSH 装在哪里,启动方式就完全不同:
| 安装方式 | 手动启动要做什么 |
| WSL2 里 | 开一个 WSL 终端 → dsh web --no-open → 再去浏览器敲地址 |
| Windows 原生 | 开一个 PowerShell → dsh web → 进程挂在窗口上,关掉窗口就没了 |
而且常见的两个坑:
- 浏览器关掉之后想再进去,得回终端重新启动一次(其实服务还在跑,只是没人打开页面);
- DSH 有新版本时,要自己记着 npm i -g @deepseek-ai/dsh@latest,更新完还得重启服务。
这个启动器把这些动作收进一个窗口:状态一眼可见,常用操作一个按钮,命令行也能调。
展开完整文档(README 剩余 1 节)
DSH 启动器
[Platform]()
[Runtime]()
License
一个 Windows 桌面小工具,用来管理 DSH(DeepSeek Harness) 的 Web 服务:一键启动 / 重启 / 打开 Web UI / 检查更新 / 更新,并且自动适配 WSL2 与 Windows 原生两种运行环境。
English: README.en.md
✅ 已适配最新版 DSH 0.1.2-rc.1(含新版浏览器 token 鉴权,打开 Web UI 自动带最新 token)。
运行中
它解决什么问题
DSH 装在哪里,启动方式就完全不同:
| 安装方式 | 手动启动要做什么 |
| WSL2 里 | 开一个 WSL 终端 → dsh web --no-open → 再去浏览器敲地址 |
| Windows 原生 | 开一个 PowerShell → dsh web → 进程挂在窗口上,关掉窗口就没了 |
而且常见的两个坑:
- 浏览器关掉之后想再进去,得回终端重新启动一次(其实服务还在跑,只是没人打开页面);
- DSH 有新版本时,要自己记着 npm i -g @deepseek-ai/dsh@latest,更新完还得重启服务。
这个启动器把这些动作收进一个窗口:状态一眼可见,常用操作一个按钮,命令行也能调。
特性
- 自动探测运行环境:先看 WSL 发行版里有没有 dsh,再看 Windows 全局包;也可以手动指定。
- 一键启动 / 一键重启:等待端口真正就绪(最多 120 秒)再报成功,不是"命令发出去了"就算完。
- 打开 Web UI:服务在跑就直接开浏览器(不重启);没跑就先启动再打开 —— 专门解决"关掉浏览器进不去"的问题。
- 适配 DSH 0.1.2+ 的浏览器鉴权(token):DSH 0.1.2 起 Web UI 需要 token 才能访问,启动器每次打开前都会实时读取最新日志里带 token 的 URL(dsh 被启动器之外重启过也没关系),不会再碰到 "authentication required";登录一次后 30 天内可免 token 直接访问。
- 检查更新 / 更新 DSH:读本地已装版本 + 联网查 npm 最新版,做完整语义化版本比较(含 -rc.1 这类预发布号);更新时 npm 输出实时流式打进日志框。
- 实时状态与日志:端口、进程 PID、DSH 版本、可更新提示;日志尾部实时刷新,报错行自动标红,一键复制。
- 高 DPI 与深色界面:按系统 DPI 缩放(200% 屏上文字不再被切掉),界面配色经过 WCAG 2.2 AA 对比度校验。
- 全功能命令行:--start / --stop / --restart / --open / --check-update / --update / --selftest,方便写进脚本或计划任务。
- 无外部依赖:只用 .NET Framework 4.x 自带的东西编译运行,不需要装 SDK、不需要运行时安装包。
快速开始
1. 前置条件
- Windows 10 / 11(x64)
- .NET Framework 4.x —— 系统自带,无需安装
- 已经装好 DSH,二选一:
- WSL2:在发行版里 npm i -g @deepseek-ai/dsh
- Windows 原生:装好 Node.js 后 npm i -g @deepseek-ai/dsh
2. 构建
powershell -ExecutionPolicy Bypass -File build.ps1
产物在 dist\DSH-Launcher.exe,双击就能用(可以右键发送到桌面快捷方式)。
在 WSL 里开发的话可以用:
./build.sh # 调用 Windows 侧的 csc.exe 编译,产物同样落在 dist/
3. 配置(可选)
把 launcher.example.json 复制成 launcher.json 放在 exe 同目录:
{
"mode": "auto",
"port": 3080,
"wslDistro": "",
"wslStartScript": "",
"dshHome": ""
}
| 字段 | 默认 | 说明 |
| mode | auto | auto 自动探测 / wsl 强制 WSL / windows 强制 Windows 原生 |
| port | 3080 | DSH Web UI 监听端口 |
| wslDistro | 空 | WSL 发行版名;留空自动取第一个装有 dsh 的 |
| wslStartScript | 空 | 自定义 WSL 启动脚本的绝对路径;留空用内置脚本 |
| dshHome | 空 | 对应 DSH_HOME;留空用平台默认 |
环境变量优先级高于配置文件:
| 环境变量 | 作用 |
| DSH_LAUNCHER_MODE | auto / wsl / windows |
| DSH_PORT | 覆盖端口 |
| DSH_WSL_DISTRO | 覆盖 WSL 发行版 |
| DSH_WSL_START | 覆盖 WSL 启动脚本 |
| DSH_HOME | 覆盖 DSH_HOME |
工作原理
启动器本身不跑 DSH,它只是遥控:状态靠 TCP 探测端口,动作靠调用对应平台的命令。
| 动作 | WSL 模式 | Windows 原生模式 |
| 状态判断 | 连 127.0.0.1:(WSL2 的 localhost 转发) | 连 127.0.0.1: |
| 启动 | wsl.exe -d -- bash -c "",脚本里清代理、补 PATH、exec dsh web --no-open --port N > ~/.dsh-web.log | node \@deepseek-ai\dsh\lib\bin.js web --no-open --port N,输出重定向到 logs\dsh-web.log |
| 停止 | pkill -f '[d]sh web' | taskkill /PID /T /F |
| 取 PID | ss -tlnp | netstat -ano |
| 读日志 | tail -n 200 ~/.dsh-web.log(用哨兵行判断调用是否成功) | 直接读 logs\dsh-web.log |
| 读版本 | npm root -g + 读 package.json | 同左 |
| 更新 | npm install -g @deepseek-ai/dsh@latest | 同左 |
为什么 WSL 侧用 base64 传脚本:wsl.exe 的命令行要经过 Windows 与 Linux 两层引号解析,多层嵌套极易出错;把 bash 脚本 base64 编码后管道进去,引号问题彻底消失。
为什么启动脚本里要清代理:如果系统里配置了已失效的 http_proxy,DSH 的 API 请求会一直挂着不返回;启动前 unset 掉这些变量可以避免。
命令行
DSH-Launcher.exe [选项]
(无参数) 打开图形界面 --probe 输出状态 JSON 到 logs\selftest.json --detect 打印探测到的运行环境并退出 --start 启动 DSH(等待端口就绪,最多 120 秒) --stop 停止 DSH --restart 停止后重新启动 --open 打开 Web UI(未运行则先启动) --check-update 检查是否有新版本 --update 更新到最新版(会先停止服务) --selftest 全量自测(启动 / 重启 / 打开 / 检查更新 / 失败注入) -h, --help 显示帮助
--probe 与 --check-update 的结果是 JSON,方便脚本消费:
{"action":"probe","env":"WSL · Ubuntu","port":3080,"running":true,"url":"http://127.0.0.1:3080","openUrl":"http://127.0.0.1:3080","pid":1004291} {"action":"check-update","env":"WSL · Ubuntu","installed":"0.1.1-rc.1","latest":"0.1.2-rc.1","state":1,"update":true,"error":""}
常见问题
界面显示「DSH 未就绪」按提示装 DSH:WSL 里 npm i -g @deepseek-ai/dsh,或 Windows 里装好 Node.js 后执行同样命令。点「检查更新」/「更新 DSH」也能顺手把它装上。
WSL 里明明装了 dsh,却探测不到内置脚本用 bash -lc 启动(会加载登录 profile),如果你用的是 nvm 之类的版本管理器,个别配置可能不生效。这时把 wslDistro 写清楚,或者用 wslStartScript 指向你自己的启动脚本。
3080 端口被占用 launcher.json 里把 port 改成别的,比如 3081。注意 DSH 自身也要用同一个端口(启动器会通过 --port 传给它)。
想同时跑 WSL 和 Windows 两个实例各放一份 exe,分别写 launcher.json 指定不同 port 即可。
点「退出」会停掉 DSH 吗?
不会。退出只是关窗口,DSH 继续在后台跑 —— 下次打开点「打开 Web UI」就能直接进。
界面
| WSL 模式 | Windows 原生模式 |
| WSL | Windows |
项目结构
src/
Program.cs 入口:CLI 模式、启动/停止/更新编排、自测 Config.cs launcher.json + 环境变量解析 Backends.cs 后端抽象:IBackend / WslBackend / WindowsBackend / 自动探测 Ui.cs 设计令牌、矢量图标、按钮与状态指示器 MainForm.cs 主窗口 build.ps1 Windows 一键构建 build.sh WSL 里构建(调用 Windows 侧 csc) app.manifest DPI 感知 + 执行级别清单 icon/ 应用图标
开发
构建 ./build.sh # WSL powershell -ExecutionPolicy Bypass -File build.ps1 # Windows
探测当前环境(不启动任何东西) dist/DSH-Launcher.exe --detect
全量自测:启动 → 重启 → 打开 → 检查更新 → 失败注入 dist/DSH-Launcher.exe --selftest
界面改动后可以用 --selftest 的姊妹钩子做无头校验:设置环境变量 DSH_SMOKE=1 启动,窗口会移出屏幕、2.5 秒后把全部控件的坐标尺寸写进 logs\ui-dump.json 再自动退出,方便脚本检查布局有没有越界或重叠。
许可
MIT
DSH(DeepSeek Harness)是 DeepSeek 的项目,本项目只是它的一个第三方启动器,与 DeepSeek 官方无关。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
GLFzr/dsh-launcher
一键启停 Web 服务并自动打开带鉴权页面
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目