返回目录

dsh-desktop-linux

维护状态: 活跃

ffyfox/dsh-desktop-linux

将官方 DeepSeek Harness 桌面端打包移植到 Linux:AppImage、deb、rpm 和 Arch PKGBUILD,并通过一套补丁系列从上游源码构建。Ports the official DeepSeek Harness desktop packaging to Linux: AppImage, deb, rpm and an Arch PKGBUILD, built from upstream sources through a patch series.

前往 GitHub
$ dsh plugin add dsh-desktop-linux

62

星标

4

Fork

Shell

语言

NOASSERTION

许可证

2026-09-26

创建于

2026-11-13

最近推送

MIT 社区移植项目(Shell),把官方 DSH 桌面端打包到 Linux,产出 AppImage / deb / rpm / Arch 包,并补上托盘、玻璃模式与无边框补丁。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-11-10

许可证

MIT

01它能帮你完成什么?

  • 在上游明确不支持的 Linux 上跑官方 DeepSeek Harness 桌面端

    官方 Electron 应用本身的 AppImage、deb、rpm 与 Arch 包:渲染走自己的 dsh-app:// 协议,内置 Node / pnpm / Python 运行时,并使用独立的 desktop profile

    不想用 CLI 或浏览器标签页、想要桌面客户端的 Linux 用户

  • 关窗后还能把窗口找回来——因为关窗只是隐藏

    带菜单的常驻托盘图标(补丁 0013),可以重新打开窗口,或从托盘菜单、Application → Quit、Ctrl+Q 完全退出

    关掉窗口后以为程序退出了的用户

  • 让窗口近似 macOS 版观感,或干脆去掉系统标题栏

    可选开启的玻璃模式(隐藏菜单栏、侧栏浓度可调)与无边框模式(40px 页面内 caption、Electron 自绘窗口按钮)

    在 KDE、Hyprland 或 niri 上想指定窗口形态的 Wayland 用户

  • 让插件市场能读到宿主版本,而不是显示「宿主版本未知」

    补丁 0017 把打包安装的 resources 根传给 Linux 的 Host 进程,兼容性筛选与「更新到兼容版本」随之可用

    在 Linux 上从市场装插件的用户

02如何接入 DeepSeek Harness?

前置条件

  • 从 Releases 下预编译包,或从源码构建:Node 24.9+(要带 TypeScript 类型剥离)、用 npm 或 corepack 装的 pnpm 11、git,打 rpm 还需 rpmbuild
  • AppImage 需要系统提供 FUSE 2(libfuse.so.2),而主流发行版现在默认只装 FUSE 3
  • GNOME 需要 AppIndicator 扩展才有托盘,且新装的扩展要注销重登才生效

安装步骤

  1. 01

    装预编译包:AppImage 先 chmod +x 再运行,deb 用 `sudo apt install ./deepseek-harness-*.deb`,rpm 用 `sudo dnf install ./deepseek-harness-*.rpm`,Arch 用 `sudo pacman -U ./dsh-desktop-linux-*.pkg.tar.zst`

  2. 02

    从源码构建:`./scripts/fetch-upstream.sh`、`./scripts/apply-patches.sh`,然后 `./scripts/build.sh --all`(或 --dir / --appimage / --deb / --rpm)

  3. 03

    打 Arch 包:`./scripts/pkgbuild-dir.sh` 摊平成 ./pkgbuild,再在里面 `makepkg -si`

  4. 04

    跑 `./scripts/verify.sh --runtime` 验证构建出的运行时矩阵

验证接入成功

  • 产物落在 `upstream/apps/desktop/.desktop-build/targets/linux-x64/unsigned-artifacts/`(arm64 机器上是 linux-arm64)
  • `./scripts/verify.sh --runtime` 会对 linux-unpacked 跑活体矩阵

回滚

  • 用安装时所用的包管理器卸载(apt / dnf / pacman -R);Arch 包只把未打包目录装进 /opt/deepseek-harness-desktop,并在 /usr/bin 留一个符号链接

03DSH 适配与能力边界

DSH 适配原生运行时

不是插件:它把官方桌面端的打包流水线移植到 Linux,用一套补丁系列从上游源码构建官方 Electron 应用本身,产出 AppImage、deb、rpm 与 Arch 包。

  • Linux 打包流水线

    PKGBUILD 里钉住的上游 tag 源码,加上补丁系列→AppImage、deb、rpm 与 Arch 包;build.sh 按 uname -m 自动选 linux-x64 或 linux-arm64

    不支持交叉构建;构建要拉上游 monorepo 并跑完整的 pnpm workspace 构建,比装插件重得多
  • 真 Node 的 Host 进程

    打包进产物里的 primary-runtime Node→绕开 Electron 的 node 模式(那里 sharp 解码会段错误)的 Host 进程,代价是 dsh 目录树不放进 asar

    dsh 目录树不进 asar,这也是 linux-unpacked 约 1.1G 的原因
  • 沙箱选择

    内核对非特权 user namespace 的支持情况→支持时走 namespace 沙箱加 seccomp,不支持才退回 setuid chrome-sandbox;AppImage 由 AppRun 运行时探测,deb / rpm / Arch 在 postinst 里判断

    这个选择发生在安装或启动时,不是靠设置项切换
  • 玻璃模式与无边框模式

    启动时设 DSH_DESKTOP_GLASS=1 和/或 DSH_DESKTOP_FRAMELESS=1,侧栏浓度用 DSH_DESKTOP_GLASS_TINT=0..100→近似 macOS 版布局(菜单栏自动隐藏、侧栏半透明),或只有页面内 caption 与 Electron 自绘按钮的窗口

    两种模式互斥——无边框优先,玻璃模式自动关闭并在 stderr 打警告;有没有模糊取决于合成器

04适合谁?何时不该用?

适合

  • 不想用 CLI 或浏览器标签页、想要桌面客户端的 Linux 用户
  • 关掉窗口后以为程序退出了的用户
  • 在 KDE、Hyprland 或 niri 上想指定窗口形态的 Wayland 用户
  • 在 Linux 上从市场装插件的用户

不适合

  • 源码构建需要带 TypeScript 类型剥离的 Node 24(发行版自己打的 Node 可能没有,会在 build:official 第一步失败),以及用 npm 或 corepack 装的 pnpm 11——官方 standalone 安装器与 Homebrew 的二进制会让上游脚本以 SyntaxError 炸掉。
  • AppImage 需要 FUSE 2(libfuse.so.2),而 Debian 13、Ubuntu 26.04、Fedora 44 默认只有 FUSE 3;装对应包,或用 APPIMAGE_EXTRACT_AND_RUN=1 绕过(解包到 /tmp,多占约 1.2G)。
  • 没有自动更新:上游的强制更新策略通道只认 desktop-win / desktop-mac 客户端身份,Linux 产物也没有更新通道,所以它不嵌策略、不轮询、不会自己更新。
  • Linux 没有「安装命令行工具」入口;想在终端用 dsh 得自己装,或直接用应用自带的那份 lib/bin.js 配打包的 primary-runtime node。
  • 上游的客户端身份映射把 Linux 落到 desktop-mac,于是 Platform 把 Linux 客户端当 macOS,而 device_model 仍是 linux-x64 或 linux-arm64;这是上游的行为,不是本项目引入的。
  • 产物是 unsigned 构建。

05兼容性、维护与安全提示

  • 源码构建需要带 TypeScript 类型剥离的 Node 24(发行版自己打的 Node 可能没有,会在 build:official 第一步失败),以及用 npm 或 corepack 装的 pnpm 11——官方 standalone 安装器与 Homebrew 的二进制会让上游脚本以 SyntaxError 炸掉。
  • AppImage 需要 FUSE 2(libfuse.so.2),而 Debian 13、Ubuntu 26.04、Fedora 44 默认只有 FUSE 3;装对应包,或用 APPIMAGE_EXTRACT_AND_RUN=1 绕过(解包到 /tmp,多占约 1.2G)。
  • 没有自动更新:上游的强制更新策略通道只认 desktop-win / desktop-mac 客户端身份,Linux 产物也没有更新通道,所以它不嵌策略、不轮询、不会自己更新。
  • Linux 没有「安装命令行工具」入口;想在终端用 dsh 得自己装,或直接用应用自带的那份 lib/bin.js 配打包的 primary-runtime node。
  • 上游的客户端身份映射把 Linux 落到 desktop-mac,于是 Platform 把 Linux 客户端当 macOS,而 device_model 仍是 linux-x64 或 linux-arm64;这是上游的行为,不是本项目引入的。
  • 产物是 unsigned 构建。
  • 实测覆盖 Arch 上的 KDE Plasma 6、Hyprland 与 niri,以及 Wayland x86_64 上的 Ubuntu 26.04、Debian 13、Fedora 44;aarch64 只过了 CI 构建与启动冒烟,其他发行版、桌面环境与 X11 均未验证。
2026-09-262026-11-06v0.2.2rc1

README 标 MIT(GitHub 识别为 NOASSERTION)· 最新发布 v0.2.2rc1(2026-11-04);独立的社区移植项目,用有文档的补丁系列从上游源码构建,不是 DeepSeek 官方产品

06常见问题

怎么安装?

从 Releases 下载后按发行版安装:AppImage 先 chmod +x,deb 用 `sudo apt install ./deepseek-harness-*.deb`,rpm 用 `sudo dnf install ./deepseek-harness-*.rpm`,Arch 用 `sudo pacman -U ./dsh-desktop-linux-*.pkg.tar.zst`。从源码构建需要带类型剥离的 Node 24 与 pnpm 11。

为什么关掉窗口程序没退出?

这是上游的设计:main.ts 拦截窗口 close 并改为隐藏,Host 与正在跑的任务继续。补丁 0013 加了常驻托盘,可以从托盘菜单「打开」找回窗口,或从托盘「退出」、Application → Quit、Ctrl+Q 完全退出。

在 Debian 13 或 Fedora 44 上 AppImage 起不来?

这些发行版只装 FUSE 3,而 AppImage 需要 libfuse.so.2。Fedora 装 fuse-libs,Debian 13 / Ubuntu 24.04+ 装 libfuse2t64,或用 APPIMAGE_EXTRACT_AND_RUN=1 运行(解包到 /tmp,多占约 1.2G)。

GNOME 上有托盘图标吗?

装了 AppIndicator 扩展才有——GNOME 本体不提供 StatusNotifierItem 宿主。新装的扩展不会热加载,要注销重登;没有托盘宿主时图标不会出现,只能靠二次启动把窗口找回。

它会自己更新吗?

不会。上游的强制更新策略通道只认 desktop-win 与 desktop-mac 客户端身份,Linux 产物也没有更新通道,所以它不嵌策略、不轮询、不自我更新。

08数据与来源

  • 作者声明github.comaea410991251…

    把 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 官方桌面端 (`apps/desktop` 的 Electron 应用)的**打包流水线**移植到…

  • 作者声明github.comaea410991251…

    上游目前明确不支持 Linux(`apps/desktop/packaging/README.md`:*"Linux is not a supported Desktop release target."*)。

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-10。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。