DeepSeek Harness Hub
← 返回列表

koompi/dsh-desktop

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DeepSeek Harness 的 Electron 外壳。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/2 · 已提供中文文档

DeepSeek Harness 的 Electron 桌面外壳:将已发布的 dsh CLI 作为 sidecar 运行

综合分
29
GitHub 分
29
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add koompi/dsh-desktop
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Desktop

DeepSeek Harness 的 Electron 外壳。
它将已发布的 dsh CLI 作为 sidecar 运行,并在窗口中显示 dsh web。
上游代码没有被 fork 或打补丁。

工作原理

1. 捆绑的 Node 24 运行 runtime/node_modules/@deepseek-ai/dsh/lib/bin.js web --port 0 --no-open。
2. dsh web 在操作系统选择的端口上绑定 127.0.0.1,并打印 dsh web: http://127.0.0.1:/?token=...。
3. 主进程在 BrowserWindow 中加载该 URL。
token 会像在浏览器中一样变成 HttpOnly cookie,因此上游的 loopback 绑定、登录和 origin 防护保持不变。
4. 关闭窗口会向 sidecar 发送 SIGTERM,并等待其退出后 Electron 才退出。

会话数据存放在 ~/.dsh(或 $DSH_HOME)中,与 dsh CLI 共享。
环境中的 DSH_TELEMETRY_DISABLED=1 会关闭上游的反馈遥测。

构建

需要 Bun、jq、curl,以及对 nodejs.org、npmjs.org 和 GitHub 的网络访问。

bun install                 # Electron + electron-builder
(cd runtime && bun install) # the upstream dsh runtime
scripts/build-appimage.sh   # fetches Node 24, compiles src/main.ts, builds release/*.AppImage

为当前用户安装构建好的 AppImage(启动器位于 PATH、hicolor 图标、桌面条目;重新构建后再次运行即可升级):

scripts/install-local.sh

无需打包,直接从源码运行:

scripts/fetch-node.sh
bun run start

从上游拉取更新

整个上游就是一个固定版本的依赖,即 runtime/package.json 中的 @deepseek-ai/dsh。

scripts/update-upstream.sh          # follow the "alpha" npm dist-tag
scripts/update-upstream.sh latest   # follow "latest"
scripts/update-upstream.sh 0.1.3    # pin an exact version
scripts/build-appimage.sh

该脚本会重写版本固定、重新安装,并且除非安装的 CLI 报告目标版本,否则会失败。
请将 runtime/package.json 和 runtime/bun.lock 一起提交。
默认使用 alpha,因为上游在那里发布预发布版本,而 latest 会滞后。

目录结构

| 路径 | 用途 |
|---|---|
| src/main.ts | Electron 主进程:sidecar 启动、窗口、关闭 |
| runtime/package.json | 唯一的上游版本固定 |
| scripts/fetch-node.sh | 经过校验的捆绑 Node 二进制下载 |
| scripts/update-upstream.sh | 升级上游版本固定 |
| scripts/build-appimage.sh | 完整的 AppImage 构建 |
| scripts/install-local.sh | 按用户安装构建好的 AppImage |
| electron-builder.yml | 打包:Node 和 runtime 作为 extraResources 放在 asar 之外 |

已知限制

- 仅支持 Linux AppImage。Windows 和 macOS 需要在 scripts/fetch-node.sh 中提供各平台的 Node,以及各自的 electron-builder 目标。
- 应用图标是 Electron 的默认图标。
- harness 中的原生文件夹选择器使用 zenity 或 kdialog;如果没有它们,则使用应用内浏览器选择器。
- 上游是预发布版本,其会话格式没有兼容性承诺,因此上游升级可能会拒绝旧的 ~/.dsh 数据。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群