ffyfox/dsh-desktop-linux 预览 preview

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.

Project Overview项目介绍

dsh-desktop-linux is an independent community project that ports the official DeepSeek Harness desktop packaging pipeline (the Electron application under apps/desktop) to Linux, producing AppImage, deb, rpm, and a local PKGBUILD for Arch. It explicitly fills the gap left by the upstream README which states "Linux is not a supported Desktop release target." Integration is straightforward: download the prebuilt artifact from the GitHub Releases page, or clone the repository and run scripts/fetch-upstream.sh, scripts/apply-patches.sh, then scripts/build.sh --all to drive the full pipeline, with outputs landing in upstream/apps/desktop/.desktop-build/targets/linux-x64/unsigned-artifacts/ for verification.

A typical workflow begins by choosing a format that matches the distribution: AppImage just needs chmod +x and runs anywhere; Debian/Ubuntu users run sudo apt install ./deepseek-harness-*.deb; Fedora/RHEL users use sudo dnf install ./deepseek-harness-*.rpm; Arch users run ./scripts/pkgbuild-dir.sh then cd pkgbuild && makepkg -si to install into /opt/deepseek-harness-desktop with /usr/bin/deepseek-harness as a symlink. Once installed, the app launches with its own dsh-app:// rendering protocol and exclusively owns $DSH_HOME/profiles/desktop, which the CLI actively refuses to touch, so a parallel dsh web instance will see an "occupied session" error if pointed at that profile. The target audience is Linux users wanting the official DSH desktop experience, plus maintainers who need to reproduce the upstream runtime matrix through verify.sh --runtime.

Hard requirements are Node 22.19+ or 24+ together with pnpm 11 (pnpm 9 fails with ERR_PNPM_LOCKFILE_CONFIG_MISMATCH), and rpmbuild on the build host. Build outputs are unsigned, the updater channel is disabled, and only x86_64 is supported; aarch64 is not built. Real-hardware verification so far covers Arch Linux with KDE Plasma 6 on Wayland, AppImage launches, and linux-unpacked runtime checks; deb and rpm have only had their metadata inspected, not been installed on their target distributions. GNOME users must install gnome-shell-extension-appindicator to see the tray, otherwise closing the window sends it to a hidden state without any visible affordance, and the project is not published to AUR.

dsh-desktop-linux 是把 DeepSeek Harness 官方桌面端(apps/desktop 的 Electron 应用)的打包流水线移植到 Linux 的社区项目,产出 AppImage、deb、rpm 与本地 PKGBUILD。项目主动声明并非 DeepSeek 官方产品,补齐上游 README 明确拒绝的 linux-x64 构建目标。集成方式是从 GitHub Releases 下载对应产物或克隆仓库跑 scripts/fetch-upstream.sh、apply-patches.sh、build.sh --all 走完整流水线,最终落到 upstream/apps/desktop/.desktop-build/targets/linux-x64/unsigned-artifacts/。

典型工作流是从 Releases 拉 AppImage 给权限即跑,或在 Arch 上 makepkg -si 装出 /opt/deepseek-harness-desktop;桌面端走 dsh-app:// 协议渲染并独占 $DSH_HOME/profiles/desktop,CLI 连参数层面都拒绝这个 profile。适用人群是想在 Linux 上跑官方 DSH 桌面的用户与需要自托管、跑通 upstream verify.sh --runtime 活体矩阵的打包者。

依赖硬性要求 Node 22.19+/24+ 与 pnpm 11(lockfile 会校验),rpm 还要 rpmbuild,未做自动更新、不签名、仅 x86_64;KDE Plasma 6 Wayland 与 Arch 包已实测,deb/rpm 仅核对元数据;GNOME 需 gnome-shell-extension-appindicator 才能见托盘,否则关窗即静默消失。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 3 warnings3 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
  • No DSH plugin manifest detected - it may only carry the dsh-plugin topic, so the install method must be confirmed on the spot未检测到 DSH 插件清单:可能只是打了 dsh-plugin 话题,安装方式要现场确认
  • Desktop client: installation downloads an executable - verify the publisher and checksums桌面客户端:安装会下载可执行文件,请核对发布者与校验和
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:ffyfox/dsh-desktop-linux

把 ffyfox/dsh-desktop-linux 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-desktop-linux

中文 | English

本项目为独立社区项目。不是 DeepSeek 官方产品,与 DeepSeek 无隶属关系。

把 DeepSeek Harness 官方桌面端 (apps/desktop 的 Electron 应用)的打包流水线移植到 Linux,产出 AppImage / deb / rpm / Arch 包。

上游目前明确不支持 Linux(apps/desktop/README.md:"Linux is not a supported Desktop release target.")。本项目补的就是这一块:让官方打包流水线认得 linux-x64 并产出安装包。 当前验证范围见验证状态。

DeepSeek Harness 桌面端界面

项目产物

本项目的产物是官方 Electron 应用本身:

  • 渲染走自己的 dsh-app:// 协议,而不是去连一个本地 Web 服务;
  • 内置 Node / pnpm / Python 运行时,不依赖系统 Node;
  • 独占 $DSH_HOME/profiles/desktop,不占用 web profile。

代价是构建重得多:要拉上游 monorepo、跑 pnpm workspace 构建、再用 electron-builder 打包。

安装

发行版 格式 安装方式
通用 AppImage 从 Releases 下载,chmod +x 后直接运行
Debian / Ubuntu deb sudo apt install ./deepseek-harness-*.deb
Fedora / RHEL rpm sudo dnf install ./deepseek-harness-*.rpm
Arch Linux PKGBUILD 仓库自带,本地 makepkg 构建(未发布到 AUR),见 Arch 包

产物是 unsigned 构建(文件名里带 -unsigned)。安装后 dsh:// 链接会交给它处理。

从源码构建

依赖:Node 22.19+ 或 24+、pnpm 11、git。 打 rpm 还需要系统有 rpmbuild。

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

./scripts/fetch-upstream.sh      # 拉上游源码(默认用 PKGBUILD 里钉的 tag)
./scripts/apply-patches.sh       # 打补丁
./scripts/build.sh --all         # AppImage + deb + rpm
./scripts/verify.sh --runtime    # 验证矩阵

build.sh 的参数:--dir(只出未打包目录,最快)、--appimage(默认)、--deb、--rpm、--all。 整条流水线(build:official → release:pack → prepare:* → package)才是耗时大头, 多打一种格式只多一次 fpm/AppImage 打包,所以分开跑更快,也更容易定位失败。

产物落在 upstream/apps/desktop/.desktop-build/targets/linux-x64/unsigned-artifacts/。

deb / rpm 的 Maintainer: / Homepage: 来自 upstream/apps/desktop/.env.linux。build.sh 首次运行就从仓库里的 .env.linux.example 生成,值已经填好。要换成你自己的,改那个文件即可: 同名环境变量会被上游整个滤掉,DSH_DESKTOP_LINUX_MAINTAINER=… build.sh --deb 静默无效。

硬性前提

必须用 pnpm 11。 上游仓库声明 packageManager: pnpm@11.7.0,pnpm 11 会自己切到该版本; pnpm 9 会在 pnpm install 报 ERR_PNPM_LOCKFILE_CONFIG_MISMATCH。

Arch 包

PKGBUILD 直接吃上游的 release 源码包,不依赖 ./upstream 检出:

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-reconnect 下一个 Next dsh-plugin-conflict-guard →