← 返回列表
需源码安装
一个dsh的启动程序,避免每次打开dsh都要进命令行
暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/18 · 已提供中文文档
综合分
30.6
GitHub 分
30.6
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add codeWang-J/dsh-launcher仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功
- 是什么
- dsh 原生插件 · desktop
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 7 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-launcher(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
仓库缺少 package.json,无法用 dsh 插件安装命令安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 01:59:10
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成DSH 启动器 · DeepSeek Harness Launcher License: MIT Platform: Windows 一个 Windows 桌面启动器:双击图标就能启动 dsh web,启动全程不会出现任何黑色命令行窗口, 并显示一个带图标、全名、进度条和实时启动步骤的启动界面。 ⚠️ 本项目是第三方个人工具,与 DeepSeek 官方无关; 图标取自 DSH 官方前端 favicon.svg,版权归 DeepSeek 所有。 使用前请先自行安装并确认 DSH 可用(npx @deepseek-ai/dsh web)。 ┌──────────────────────────────────────────┐ │ │ │ 🐋 │ ← DSH 鲸鱼图标 │ │ │ DeepSeek Harness │ ← 全名 │ dsh · 本地 AI 编码工作台 │ │ │ │ ████████████████████████░░░░░░░░░░░░░ │ ← 中部:启动进度条 │ │ │ 正在等待服务就绪… │ ← 中下部:灰色小字,实时步骤 │ │ └──────────────────────────────────────────┘ 特性 - 零命令行窗口:启动器是 WinExe,dsh 服务通过脱壳脚本以无窗口方式拉起,日志写文件 - 可视化启动过程:图标 + 全名 + 进度条 + 逐步状态文字(检查环境 → 定位安装 → 启动服务 → 等待就绪 → 打开浏览器) - 自动打开浏览器:直接解析 dsh 打印的带令牌地址(dsh web: http://127.0.0.1:port/?token=...),无需手工复制 - 服务独立存活:dsh 以 detached 方式运行,退出启动器不会中断服务 - 托盘常驻:打开界面 / 复制地址 / 查看日志 / 重启服务 / 停止服务并退出 - 智能识别:端口上已经有 dsh 在跑(例如你原来从 PowerShell 启动的会话)时,直接打开界面而不是重复启动 - 失败可见:启动失败时界面上用红字给出原因(未找到 Node.js、端口占用、进程退出等)并保留窗口 - 高 DPI 友好:声明 DPI 感知,150% 缩放下按原生分辨率绘制,不发虚 环境要求 | 依赖 | 说明 | | --- | --- | | Windows 10 / 11 | 使用 WinForms + .NET Framework 4.x(系统自带) | | Node.js | dsh 的运行环境 | | DSH | npx @deepseek-ai/dsh web 能跑起来即可 | | PowerShell 5.1+ | 仅构建 / 安装快捷方式时需要(系统自带) | 快速开始 方式一:直接用编译好的 exe(最省事) 到 Releases 下载 DSH-Launcher.exe, 放到任意目录双击即可(前提是本机已装 Node.js 与 DSH)。 方式二:从源码构建 git clone https://github.com/codeWang-J/dsh-launcher.git cd dsh-launcher pwsh -File build.ps1 # 生成图标 + 编译出 DSH-Launcher.exe pwsh -File install-shortcuts.ps1 # 创建桌面 / 开始菜单快捷方式 之后双击桌面的 DeepSeek Harness 即可启动。 仓库里不包含编译好的 exe(保持纯源码),也不包含生成的图标; build.ps1 会用 assets/dsh-logo.svg 现场生成图标并编译。 若图标生成失败(例如找不到 sharp),编译会继续,只是没有自定义图标。 使用说明 | 启动方式 | 位置 | | --- | --- | | 桌面快捷方式 | 桌面 DeepSeek Harness | | 开始菜单 | 开始菜单 → DeepSeek Harness | | 直接运行 | DSH-Launcher.exe | 启动流程:进度条与灰色文字依次推进 → 服务就绪 → 自动打开浏览器 → 界面淡出,托盘出现鲸鱼图标。 托盘菜单(右键托盘图标): | 菜单项 | 作用 | | --- | --- | | 打开 DSH 界面 | 重新打开浏览器界面(双击托盘图标同效) | | 复制访问地址 | 把带令牌的地址复制到剪贴板 | | 查看启动日志 | 打开本次 dsh 服务的日志 | | 重启 DSH 服务 | 停止当前服务并重新启动 | | 停止服务并退出 | 结束 dsh 进程树,然后退出启动器 | | 退出启动器(服务继续运行) | 只关启动器,服务继续在后台跑 | 关闭启动界面(“×”或 Esc)= 最小化到托盘,不会中断启动。 退出启动器不会停服务;要彻底停掉请用托盘里的“停止服务并退出”。 已经在运行的 DSH 会怎样? 若端口上已有 dsh web,启动器会复用并直接打开界面,不会起第二个服务; 托盘里的“停止 / 重启”会通过端口反查 PID 作用到那个进程。 配置 复制 launcher.ini.example 为 launcher.ini(该文件已被 .gitignore 忽略,不会提交本地路径): | 配置项 | 默认值 | 说明 | | --- | --- | --- | | workspace | 启动器上一级的 workspace 目录 | 会话工作目录 | | profile | web | 启动的 profile,web = 浏览器界面 | | host / port | 127.0.0.1 / 3080 | 监听地址与端口 | | node | 空(自动探测) | Node.js 路径 | | entry | 空(自动探测) | dsh 的 lib/bin.js,自动在 npm / npx 缓存里挑版本最高的 | | openbrowser | true | 就绪后是否自动打开浏览器 | | timeout | 180 | 等待就绪的最长秒数 | | extraargs | 空 | 追加给 dsh 的参数 | | datadir | 启动器目录\runtime | 日志与进程号文件目录 | 命令行参数会覆盖 ini:--port、--host、--profile、--workspace、--node、--entry、 --restart、--no-open、--timeout、--preview(只演示界面,不启动服务)。 原理:为什么没有黑色命令行窗口 | 环节 | 做法 | | --- | --- | | 启动器本体 | 编译为 WinExe(GUI 子系统),本身没有控制台 | | 拉起 dsh | src/bootstrap.cjs 脱壳:detached + windowsHide 启动服务,stdout/stderr 重定向到日志文件,壳进程立即退出 | | 打开浏览器 | ShellExecute 交给系统默认浏览器 | | 查端口 / 停服务 | netstat、taskkill 均以 CreateNoWindow 调用 | 服务与启动器之间没有管道,因此启动器退出、崩溃都不会影响 dsh,也不会出现管道断开导致的异常。 目录结构 ├─ src\ │ ├─ DSHLauncher.cs 启动器源码(C# / WinForms / .NET Framework 4.x) │ ├─ bootstrap.cjs 脱壳脚本:把 dsh 变成无窗口后台进程 │ └─ app.manifest DPI 感知 + 系统兼容性清单 ├─ assets\ │ └─ dsh-logo.svg DSH 官方 logo(图标生成的输入) ├─ tools\ │ └─ render-assets.js 由 svg 生成 png / ico(需要 sharp) ├─ build.ps1 构建:生成图标 + 编译 ├─ install-shortcuts.ps1 创建 / 删除快捷方式(-Remove 删除) ├─ push-to-github.ps1 一键推送(本机 git 不在 PATH 时用) ├─ launcher.ini.example 配置模板 └─ runtime\logs\ 运行期日志(已忽略,不提交) 常见问题 先看日志:runtime\logs\launcher.log(启动器动作与失败原因)、runtime\logs\dsh-web-*.log(dsh 自身输出)。 | 界面提示 | 处理 | | --- | --- | | 未找到 Node.js | PATH 里没有 node,在 launcher.ini 里写 node= 全路径 | | 未找到 DSH 安装目录 | npx 缓存被清理过:先跑一次 npx @deepseek-ai/dsh web,或把 entry= 指向 ...\@deepseek-ai\dsh\lib\bin.js | | 启动失败:端口被占用 | 改 port=,或先停掉占用端口的程序 | | 无法自动打开浏览器 | 界面会显示地址,手动复制到浏览器即可 | | 图标 / 字体发虚 | 确认 exe 是最新构建(build.ps1),旧版本没有 DPI 感知清单 | 已知限制 - 目前只面向 web profile 做了完整流程(其他 profile 也能用 profile= 启动,但没有浏览器跳转) - 单实例:重复双击只会唤起已运行的启动器并打开界面 - “停止服务并退出”会结束 dsh 进程树 —— 如果当前会话正跑在该服务上,会话会一并结束 许可证 本项目采用 MIT 许可证。 注意:界面与图标使用的 DSH 鲸鱼 logo 取自 DeepSeek Harness 官方前端资源, 版权归 DeepSeek 所有,不在本项目 MIT 许可范围内;DSH 本身也需另行安装并遵守其许可。