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

Linux 桌面移植 mtongle/dsh-desktop-linux

DeepSeek Harness
mtongle34 天前有提交已提供中文文档扫描:无法判定

在 Linux x64 上构建并运行官方桌面版外壳

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

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

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/mtongle/dsh-desktop-linux.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]!
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
L4 · 真实安装等级说明 →
数据截至 2026/11/01·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 34 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

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

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:22:52

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 构建Linux桌面外壳
  • 提供补丁集与构建套件
  • 提供安装器

非官方 Linux(x64)移植版,把官方 DeepSeek Harness Desktop 的 Electron 外壳搬到 Linux,含补丁集、构建套件和安装器,对接上游自己的打包流水线。

README

由 DeepSeek 最新模型翻译生成
dsh-desktop-linux 官方 DeepSeek Harness 桌面版(Electron 外壳)的 Linux (x64) 非官方移植。 上游 deepseek-ai/deepseek-harness 的桌面版在 apps/desktop,但发布矩阵只允许 mac-arm64 | mac-x64 | win-x64: Linux is not a supported Desktop release target 不过 Linux 的代码路径其实都在。本仓库是让它能在 Linux 上跑起来的最小补丁集 + 构建套件 + 安装器——不是重写,也不是重新打包 AppImage。产物由上游自己的打包流水线 pnpm run package:desktop:dir 生成,退出码 0,且通过上游的两道 smoke 门禁。 验证基线:tag dsh-v0.2.0-rc.2(commit 639ed015),2026-09-30。
展开完整文档(README 剩余 1 节)
dsh-desktop-linux

官方 DeepSeek Harness 桌面版(Electron 外壳)的 Linux (x64) 非官方移植。

上游 deepseek-ai/deepseek-harness 的桌面版在 apps/desktop,但发布矩阵只允许 mac-arm64 | mac-x64 | win-x64:

Linux is not a supported Desktop release target

不过 Linux 的代码路径其实都在。本仓库是让它能在 Linux 上跑起来的最小补丁集 + 构建套件 + 安装器——不是重写,也不是重新打包 AppImage。产物由上游自己的打包流水线 pnpm run package:desktop:dir 生成,退出码 0,且通过上游的两道 smoke 门禁。

验证基线:tag dsh-v0.2.0-rc.2(commit 639ed015),2026-09-30。

English: README.md

产物验证

- pnpm run package:desktop:dir → EXIT=0
- payload smoke → {"node":"24.18.1","platform":"linux","arch":"x64","koffi":true,"sharp":true,"html":true,"pty":true,"pnpm":true,"grep":true,"glob":true}
- packaged smoke → desktop runtime: DOCX, XLSX, PPTX to PDF and skill CLI discovery passed
- Electron 44.0.0
- scripts/verify-payload.sh → PASS(有 @img/sharp-wasm32 + @emnapi/runtime,无 @img/sharp-linux-x64)

载荷目录:apps/desktop/.desktop-build/targets/linux-x64/artifacts/linux-unpacked (约 1.1 GB,单个 deepseek-harness 二进制)。

快速开始

git clone https://github.com/mtongle/dsh-desktop-linux
cd dsh-desktop-linux

./scripts/bootstrap.sh # 浅克隆上游 @ dsh-v0.2.0-rc.2、打补丁、vendor、写 .env.linux ./scripts/build.sh # pnpm install + build + package:desktop:dir(冷构建约 15 分钟)

DSH_DESKTOP_PAYLOAD=~/build/deepseek-harness/apps/desktop/.desktop-build/targets/linux-x64/artifacts/linux-unpacked \
bash install/install.sh # 装到 ~/.local,不需要 sudo

然后运行 deepseek-harness-desktop,或在应用菜单里找 DeepSeek Harness。

Harness 数据在 ~/.dsh(profile desktop),与 dsh CLI 共享。安装脚本完全不碰它,并且会把旧安装备份成 ~/.local/opt/deepseek-harness-desktop.bak-<时间戳>。

预编译产物(不想自己构建)

Releases 里挂着压缩后的产物,作为独立资产(deepseek-harness-desktop-linux-x64-<时间戳>.tar.zst,约 355 MB,附 .sha256)。
只由手动触发 build-linux-desktop 工作流产出,构建过程就是上面的流水线,并且以 verify-payload.sh 为门禁。

tar -I zstd -xf deepseek-harness-desktop-linux-x64-.tar.zst
DSH_DESKTOP_PAYLOAD="$PWD/linux-unpacked" bash install/install.sh

.tar.zst 里只有解包后的应用目录——没有安装器,没有 Arch 专属打包。
不在本仓库假设的 ~/.local 布局上的话,自己写个 install.sh 即可。

依赖

- Arch Linux(其实任何 glibc 发行版都行,这里没有 Arch 专属的东西)
- Node.js >= 24、pnpm@11.7.0 (Arch 的 nodejs 没有 corepack:npm i -g --prefix ~/.local/share/pnpm-self pnpm@11.7.0)
- 构建树约需 10 GB 空闲磁盘

补丁

前三个是必需的——少任何一个,要么流水线挂,要么应用崩。第四个是外观性的。
四个都是只会在 Linux 上现形的上游真行为,定位过程见 docs/pitfalls.md(中文)。

bootstrap.sh 会按文件名顺序应用 patches/.patch,且各补丁互不重叠(没有两个改同一个文件),所以把某个补丁从 patches/ 里删掉就是"跳过它"的正式方式。

1. Linux 发布目标(17 文件,patches/0001-desktop-linux-port.patch)

放宽 target 白名单和平台联合类型;把运行时准备指向 Linux 的扁平 electron 布局,而不是 macOS 的 Electron.app/Contents/…;给自动更新和上传计划加上 linux-x64;指定可执行文件名;并且在 Linux 上不烤任何强制更新策略 (main.ts 把它限制在 win32/darwin——manifest 里带了策略,应用会在启动阶段以 desktop policy: unsupported platform 直接死)。

同时提供 apps/desktop/.env.linux(上游没有这个模板,本仓库放的是 config/env.linux)。

2. sharp 改用 WebAssembly

sharp 的原生二进制在 Linux + Electron 下段错误(electron#46323:Electron 的 glib 符号泄漏进 sharp 自带的 libvips,第一次真正的图片操作就把进程带走)。开发过程中应用这样死了两次,留下 40 MB core dump。

- runtime-file-policy.ts —— Linux 目标排除 @img/sharp-linux-x64。这样 sharp 的运行时平台 require 会抛错,控制流落到 dist/sharp.mjs 末尾的 @img/sharp-wasm32 兜底分支。
(光设环境变量没用:npm_config_arch 只影响 buildPlatformArch(),永远影响不到 runtimePlatformArch()。)
- prepare-dsh.ts —— 新增 runtime:materialize-linux-shims 步骤,把 vendor 的 wasm 包拷进准备树的 node_modules。
- vendor/sharp-wasm32/ —— @img/sharp-wasm32@0.35.5、@emnapi/runtime@1.11.3、 tslib@2.8.1。二进制不入补丁,由 scripts/fetch-sharp-wasm-vendor.sh 抓。
- smoke-prepared-runtime.ts —— smoke 前 delete environment.NODE_PATH。这才是让 smoke 段错误(而不只是警告)的真凶:tsx 把 NODE_PATH 设成仓库自己的 node_modules/.pnpm/…,smokePreparedRuntime 把 process.env 展开进子进程,这些目录进了 Module.globalPaths,于是
require('@img/sharp-linux-x64/sharp.node') 解析到构建机上的原生 sharp 0.35.3,
而不是准备树里的 wasm 版本。手动跑同一个 smoke 会通过——典型的海森堡 bug。

3. LibreOffice 引擎探测

@deepseek-ai/libreoffice-kit 只为 macOS/Windows 发布原生引擎;Linux 上
selectOfficeEngine() 正确地返回 wasm。但在打包后的应用里这条兜底路径不可达,
因为 Electron 的 asar shim 让 fs.lstatSync() 对 app.asar 内任意路径都返回 stat ——包括荒唐得不可能存在的路径。于是 installedPackageExists() 声称从未发布过的 @deepseek-ai/libreoffice-kit-linux-x64-glibc 存在,resolveEngine() 抛 Installed LibreOfficeKit package is incomplete,而不是用 wasm。
prepare-dsh.ts 把这个探测改写成用模块解析器,它在 asar 里说的是实话。
之后 DOCX/XLSX/PPTX → PDF 就能走 wasm 正常工作了。

4. 去掉应用内菜单栏(外观性,patches/0002-hide-application-menu-bar.patch)

不构建也能用。上游在所有非 Windows 平台都会用可见模板调 Menu.setApplicationMenu(...),于是 Linux 窗口里多出一条 应用 / Edit。

而 Electron 在 Linux 上不理会顶层菜单项的 visible: false —— 所以光把 Linux 也塞进上游那个 "隐形"的 Windows 模板,会渲染出两条 Toggle Developer Tools;只有真正空的菜单才能去掉这条:

Menu.setApplicationMenu(process.platform === 'linux' ? null : Menu.buildFromTemplate(…))

默认应用。想保留菜单栏,就在 bootstrap 前删掉 patches/0002-*.patch。
代价:没有 F12 开发者工具快捷键,也没有检查更新 / CLI 命令 / 退出这几个菜单项。

目录

patches/0001-desktop-linux-port.patch 17 文件的 Linux 移植(对 639ed015 干净应用) patches/0002-hide-application-menu-bar.patch 去掉窗口内的 应用/Edit 菜单栏(外观性) scripts/bootstrap.sh 浅克隆 + 打补丁 + vendor + .env.linux scripts/build.sh 上游自己的打包流水线 scripts/verify-payload.sh 校验产物确实带上了 Linux 修复 scripts/fetch-sharp-wasm-vendor.sh vendor wasm sharp 包 config/env.linux apps/desktop/.env.linux 模板 install/install.sh ~/.local 安装器(免 sudo) install/deepseek-harness-desktop 启动器(带 GPU 失败兜底) install/deepseek-harness.desktop.in 桌面项模板 docs/pitfalls.md 14 条坑 + 定位方法(中文) .github/workflows/build-linux-desktop.yml 构建门禁 + 发布

启动器行为

Electron 在 Wayland/XWayland 下的 GPU 初始化有竞态,可能这样挂掉:

GPU process launch failed: error_code=1002
FATAL:gpu_data_manager_impl_private.cc:417] GPU process isn't usable. Goodbye.

启动器先走正常路径,只在捕获的日志里出现这个确切特征时才用 --disable-gpu 重试一次,所以正常退出永远不会被重试,无关的失败也保留原本的退出码。
DSH_DESKTOP_FORCE_DISABLE_GPU=1 可强制软件渲染。

状态与注意事项

- 只验证了一个版本、一个架构。 仅对 dsh-v0.2.0-rc.2 / linux-x64 验证过。上游会随意重构 apps/desktop/scripts/,换 commit 后 git apply 会拒绝——这正是预期的失败方式。
- CI 是门禁,不是定时任务。 改动 patches/、scripts/、config/、install/ 的 push 会跑完整构建 + verify-payload.sh(约 20 分钟,不产 artifact)。发布只由手动 workflow_dispatch 触发,不会背着你发东西。一次完整构建约 15 分钟,产物 1.1 GB(压缩后 355 MB)。
- 不是 DeepSeek 官方支持。 上游是刻意把 Linux 排除在桌面发布矩阵外的;对 download.deepseek.com/dsh-desk/feeds/linux-x64/ 的自动更新请当作不确定。
- 桌面外壳本身是官方的,本仓库不添加任何产品代码。

许可

MIT。patches/ 是 deepseek-harness(MIT,© 2026 DeepSeek)的衍生作品。
预览分享卡片长什么样 ↓mtongle/dsh-desktop-linux
分享 · DeepSeek Harness Hub
mtongle/dsh-desktop-linux

在 Linux x64 上构建并运行官方桌面版外壳

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部