一键启动 DSH 服务器并在独立窗口打开 Web 界面
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add moonlight273/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 一键启动服务器
- 独立窗口打开界面
- 内嵌WebGUI
Windows 桌面版 DeepSeek Harness —— 一键启动的 Electron 桌面封装,内嵌 DSH 服务器与 Web GUI(非官方)
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Desktop(桌面版)
把 DeepSeek Harness 变成 Windows 桌面软件:Electron 应用内嵌启动 DSH 服务器,并在独立窗口中显示 DSH 的 Web GUI,无需手动开终端、无需自己敲 dsh web。
非官方项目声明本项目是第三方桌面封装(wrapper),不是 DeepSeek 官方产品,与 DeepSeek 官方无隶属或背书关系。
名称中的 "DeepSeek Harness" 指向上游开源项目 @deepseek-ai/dsh(MIT 许可)。
本项目自身代码同样以 MIT 许可发布(见 LICENSE),应用图标为自制,非官方商标素材。
使用本软件仍需自行准备 DeepSeek API 凭据,并遵守上游项目与 DeepSeek 平台的服务条款。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Desktop(桌面版)
把 DeepSeek Harness 变成 Windows 桌面软件:Electron 应用内嵌启动 DSH 服务器,并在独立窗口中显示 DSH 的 Web GUI,无需手动开终端、无需自己敲 dsh web。
非官方项目声明本项目是第三方桌面封装(wrapper),不是 DeepSeek 官方产品,与 DeepSeek 官方无隶属或背书关系。
名称中的 "DeepSeek Harness" 指向上游开源项目 @deepseek-ai/dsh(MIT 许可)。
本项目自身代码同样以 MIT 许可发布(见 LICENSE),应用图标为自制,非官方商标素材。
使用本软件仍需自行准备 DeepSeek API 凭据,并遵守上游项目与 DeepSeek 平台的服务条款。
特性
- 一键启动:自动探测本机已装的 dsh(或使用自包含捆绑运行时),启动 dsh --profile web
- 智能端口:默认 3080,被占用时自动改用 OS 分配端口,无需手动处理冲突
- 版本感知:系统 dsh 与捆绑运行时谁新用谁——升级全局 dsh 即自动跟随,无需重新打包
- 桌面集成:独立窗口 + 应用菜单(在浏览器打开 / 重启服务器 / 服务器日志 / 退出)
- 日志面板:内嵌查看 DSH 服务器 stdout/stderr
- 干净退出:关闭应用时清理 DSH 服务器进程树
- 隐私:启动时禁用 DSH 遥测(DSH_TELEMETRY_DISABLED=1)
界面预览
应用窗口内即 DSH 的 Web GUI(原生窗口 + 应用菜单,无浏览器地址栏):
DSH GUI in the desktop window
目录结构
dsh-desktop/
├── src/
│ ├── main.js # Electron 主进程:探测运行时、spawn 服务器、窗口管理 │ ├── preload.js # contextBridge 安全桥 │ └── renderer/ # 启动页 / 错误页 / 日志窗口 ├── scripts/ │ ├── make-icon.ps1 # 生成应用图标(icon.png / icon.ico) │ └── build-runtime.mjs # 构建自包含运行时(纯 Node:拷贝 node + dsh 安装树 + home 模板) ├── assets/ # 图标 ├── resources/ # 自包含运行时(由 build-runtime.mjs 生成,不入库) └── release/ # electron-builder 打包产物
快速开始(开发模式)
cd dsh-desktop
npm install # 安装 electron / electron-builder
npm start # 启动桌面应用(自动探测系统 dsh)
首次启动会在系统托盘/任务栏出现窗口;默认使用本机 ~/.dsh 作为 DSH_HOME。
冒烟测试(无窗口)
npm run smoke # 等价于: electron . --smoke --no-window
只启动服务器、等待就绪、探测 HTTP 可达后退出;stdout 输出 DSH_DESKTOP_SMOKE_OK 。
带窗口 + 截图的完整验证:
electron . --smoke --home --shot
模拟打包布局(用本机构建的 resources 验证捆绑运行时):
$env:DSH_DESKTOP_RESOURCES = "D:\harry\Documents\dsh-desktop\resources"
electron . --smoke --no-window
自包含打包(不依赖用户已装的 dsh)
1) 构建运行时(下载 node 官方包 + 拷贝全局 dsh 安装 + 制作 home 模板)
npm run build:runtime
2) 打包安装版(NSIS)与便携版
npm run dist
打包后的应用优先使用 resources/dsh-runtime 中的捆绑运行时与 resources/dsh-home-template 模板(首次运行时复制到 %APPDATA%\dsh-desktop\home);未捆绑时自动回退到系统已安装的 dsh。
配置
配置文件位于 %APPDATA%\dsh-desktop\config.json(或打包版 userData 目录):
{
"port": 3080,
"dshHome": null,
"nodePath": null,
"dshBin": null,
"autoOpenBrowser": false
}
- port:首选端口(0 = 总是让 OS 分配)
- dshHome:自定义 DSH_HOME(默认:捆绑模式 userData/home,系统模式 ~/.dsh)
- nodePath / dshBin:自定义 Node 可执行与 dsh 入口(自动探测失败时使用)
工作原理(学习笔记)
1. 运行时探测(版本感知):比较系统全局 dsh(%APPDATA%\npm\node_modules\@deepseek-ai\dsh)与捆绑运行时(process.resourcesPath/dsh-runtime)的版本,取较新者:升级全局 dsh 后桌面版自动跟随;接收者机器无全局 dsh 时自动使用捆绑运行时。
可用配置 runtimeMode 强制 system / bundled。
2. 启动服务器:node /lib/bin.js --profile web --port ,继承环境并注入 DSH_HOME,关闭遥测;dsh ≥ 0.1.1-rc.2 追加 --no-open(否则新版会尝试打开默认浏览器)。
3. 就绪检测:解析服务器 stdout 中的 dsh web: http://127.0.0.1: 行(--port 0 时这是唯一能拿到实际端口的方式),再轮询 HTTP 兜底。
4. 窗口:就绪前显示启动页(本地文件),就绪后 loadURL 加载 GUI。
5. 清理:before-quit 时 taskkill /PID /T /F 杀掉整棵进程树。
开发:推送到 GitHub
常规方式:git push -u origin main
当 github.com:443 被网络阻断时(现象:Could not connect to server、 RPC failed; curl 55 Send failure),可用内置的 API 推送脚本——它走 api.github.com(通常不受影响),凭据复用 Git Credential Manager 已保存的登录:
npm run push # 等价于 node scripts/push-via-api.mjs
node scripts/push-via-api.mjs --dry-run # 先看会推送哪些文件
脚本流程:blobs → tree → commit → 更新分支引用,并自动处理空仓库场景。
提交历史仍是标准的 Git 提交(沿用本地提交信息与作者)。
已知限制
- 关闭应用时强制结束 DSH 服务器进程(Windows 无优雅信号通道);会话数据为 JSONL 持久化,已写入的内容不会丢失。
- 自包含 home 模板默认拷贝本机 ~/.dsh(含凭据与会话),仅限个人使用,切勿分发;分发/公开请用 node scripts/build-runtime.mjs --sanitize。
- 全局 dsh 版本低于捆绑版本时以捆绑为准(runtimeMode: "auto"),如需强制跟随系统请设为 "system"。
- 仅支持 Windows(目标平台)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
moonlight273/dsh-desktop
一键启动 DSH 服务器并在独立窗口打开 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,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。