「DeepSeek Harness,桌上版」的標題卡,配有眉標「DeepSeek,桌面 Harness」、副標「它是包住同一套 Web UI 的 Electron 殼層。視窗只是簡單的部分,封裝才是故事所在。」、三個圓角膠囊標籤分別寫著「0.2.1-rc.2」、「Electron + the Web UI」和「Windows、macOS 各兩款」,以及頁尾一行寫著「查核於 2026 年 10 月 21 日,三個安裝程式已上線,31 個 GitHub 發行版,零個二進位資產」。
Guides & Insights

DeepSeek Harness 桌面應用程式:安裝程式究竟在你的電腦上放了什麼

作者

Rowan Sterling

發佈日期

最新模型 · 20查看全部模型 →
基準測試:Artificial Analysis · 每日更新
返回全部文章

DeepSeek Harness 桌面應用程式是一個 Electron 外殼,包裝著與你從 npx @deepseek-ai/dsh web 取得的相同網頁介面,並以三個平台專屬安裝程式的形式提供,適用於目前版本為 0.2.1-rc.2 的 harness。這樣的描述聽起來帶有貶意,但並非本意。把可用的介面包進桌面容器裡,只是週末就能完成的工作;把它包進一個容器,而這個容器擁有自己的執行階段目錄、在你關閉視窗後仍讓工作持續進行、會在沒有穩定版本的通道上自我更新,並在每一次這類操作中保留你的工作階段——這才是需要數個月、也才值得一讀的部分。如果你想透過一個存在於視窗而非終端機中的 harness 來執行 DeepSeek-V4.1-Flash,這就是那個版本,而有趣的問題全都圍繞著視窗之外會發生什麼事。

有兩件事需要在細節之前先說。第一,本文取代我們先前的指引,也就是「沒有桌面應用程式」;該指引在 2026 年 8 月撰寫時是正確的,但現在已經不正確。第二,這是公開預覽版,DeepSeek 自家網站仍如此標示,而其封裝也帶有這個標籤所暗示的粗糙邊緣。安裝程式可以運作。圍繞它的發佈卻比你想像的還薄弱。

桌面版實際上究竟是什麼

桌面應用程式是一層精簡的 Electron 層,其工作是啟動 Host 程序,並讓視窗指向它。視窗本身不會自行排版聊天介面:它會載入應用程式內打包的 Web 進入點,位於 dsh-app://app/,而您會看到的更新對話方塊則來自第二個打包來源,位於 dsh-app://shell/。Electron 會以 RunAsNode 模式啟動一個子 Node 程序,以啟動共用的設定檔執行器,而殼層會將 HTTP 轉送至經驗證的 Web Host,並在轉送過程中捨棄 transfer-encoding、connection 與 keep-alive 標頭。外掛套件回應會標記為 no-store,這是個小細節,卻有明顯後果:變更外掛後,下次重新載入就會顯示變更。

因為 URL 是 dsh-app://而不是 localhost,所以沒有固定連接埠需要記住,也沒有連接埠衝突需要避開。桌面版 Host 預設會監聽由作業系統指派的連接埠。如果你需要特定連接埠,可以透過 webserver.config.port 覆寫來設定,但預設值刻意不是固定常數,且 Host 會綁定 127.0.0.1。如果你一直遵循較舊的指示,這點很重要:八月安裝指南中流傳的數字 19387 不是桌面版連接埠,若把它當成桌面版連接埠,會讓你去找一個根本不存在的服務。

版本鎖定比乍看之下更嚴格。Electron 與 @deepseek-ai/dsh 總是攜帶完全相同的版本——不是範圍,也不是相容的主要版本——因此升級 harness 就等於發布桌面版,而且不支援新版 dsh 搭配舊視窗的組合。Electron 程序會取得一個程序生命週期內的單一執行個體鎖,並獨佔擁有 $DSH_HOME/profiles/desktop。這種獨佔性是真的:CLI 無法啟動該設定檔,而透過 npm 安裝的 dsh 也無法變更它。這兩個安裝確實共用的是對你而言重要的狀態——工作階段、設定、認證資料、工作區與儲存空間,全都位於 $DSH_HOME 之下。它們不共用的是可執行套件、外掛啟用、鎖定檔或 node_modules,這就是為什麼將外掛安裝到桌面設定檔,與將外掛安裝到 CLI 設定檔並不是相同的操作。

三個安裝程式、一個更新通道、沒有穩定版本

Two-column fact card titled 'Three installers, one update channel, no stable release'. The left column, headed 'Files on download.deepseek.com', lists Windows 64-bit .exe at 289.4 MB as 0.2.1-rc.2 linked from the page, macOS Apple silicon .dmg at 265.0 MB as 0.2.1-rc.2 linked from the page, and macOS Intel .dmg at 289.5 MB as 0.2.1-rc.1 'served, but no link anywhere on the page', followed by rows reading 'All three responses HTTP 200', 'All three last modified 17 Oct 2026' and 'Intel build lags by one release candidate'. The right column, headed 'Update and distribution channels', lists Windows x64 updater nightly.yml, macOS arm64 updater nightly-mac.yml, macOS x64 updater nightly-mac.yml, latest.yml any target 404, GitHub releases '31, all prerelease', release assets 0, and npm latest 0.2.1-rc.2. The footer reads 'Read on 21 October 2026. Nightly here is a channel name, not a build time: the Windows and Apple-silicon feeds both serve 0.2.1-rc.2, dated 17 October.'

目前有三個安裝程式,且三者皆有回應。Windows 64 位元執行檔為 289,385,456 位元組,並以 HTTP 200 提供。Apple 晶片的磁碟映像檔為 264,990,950 位元組,同樣為 200。Intel Mac 的磁碟映像檔為 289,480,824 位元組,同樣為 200。三者最後修改日期皆為 2026 年 10 月 17 日。下載頁面只連結了其中兩個。Intel 版本仍在運作、可存取,且在 deepseek.com/en/harness/ 上沒有任何連結指向它——若你使用的是 Intel Mac,並依照頁面指引,你理應會得出沒有為你提供的建置版本這個結論。

Screenshot of the DeepSeek Harness page at deepseek.com/en/harness, showing the 'Preview' eyebrow, the large DeepSeek Harness wordmark, the line 'Ready to use. Right now.' with the subheading 'Everyday tasks, coding, or your own harness, it starts here', the sentence announcing the public preview and open-source release, a 'Download for Windows' button, and a product screenshot showing a session list beside a chat panel introducing the harness as built on Cordis's 'everything is a plugin' architecture.

Intel 版本也落後一個版本。它的更新摘要列出 0.2.1-rc.1;Windows 與 Apple-silicon 的更新摘要則都列出 0.2.1-rc.2。一個候選版本在功能上並不是很大的差距,但它是個真實的訊號,顯示哪些目標會先建置、哪些會最後驗證,而這正是你在把工作階段投入某個平台之前會想知道的事。

更新通道正是發佈情況變得不足的地方。這些 feed 是按目標分別提供,路徑位於/dsh-desk/feeds/<target>/,且在同一主機上。Windows x64 會解析 nightly.yml;兩個 macOS 目標都會解析 nightly-mac.yml。向這三者中任何一個請求 latest.yml或latest-mac.yml,都會得到 404——沒有穩定通道、沒有 beta 通道,也沒有辦法退出唯一存在的通道。DeepSeek 自家的發佈說明證實了這種安排,而非與之矛盾:每個版本都會發佈 nightly feed,而只有穩定版本才會發佈 latest feed,指向相同產物。在此語境下,「Nightly」是通道名稱,而不是建置節奏——Windows 與 Apple silicon 的 feed 都提供同一個 0.2.1-rc.2 建置,日期為 10 月 17 日,其中 Windows 套件的時間戳記為 09:22 UTC,Apple silicon 套件為 09:57 UTC。因此,你會得到自動更新器機制、帶有抖動的輪詢、退避至一小時上限,且除了預覽通道目前提供的內容之外,無法要求其他任何東西。

GitHub 從另一個角度提出了同樣的觀點。這個deepseek-ai/deepseek-harness 儲存庫——於 2026 年 10 月 21 日讀取時有 256,559 個星標和 30,921 個分叉——在同一天有 31 個發行版,每一個都被標記為預發行版,且每一個都沒有附上任何二進位資產。Releases 頁面上沒有任何可下載的內容。如果你想要建置版本,可以從 download.deepseek.com 或 npm 取得,其中@deepseek-ai/dsh 目前會將 latest 解析為 0.2.1-rc.2。這個儲存庫是變更日誌的真實來源,卻是產物的死路;這不尋常到值得直說,因為看到 31 個發行版時,本能會預期其中一個附有安裝程式。

安裝程式會寫入什麼,以及它拒絕碰觸什麼

Windows 安裝程式是原生 NSIS 套件,並非包裝 MSI 的外殼,而且行為就如同原生套件。它提供淺色、深色與自動調色盤——可在安裝時透過 /THEME=light、/THEME=dark 或 /THEME=auto 選擇——可編輯的目的地目錄,以及僅限目前使用者的安裝範圍。磁碟機根目錄會遭拒絕作為目的地,而非空的目的地只有在已是註冊安裝時才會被接受,這表示安裝程式拒絕覆寫不相關的資料夾。更新時,無提示路徑最多等待十秒讓執行中的應用程式結束,若仍在執行則以結束代碼 2 停止。這是誠實的失敗,而非損壞的安裝,且會出現在任何未先結束應用程式的指令碼部署中。

解除安裝程式劃清了大多數解除安裝程式都弄錯的界線。它會移除 Electron 的 userData 目錄,以及位於 %APPDATA% 下的產品目錄,並移除位於 %LOCALAPPDATA% 下的更新程式快取。它不會動到 harness 主目錄——~/.dsh,或 DSH_HOME 指向的任何位置——那裡存放你的工作階段、設定、憑證和外掛程式。傳入 --updated 或 /KEEP_APP_DATA 也會一併保留 Electron 資料。因此,解除安裝後重新安裝是受支援的修復損壞視窗方式,不會遺失你的工作成果;這是刻意的設計決策,而非意外。

值得了解這些隨附的執行環境,因為它們體積龐大,而且位於應用程式目錄之外。內含 numpy、pandas、python-docx、python-pptx、openpyxl、Pillow、lxml 與 XlsxWriter 的 Python,以及 Node 和 pnpm,會在首次有工作區宣告需要它們時安裝於 $DSH_HOME/dsh-runtimes/dsh-primary-runtime——通常位於 ~/.dsh/...,兩個平台皆然。這就是為什麼使用一週後的磁碟佔用量並不等同於安裝完成後的磁碟佔用量,也是為什麼保留 $DSH_HOME 的解除安裝動作,同樣會保留數百 MB 的執行環境。

設定會在啟動時從 desktop/settings.json 讀取一次;該檔案位於 Electron userData 目錄內,在 Windows 上這代表 %APPDATA%\@deepseek-ai\dsh-desktop\desktop\settings.json,而在 macOS 上則代表 ~/Library/Application Support/@deepseek-ai/dsh-desktop/desktop/settings.json。DSH_HOME 不會重新定位此檔案——這點值得特別指出,因為它是唯一不遵循其他所有項目所遵循之變數的設定。該檔案中的更新設定以毫秒為單位:intervalMs 預設為 600,000,而 maxBackoffMs 預設為 3,600,000,且必須至少為 intervalMs。抖動預設為 0.2,會被限制在零到一的範圍內,且下限為一秒,同時絕不超過退避上限。更新 HTTP 流量適用每條連線 60,000 毫秒的閒置期限,不過進行中的下載沒有總持續時間期限——慢速連線不會在下載途中被中斷。

關閉視窗並不會關閉應用程式

在兩個平台上,關閉視窗都會將其隱藏。在 macOS 上,這是 Command-W;在 Windows 上,則是關閉按鈕、Alt-F4,或從工作列選擇「關閉」。Windows 會在第一次隱藏前要求確認,並在 Electron 的 userData 目錄下寫入 background-close-confirmed 旗標,因此只會詢問一次,而非每次都問。Windows 在整個執行期間也會保留一個系統匣圖示。macOS 則完全不附帶選單列圖示,這使得隱藏狀態在當地真正無法察覺——應用程式正在執行、任務正在執行,但螢幕上沒有任何東西顯示這一點,直到你使用 dsh://open 或系統匣重新開啟它(視平台而定)。

視窗隱藏後仍留存的部分才是有用的部分。正在執行的任務會繼續執行,下次視窗顯示時,它會呈現同一份文件、同一個工作階段、同樣的草稿,以及同樣的捲動位置。這與你關閉後再重新開啟的瀏覽器分頁行為不同,而這正是如果你的工作涉及長時間執行的代理任務時,桌面版值得擁有的原因:你可以關閉視窗,讓任務繼續完成。

退出是一個獨立的動作,有其自身的邏輯。在退出之前,Shell 會檢查 Host 是否有執行中的代理程式(包括子代理程式與等待核准的代理程式)、已排入佇列的訊息、正在執行或停止中的工作,以及已設定待觸發的排程提醒。若上述皆不存在,就會默默退出。若有任何一項存在,你會看到一個原生確認對話框,標題為 Quit DeepSeek Harness?,並根據檢查結果顯示三種說明之一:任務將被中斷、排程任務將不會執行,或兩者皆是。從未進入就緒狀態的 Host 不可能已啟動任何任務,因此在該狀態下退出會直接進行而不詢問。「關閉」與「退出」的區別正是這項設計的重點,而且儘管只有其中一個平台會顯示常駐圖示,這項區別在兩個平台上都成立。

dsh 指令,以及至關重要的順序

安裝程式可以將 dsh放到您的 PATH,這正是讓您能針對桌面應用程式所使用的相同 harness 主目錄執行 CLI 的原因。此控制項是 管理 dsh 指令…,且它位於選單中 檢查更新… 的正下方,並提供三個動作:安裝、修復和移除。在 macOS 上,它會在 /usr/local/bin/dsh 寫入啟動器,並在需要時提示管理員授權;在 Windows 上,它會將該指令註冊到目前使用者的 PATH。

有兩條執行順序規則很容易被忽略,而且事後才發現會很惱人。第一條:在解除安裝桌面應用程式之前先執行 Remove,因為解除安裝程式不會移除 dsh 的註冊。若先解除安裝,就會留下一個指向已不存在二進位檔的 PATH 項目。第二條:如果你把應用程式移到其他位置,請在 macOS 上使用 Repair,或在 Windows 上從新位置使用 Install,而不要假設註冊會跟著應用程式走。

桌面設定檔的外掛管理有其自身的棘手之處。因為 Electron 在執行期間會獨佔 $DSH_HOME/profiles/desktop,所以不能在應用程式開啟時安裝到該設定檔。支援的流程是先啟動桌面應用程式一次、將其結束,然後從命令列執行 dsh plugin --profile desktop add <package>。套件會安裝到桌面設定檔,並在你下次開啟視窗時生效。

包裝上已經告訴你的,尚未完成。

README 的已知限制章節異常直白,而其中兩項正是最先會影響到你的。

• 帳號登入尚未連接。「登入」按鈕已停用。首次執行時會改為開啟一個 600 x 700 的歡迎視窗,其中含有 API 金鑰表單;「儲存並繼續」會把金鑰寫入開發用認證存放區,而「稍後設定」則會在不儲存金鑰的情況下開啟實際工作區。在出現「登入」的位置按下它,會在你的系統瀏覽器中開啟已設定的平台頁面,並由主機負責 PKCE 交換與暫時性的本機回呼——相關機制已經存在,帳號綁定則尚未具備。實務上,請預期需要自備金鑰。

• 發佈簽署與公證被列為需要生產發佈環境的事項。這是 README 出於謹慎,而這也正是實測比一句話更有用之處。所發佈的 Windows 可執行檔帶有有效的 Authenticode 簽章,並具備延伸驗證鏈:GlobalSign Root CA–R3,向下經 GlobalSign Code Signing Root R45 與 GlobalSign GCC R45 EV CodeSigning CA 2020,直到一張簽發給 Hangzhou DeepSeek Artificial Intelligence Co., Ltd. 的葉憑證,其管轄區列為 CN / Zhejiang / Hangzhou,業務類別為私人組織。該簽章上的 RFC-3161 時間戳記顯示為 2026-10-17T09:22:04Z,與 Windows 更新資訊源中的發佈日期相差不到一分鐘,而下載檔案的 SHA-512 摘要與該資訊源中公佈的雜湊值逐位元組相符。因此,在 Windows 上,該二進位檔目前已有簽章、已加上時間戳記,且雜湊值相符,無論 README 對該流程尚未完全生產化有何說法。macOS 方面則是另一個問題,我們並未在那裡驗證公證;請勿將 Windows 的結果類推過去。

當機報告,以及一個值得知道的細節

當機報告會寫成 crash-<UTC time>-<source>.log,存放於 ~/Library/Logs/DeepSeek Harness 在 macOS 上,或是 logs 目錄(位於 Windows 上 Electron userData 路徑下),且會保留最近十份。這個保留數量少到會造成影響:如果問題反覆發生,而你幾天沒查看,原本能解釋第一次失敗的日誌就已經不見了。如果你正在偵錯間歇性問題,請複製整個目錄。

損壞設定的復原路徑同樣明確。Shell 會將 cordis.patch.yml 重新命名為 cordis.patch.yml.bak-<timestamp>,而不會解析它,因此檔案會被保留而非修復,應用程式則會從預設值啟動。如果你曾手動編輯該檔案,你的編輯內容會留在 .bak 中,而且它仍可讀取。

這讓先前「沒有桌面應用程式」的建議處於何種境地

我們在 2026 年 8 月發布指引,說明此框架沒有桌面應用程式,Windows 使用者應執行終端機版本——這在當時是準確的,如今已經過時。終端機版本仍然可用,對於伺服器、容器或任何腳本化用途依然是正確選擇。改變在於,桌面版本並不是玩具般的包裝:它擁有獨立的設定檔、在關閉視窗後仍讓工作持續運作、會自行更新,並以對你有幫助的方向與 CLI 共用狀態。如果你因為先前的文章說桌面版本不存在而一直推遲使用它,那個理由已經不復存在。

安裝步驟本身已涵蓋在我們的安裝逐步說明中,這裡刻意不再重複。那份逐步說明無法告訴你的是:三個安裝程式之中,哪一個在下載頁面上沒有連結;哪個目標平台落後一個版本;沒有可選擇加入的穩定更新通道;以及 Windows 二進位檔已簽署,儘管 README 說簽署屬於未來版本。這些才是決定桌面版是否為正確安裝選擇的事實,也是這個頁面另行存在的原因。

如果您寧願什麼都不安裝

為了使用單一模型而安裝一套工具框架,等於為了一點小工作卻得顧及一大片範圍;而桌面應用程式只是預覽版,只有單一更新通道,還有一個沒有人提供連結的 Intel 建置。如果你真正想要的是 DeepSeek-V4.1-Flash——也就是該工具框架預設使用的模型,同樣是 0.2.1-rc.2 版本說明新增支援的模型——那麼 API 端點就能做到,不需要安裝程式、不需要設定檔目錄,也不需要一個你還得記得它正在執行的系統匣圖示。

Screenshot of the OrcaRouter models directory showing the header '213 models, 16 providers', the search and filter controls, a 'How to call any model' panel on the right, and a grid of model cards including a DeepSeek V4.1 Flash card.

要做的比較並不是抽象地把桌面應用程式與 API 對立起來。真正的問題是:這項工作需要一個能在視窗關閉後仍保持工作區開啟、在你的機器上執行腳本,並讓工作階段持續數小時的代理——若是如此,上述的封裝問題就值得忍受,而桌面版是獲得這種行為的唯一途徑——還是這項工作只是一連串送往某個已在別處提供服務的模型的請求。若是後者,模型目錄是更短的路徑,本文沒有任何內容會改變這一點。

本文中的比較1

根據本文內容識別 · 基準測試:Artificial Analysis · 每日更新