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 才能见托盘,否则关窗即静默消失。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-desktop-linux(ffyfox/dsh-desktop-linux)
仓库:https://github.com/ffyfox/dsh-desktop-linux
本站详情页:https://www.yhbd.top/plugins/ffyfox-dsh-desktop-linux/
本站登记:类型 client · 归类 原生 DSH 插件 · 许可证 NOASSERTION · ⭐ 4 · 最近提交 2026-09-30 · 主语言 Shell · 未检测到 DSH 插件清单
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 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 并产出安装包。
当前验证范围见验证状态。

项目产物
本项目的产物是官方 Electron 应用本身:
- 渲染走自己的
dsh-app://协议,而不是去连一个本地 Web 服务; - 内置 Node / pnpm / Python 运行时,不依赖系统 Node;
- 独占
$DSH_HOME/profiles/desktop,不占用webprofile。
代价是构建重得多:要拉上游 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 →
nexu-io/open-design
EthanYoQ/AI-Novel-Writer
fufankeji/deepseek-harness-studio
EthanYoQ/Invoice-Downloader
Clarklevis1995/dsh-mobile
ZSeven-W/dsh-ios
THU-MAIC/dsh-openmaic
988hj7tczd-oss/dsh-computer-use