🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面窗口外壳 Void0312Aurora/dsh-desktop-electron

DeepSeek Harness
Void0312Aurora80 天前有提交已提供中文文档扫描:含敏感能力

把 dsh Web GUI 装进独立桌面窗口并常驻托盘

32.8/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Void0312Aurora/dsh-desktop-electron
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-desktop-electron(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 07:06:31

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令
查看扫描证据(共 2 处,展示前 2 条)
  • 执行外部命令来自配置/变量
    src/main.ts:279
    reaper = nodeSpawn(process.execPath, [join(runDir(), 'lib', 'reaper.js'), String(process.pid), String(serverPid)], {
  • 执行外部命令固定命令
    src/process-tree.ts:125
    spawn('taskkill', ['/T', '/F', '/PID', String(pid)], { stdio: 'ignore', windowsHide: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 独立桌面窗口
  • 常驻系统托盘
  • 跨平台桌面外壳

跨平台 Electron 桌面外壳,套在你自己的 dsh web 上:常驻托盘的独立窗口,不打包 Node 运行时

README

由 DeepSeek 最新模型翻译生成
dsh-desktop-electron DeepSeek Harness(dsh)Web GUI 的 Electron 桌面外壳:启动 dsh web,等待服务端的就绪行,把 GUI 托管在独立窗口里,并常驻托盘。 本外壳面向公开发布的 @deepseek-ai/dsh 包。它仅依赖维护中的 dsh web --host --port 参数和 dsh web: 就绪行。 本仓库是独立维护的 DSH 桌面外壳项目,不携带任何 harness 源码;后端由主机上的 dsh 安装提供。 这是什么 Web GUI 是 harness 交互最丰富的界面,但平常只活在浏览器标签页里:没有任务栏存在感、没有托盘,每次启动都要开终端并且让标签页一直挂着。这个外壳把它变成一个真正的桌面窗口。 它只是一个外壳:不打包 Node 运行时,也不打包 harness 依赖闭包 —— 跑的是你机器上已有的那个 dsh web。因此 harness 升级后它依然正确,不会锁死在某个快照上。
展开完整文档(README 剩余 1 节)
dsh-desktop-electron

DeepSeek Harness(dsh)Web GUI 的 Electron 桌面外壳:启动 dsh web,等待服务端的就绪行,把 GUI 托管在独立窗口里,并常驻托盘。

本外壳面向公开发布的 @deepseek-ai/dsh 包。它仅依赖维护中的 dsh web --host --port 参数和 dsh web: 就绪行。

本仓库是独立维护的 DSH 桌面外壳项目,不携带任何 harness 源码;后端由主机上的 dsh 安装提供。

这是什么

Web GUI 是 harness 交互最丰富的界面,但平常只活在浏览器标签页里:没有任务栏存在感、没有托盘,每次启动都要开终端并且让标签页一直挂着。这个外壳把它变成一个真正的桌面窗口。

它只是一个外壳:不打包 Node 运行时,也不打包 harness 依赖闭包 —— 跑的是你机器上已有的那个 dsh web。因此 harness 升级后它依然正确,不会锁死在某个快照上。

| 窗口 | 沙箱化渲染进程(sandbox: true、contextIsolation: true、nodeIntegration: false、无 preload)—— GUI 就是一个普通 Web 应用 |
| 托盘常驻 | 关闭窗口只是隐藏,服务端继续运行;只有退出才终止服务端 |
| 单实例 | 二次启动聚焦已有窗口,而不是再起一个服务端 |
| 不留孤儿进程 | 退出时 tree-kill 服务端;即使主进程被硬杀(任务管理器、崩溃),reaper 子进程也会补上这次清理 |
| 平台 | Windows、macOS、Linux —— 纯 Node/npm 工具链,无需 Rust/Go/Swift |

前置要求

一个可用的 dsh web,按以下顺序解析:

1. DSH_BIN —— 显式指定 dsh 可执行文件路径;
2. DSH_HOME —— harness checkout 根目录(用 install.sh 安装的话是 ~/.dsh/source/current)。优先用其构建产物 apps/cli/lib/bin.js;没有则走 tsx 源码启动,与该 checkout 自己的 pnpm run dsh 完全一致;
3. PATH 上的 dsh。

在 Windows 上,spawn 边界会自动解析通过 DSH_BIN 或 PATH 找到的 npm 命令 shim,包括 .cmd 文件。参数始终保持独立向量:外壳不会启用通用命令 shell,也不要求用户自行定位 npm 包的 JavaScript 入口点。

服务端始终监听 127.0.0.1,端口由操作系统分配(--port 0),因此永远不会和已有的 dsh web 冲突 —— 浏览器实例和这个外壳可以同时开着。

从源码运行

npm install
DSH_HOME=~/.dsh/source/current npm run dev

打包

npm run dist # 安装包输出到 release/
npm run dist:dir # 只输出未打包目录,用于快速冒烟

安装包未签名,因此 Windows SmartScreen 和 macOS Gatekeeper 首次运行时会告警。打包后的应用仍然需要宿主机上有 dsh —— 见「前置要求」。

行为说明

- Windows 权限模式。Windows 没有 harness 的隔离后端,所以 CLI 默认的 workspace-write 模式在那里无法启动。当 DSH_PERMISSION_MODE 未设置时,外壳回退到 danger-full-access(审批提示被禁用)并打印警告。显式设置 DSH_PERMISSION_MODE 可覆盖。
- 进程树终止。Windows 上用 taskkill /T /F,因为 child.kill() 只是对直接子进程做 TerminateProcess。POSIX 上服务端以 detached 方式启动,信号发给整个进程组:先 SIGTERM,宽限期后升级为 SIGKILL。服务端不走优雅 dispose 路径;会话数据按事件逐条写入 JSONL,所以被杀掉的服务端不会丢失任何已记录的内容。
- 外部链接。任何打开新窗口或导航离开服务端 origin 的行为都转交系统浏览器,且限定 http(s);无法解析的目标直接丢弃。
- 工作区语义沿用 CLI 的:调用目录即默认项目根。从桌面快捷方式启动会以外壳的 cwd 为起点,因此建议从项目目录打开应用,或在 GUI 里选择 Workspace。
- 日志。服务端 stdout 以 [dsh web] 前缀转发;从终端启动应用可同时看到两路输出。

测试

npm test # 31 个无密钥用例:命令解析与 spawn、就绪行解析、HTTP 轮询
npm run test:electron:windows # 通过 Windows npm .cmd shim 验证构建后的 Electron 生命周期
npm run typecheck
npm run dist:dir # 解包应用及打包生产依赖闭包验证

来源

外壳、launcher 与 process-tree 原语是在一个 harness fork 中开发并已贡献回上游;本仓库是其独立抽取版本。相关的独立桌面外壳实现:dsh-desktop(Go/Wails,Windows)、dsh-desktop-mac(Swift/WKWebView)、deepseek-harness-desktop(Wails + Node SEA)。

许可

MIT,与 harness 一致。
预览分享卡片长什么样 ↓Void0312Aurora/dsh-desktop-electron
分享 · DeepSeek Harness Hub
Void0312Aurora/dsh-desktop-electron

把 dsh Web GUI 装进独立桌面窗口并常驻托盘

这是你的仓库?认领条目

回到顶部