把 DeepSeek Harness 部署到伺服器上 7×24 運行

十三張實測截圖:從一台空 VPS 到常駐的 dsh——取得 root SSH 與瀏覽器終端機、接上模型供應商與可設定上下文視窗的自訂模型、不離開分頁安裝外掛,並讓它建置的每個網站都有一個能傳出去的網址。

最近更新: 2026-09-22

DeepSeek Harness 一鍵部署完成後的主機面板,應用卡片上可見 admin 登入名稱、Manage App 按鈕,以及用來連上伺服器的 ssh root 指令
一張卡片給了後面會用到的三樣東西:登入使用者、執行中的應用、SSH 指令。

DeepSeek Harness 本質上是一個掛了 agent 迴圈的網頁應用,跑在哪台機器上其實是個可以改的參數。而把這台機器從筆電換成伺服器,你能對它提出的要求就變了:蓋上螢幕它還在繼續建置,工作區扛得過重新開機,你開啟的網址是伺服器自己的網域,而不是一個暫時的通道位置。長時間任務不必再遷就你的電力。

本頁跟著一支完整的伺服器實錄部署走完(出處見文末署名),只講「常駐在伺服器上」這一種情況:把 harness 裝進 VPS、用 SSH 或瀏覽器終端機連上去、設定筆電部署根本不需要的那些模型項目,以及最讓人意外的一件事——它回給你的預覽網址,在你自己的電腦上打不開。用手機透過通道遠端接入、用 Ollama 跑本地模型,是另外兩件事,文末有對應教學。

走完你會得到什麼

  • 同一套網頁介面,用 VPS 網域開啟,登入名稱是面板給的 admin 而不是 root;需要 shell 時瀏覽器裡就有一個終端機。
  • 當天剛發布、模型清單裡還沒有的模型:把供應商的 slug 貼進自訂模型那一列,順手替它設定上下文視窗與最大輸出 token。
  • 建置結果留在伺服器上。告訴工作階段產物一定要落在哪個資料夾,它就會回一個 8080 埠的公開網址,而不是在遠端根本用不了的 localhost 位置。

十三個步驟

把 harness 裝進機器

  1. 1

    一鍵部署之後,先把面板上的 SSH 那一行抄下來

    一鍵映像檔會把 harness 當成現成應用裝進 Ubuntu,完成卡片上列著你之後每一步都會用到的資訊:應用名稱與它執行的作業系統、登入使用者名稱(admin)、重設密碼入口、一個直接在新分頁開啟執行中 harness 的 Manage App 按鈕,以及 SSH access 裡那條完整的 ssh root@<你的伺服器IP> 指令。現在就複製起來——agent 之後就住在這台機器裡。

    $ssh root@<YOUR_SERVER_IP>
    DeepSeek Harness 一鍵部署完成後的主機面板,應用卡片上可見 admin 登入名稱、Manage App 按鈕,以及用來連上伺服器的 ssh root 指令
    一張卡片給了後面會用到的三樣東西:登入使用者、執行中的應用、SSH 指令。看影片 3:40
  2. 2

    進入 VPS 概覽頁,取得 root SSH 與瀏覽器終端機

    概覽頁是控制室,應用跑起來之後也值得完整讀一遍。DeepSeek Harness 卡片重複了 admin 這個登入名稱;Ubuntu 26.04 Running 那一列有 Reboot 和一個 Web console 按鈕;下面一條則給出 SSH username root、IPv4 位置、root 密碼重設,以及完整的 ssh root@… 指令。最值錢的是 Web console:它在瀏覽器分頁裡開一個 root shell,代表你在任何一台沒裝 SSH 客戶端的電腦上都能管理這套 harness。

    執行 DeepSeek Harness 的 VPS 概覽頁,Ubuntu 26.04 Running 那一列帶著開啟瀏覽器終端機的 Web console 按鈕,下面一列是 root SSH 位置
    瀏覽器裡的 Web console 是那條退路——不用裝 SSH 客戶端就能取得 root shell。看影片 8:20
  3. 3

    首次啟動的 API Key 對話框,按 Configure later 跳過

    應用第一次載入會跳出 Add an API key to get started,請你設定官方 DeepSeek 供應商。實錄裡是故意按 Configure later 的。伺服器部署的價值正在於自己選供應商——一把 OpenRouter 的金鑰背後是上百個模型,或為了某個特定模型單獨接一家——而這件事屬於 Settings,不屬於這個對話框。

    DeepSeek Harness 首次啟動要求填入官方 DeepSeek API 金鑰的對話框,Configure later 按鈕用來跳過它、改到 Settings 裡接別家供應商
    這裡先跳過;選供應商是 Settings → Models 的事,不是首次啟動對話框的事。看影片 3:46
  4. 4

    開工作階段之前,先建一個工作區資料夾

    工作階段跑在工作區裡,而工作區就是伺服器上的一個資料夾。Select Workspace Directory 對話框瀏覽的是伺服器自己的 home 目錄,列出既有資料夾,Show hidden files 旁邊就有 New folder 按鈕;實錄裡新建了 deepseek-test 並開啟它。在該工作區啟動的每個工作階段都只在這個資料夾裡讀寫,這是一台多人共用的機器不變成一堆散落檔案的唯一方法。

    DeepSeek Harness 網頁版的 Select Workspace Directory 對話框,瀏覽伺服器的 home 目錄,底部有建立工作區用的 New folder 按鈕
    工作區就是伺服器上的一個資料夾,每個工作階段都從它繼承讀寫範圍。看影片 4:08

為伺服器版接上模型

  1. 5

    Settings → Models → Add provider

    Settings 在 harness 側欄最下方。Models 分頁是供應商住的地方,Add provider 會展開一長串按字母排序的清單:amazon-bedrock、art-dog、atenloop、azure-openai-responses、cerebras、cloudflare-ai-gateway、cloudflare-workers-ai、deepseek、fireworks、github-copilot、google、google-vertex、groq、huggingface、kimi-coding、minimax、mistral、moonshotai、nvidia、openrouter 等。實錄選了 OpenRouter,因為一把金鑰就涵蓋上面大部分廠商的模型,而且能在對話中途切換。

    DeepSeek Harness 的 Settings Models 分頁,Add provider 下拉選單展開後列出 amazon-bedrock、cerebras、google、groq、minimax、moonshotai 與 openrouter 等供應商
    清單長到一把 OpenRouter 的金鑰就成了務實的選擇。看影片 4:42
  2. 6

    抓取供應商的模型清單,一次全部加入

    貼好金鑰之後,Customized settings 裡會出現 Fetch available models。它開啟一個 Choose models to add 對話框,每個模型 slug 一個核取方塊——a1zlj/jamba-large-1.7、aion-labs/aion-2.0、amazon/nova-2-lite-v1、amazon/nova-lite-v1、anthropic/claude-3-haiku 一路排下去——外加 Deselect all 與 Add selected 兩個操作。全部維持勾選才是重點:模型選擇器從此不需要你維護,按 Apply 就把這一整批寫進正在執行的伺服器實例。

    DeepSeek Harness 的 Choose models to add 對話框,逐條列出 OpenRouter 模型 slug 的核取方塊,並有 Deselect all 與 Add selected 兩個按鈕
    一次全部勾起來,模型選擇器以後就不需要你維護。看影片 5:24
  3. 7

    加入清單裡還沒有的模型,並設定它的上下文視窗

    當天發布的模型不會出現在選擇器裡,因為抓到的清單比它更早。解法就在同一個 Models 頁面最下方的 Add model 那一列:把從供應商頁面複製的 slug 貼進去(影片裡是 google/gemini-3.8-flash),替工作階段的下拉選單取個顯示名稱(gemini-3.8-flash),這一列會展開另外兩個欄位——Context window 與 Max output tokens,佔位提示分別是 256K 和 32K。實錄裡兩個都留白走預設值,但在一個按 token 計費的伺服器上,這裡就是替失控輸出設上限的地方。

    $google/gemini-3.8-flash
    DeepSeek Harness 的自訂模型那一列,填著 google/gemini-3.8-flash 與顯示名稱 gemini-3.8-flash,下方還有 Context window 和 Max output tokens 兩個欄位
    這就是加入當天新發布模型的做法——在任何一份抓到的清單知道它之前。看影片 7:12

在任何地方都能開啟

  1. 8

    問它一句話,然後看執行資料那一行

    冒煙測試就一句話。回覆後面跟著一行中繼資料——時間、Ran for 1s、TTFT 1.7s,以及這次工作階段裡被刻意圈起來的 5167 tok/s。這一行同時確認了四件事:供應商金鑰通了、模型答了、agent 迴圈跑在伺服器上、從你的瀏覽器到機房的往返快得足以全天工作。

    DeepSeek Harness 伺服器實例對測試提問的回覆,下面那行中繼資料給出執行時間、首個 token 延遲與 5167 tokens/s 的吞吐量
    一個被圈起來的數字,同時證明金鑰、模型與伺服器都通了。看影片 7:28
  2. 9

    用網域開啟 harness,而不是 localhost

    應用由伺服器提供之後,瀏覽器網址列讀到的就是 VPS 網域而不是 127.0.0.1:3080,同一個網址在筆電、手機、同事的電腦上都一樣能用。側欄最能說明問題:伺服器上所有工作區都列在那裡——用來跑排程任務的 Morning Brief、兩個並行的建站 demo、那個測試用的工作區——因為狀態存在伺服器,不在你的瀏覽器裡。

    DeepSeek Harness 的網頁介面直接在瀏覽器裡用 VPS 網域開啟而非 localhost,左側工作區欄列著伺服器上所有專案資料夾
    同一個應用、不同的網址——左邊那串工作區就是證據。看影片 18:40

不離開瀏覽器就能擴展

  1. 10

    在瀏覽器終端機裡執行安裝外掛的指令

    外掛是用 dsh 命令列安裝的,而在全新的 shell 裡第一次執行必然失敗:終端機會打出 Command 'dsh' not found, did you mean…,後面還附上它猜測的 apt 套件名稱。實錄給的修法是先裝一個 Node 套件管理程式(npm install -g pnpm),再重跑那條加入外掛的指令並重新啟動 harness 服務。同一個終端機也會回答 hostname、hostname -f 和 curl 到 ipinfo.io 的結果——你待會兒貼進瀏覽器的那個網址就是這樣來的。

    $hostname; hostname -f; curl -s https://ipinfo.io/ip
    $npm install -g pnpm
    DeepSeek Harness 所在伺服器的瀏覽器終端機裡印出 Command dsh not found,正是這一步逼你先安裝 pnpm 才能加入外掛
    安裝外掛是命令列動作,而一台新機器的 PATH 裡還沒有那條指令。看影片 8:56
  2. 11

    強制重新整理,然後從外掛市集按安裝

    外掛裝完不會有任何提示:服務沒重新啟動、分頁沒強制重新整理之前它就是不動,沒有跳出提示也沒有錯誤,這一點特別容易卡人。做完之後 Settings → Plugins → Plugin Market 就是即時的外掛目錄,每個項目一個 Install 按鈕(dsh-git-graph、dsh-skill-explorer、modlens、dsh-context),上面有 Discover / Themes / Installed / Advanced 四個分頁,還有一個 Update the plugin market。實錄裡的警告值得原樣轉述:只裝有人審核過的外掛,因為市集裡的東西是社群程式碼,跑起來用的就是你 agent 的權限。

    DeepSeek Harness 設定裡的外掛市集頁面,Discover、Themes、Installed 三個分頁下,dsh-git-graph 與 dsh-skill-explorer 等社群外掛各帶一個 Install 按鈕
    重新啟動服務並強制重新整理之後,就不再需要終端機了。看影片 9:52

建置的東西也能對外存取

  1. 12

    在 VPS 上,localhost 網址一定打不開

    你問它剛建置好的東西怎麼看,它會回一個 http://localhost:3000,外加啟動服務用的 python3 -m http.server 或 npx serve 指令。點下去就是 Chrome 那句 This site can't be reached——127.0.0.1 refused to connect,ERR_CONNECTION_REFUSED。什麼都沒壞:在伺服器上,localhost 指的是那台伺服器,而你筆電上的瀏覽器是在問它自己。這就是本地部署與伺服器部署之間最大的那個差異。

    在遠端伺服器上開啟 DeepSeek Harness 產生的 localhost 預覽網址後,Chrome 報出 This site can't be reached 與 ERR_CONNECTION_REFUSED
    在 VPS 上,localhost 指的是那台 VPS——這個預覽網址在你筆電上不可能開啟。看影片 15:56
  2. 13

    釘死輸出資料夾,換回一個公開網址

    繞行辦法是一句追加指令,告訴工作階段檔案必須落在哪裡、該列出哪個網址——影片裡那句是 the final output should be at http://<你的網域>:8080/<建置名>/。於是它把網站複製進 /var/www/preview/<建置名>/,自己 curl 一次埠確認資源回 200,然後回一個 Final Live URL,外加 index.html、styles.css、menu-data.js、app.js 逐檔說明。預覽資料夾設定一次,這個工作區之後每次建置都會以一條能傳給客戶的網址收尾。

    $the final output should be at http://<YOUR_HOSTNAME>:8080/<BUILD_NAME>/
    DeepSeek Harness 工作階段回覆裡給出掛在伺服器網域上的 Final Live URL,並列出 /var/www/preview 下逐個檔案,前提是事先規範了建置產物的落地目錄
    追加一句話,之後每次建置都變成一條能傳出去的網址。看影片 16:24

多人共用一台 dsh 該怎麼辦?

上面這一切給的是一個共用的 admin 登入、一套 harness,實錄也到此為止——它沒有做過任何按使用者隔離的設定。個人自用沒問題,團隊用就是真問題:任何能連上那個網址並通過登入的人,看到的都是同一批工作區、同一份工作階段歷史和同一組 API 金鑰。按人隔離不是伺服器設定能解決的,得靠外掛:社群裡有一個把公開伺服器變成多租戶託管平台的外掛,使用者註冊、管理員審核,每人一套彼此隔離的 dsh 環境和自己的金鑰,它到底做了什麼寫在 詳情頁上.

DeepSeek Harness 伺服器部署:常見問題

把 dsh 搬出筆電之前,大家都會問的幾件事。

跑 DeepSeek Harness 需要多大的伺服器?

很小。這次實錄把整套 harness 跑在 2 核心 8 GB 的 KVM 方案上,所有模型都走 API 呼叫,所以這台機器只負責提供網頁介面、執行 agent 迴圈和儲存檔案——推論發生在供應商那邊。只有當你還想在機器上自己跑權重時,才需要更大的配置,那是另一篇教學的事。

這和用手機遠端連 DeepSeek Harness 是同一回事嗎?

不是,而且差異很關鍵。遠端接入是通道:harness 仍然跑在你自己的電腦上,那台電腦必須一直開著,公開網址是隨機的、通道一重啟就失效。伺服器部署是把 harness 本身搬到一台全天開機的機器上,於是蓋上筆電之後夜間任務照跑,你收藏的那個網址就是伺服器自己的網域。

一定要用影片裡那家主機嗎?

不必。廠商是次要的——任何執行 Ubuntu 映像、附 harness 範本的 VPS 都可以。你需要主機面板提供的是同樣三樣東西:一條 ssh root@ 指令用來取得真正的終端機,一個瀏覽器 Web console 用來跑一次性指令,一個 Manage App 連結用來開啟執行中的實例。

我用的又不是 DeepSeek 的模型,為什麼第一次開啟就要它的 API Key?

那個對話框只負責配好官方 DeepSeek 這一個供應商,按 Configure later 跳過也不會壞任何東西。供應商是在 Settings → Models 新增的,每家一把自己的金鑰,所有供應商的模型最後都會匯進同一個工作階段選擇器——這也正是你能在對話中途換模型的原因。

可以針對每個模型分別設定上下文視窗嗎?

可以。Settings → Models 裡的自訂模型那一列,模型 ID 與顯示名稱下面就是 Context window 和 Max output tokens 兩個欄位,佔位提示寫著 256K 與 32K。留白就沿用供應商的預設值;填上去就能替按輸出 token 計費的模型設上限,或在一台多人共用的機器上把成本壓住。

把 harness 掛在公開 IP 上安全嗎?

請把那個網址當成密碼看待。應用登入用的是 admin 這個使用者名稱加上你的 VPS 密碼,而且沒有按使用者隔離,所以任何過了這道門的人共用的是你的工作區、你的工作階段歷史和你的 API 金鑰。密碼要夠強,前面套一層 HTTPS 而不是直接暴露裸埠,外掛只裝審核過的——實錄把這點講了兩遍,其中一遍還是一邊示範一個佈景主題、一邊把它移除掉。

相關教學

相鄰的幾件事:連一台你沒搬走的 harness、在機器上自己跑推論,以及怎麼安全地安裝。

出處與署名

本頁所有截圖都取自下方連結那支影片裡的畫面,為移除講者的攝影鏡像浮窗做過裁切,並註明出處。每個步驟都深鏈回它來源的精確秒數;操作步驟、風險提示與結論是本頁自己寫的。

DSH Plugins 是獨立的 DeepSeek Harness 外掛市集,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。