返回目錄

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 外掛,絕不濫發。