SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-23

DeepSeek Harness、Claude Code、Omnigent 比較

比較 DeepSeek Harness、Claude Code 與 Omnigent 的架構、模型耦合、授權與成熟度,並說明各工具在 VPS 上的執行需求與差異。

DeepSeek Harness、Claude Code 與 Omnigent:你需要哪一個

DeepSeek Harness、Claude Code 和 Omnigent 都稱為 agent harness,但它們處理的是問題的不同部分。DeepSeek Harness 是附有 Web UI(使用者介面)的外掛程式執行環境,由你提供模型。Claude Code 是 Anthropic 提供的終端機程式,執行 Anthropic 模型。Omnigent 是 Databricks 提供的協調器,會驅動包括 Claude Code 在內的其他 harness,而不是自行實作 agent loop。它們都不是彼此的即插即用替代品,因此真正需要回答的問題是:你缺少哪一層?如果你不熟悉這種劃分方式,agent harness 的實際用途會說明這 3 個工具以不同方式分配的元件:迴圈、工具、權限與工作階段狀態。

實際有所不同的面向包括架構、模型耦合方式、介面、成熟度與授權。以下所有版本與日期均已在 18 August 2026 核對。其中 3 個工具有 2 個更新速度很快,因此在決定採用其中一個之前,應再次確認。

什麼是 DeepSeek Harness?外掛程式模型有什麼優點?

DeepSeek 於 2026 年 8 月在 github.com/deepseek-ai/deepseek-harness 發布 DeepSeek Harness,也就是 dsh。該儲存庫的說明以 4 個字概括整體設計:一切都是外掛程式。模型介接器、工具註冊表、工作階段日誌、沙箱,以及代理程式迴圈本身,全部都是外掛程式,由建置在 Cordis 上的執行階段載入。採用速度異常快;儲存庫在發布後幾天內就突破 150,000 顆星(於 2026 年 8 月 18 日確認)。

DeepSeek Harness 目前處於開發者預覽階段,且仍在快速迭代。一定會有破壞相容性的變更。

這是 README 自己的警告,也是本比較中最重要的一句話。你今天根據外掛程式 API(應用程式介面)撰寫的任何內容,都應預期日後需要重寫。

使用 npx 啟動;系統必須先安裝 Node.js:

npx @deepseek-ai/dsh web

該命令會輸出其 URL。預設情況下,Web UI 會在 http://127.0.0.1:3080 提供服務。每個已發布的組建都是候選版本,而不是穩定版本。因此,如果該命令失敗,或啟動了非預期版本,固定使用確切的 dsh 版本並清除 npx 快取是最快的處理方式。從原始碼建置則使用 pnpm:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

dsh webdsh --profile web 的縮寫。設定檔是 $DSH_HOME/profiles/ 下的目錄,啟動器會啟動你指定的設定檔。這點很重要,因為系統也提供無頭設定檔:dsh --profile headless "job" 會執行一個持久化工作階段、輸出結果後結束,適合用於 cron 工作或組建步驟。啟動器旗標,例如 --profile--patch,必須放在應用程式本身的引數之前,因為啟動器在交接處就會停止剖析。像 --port 這類旗標屬於已啟動的設定檔,而不是啟動器,因此位置很重要。外掛程式是透過將引數轉送給 pnpm 來管理,例如 dsh plugin --profile web add <package>

Claude Code 是什麼?為什麼它是終端機程式?

Claude Code 是 Anthropic 自行提供的 CLI(命令列介面)代理程式。產品本身沒有網頁介面。它會在終端機中執行,並以你指定的目錄作為工作目錄,因此非常適合在伺服器工作階段中使用。macOS、Linux 和 WSL 都只需執行一個命令即可安裝:

curl -fsSL https://claude.ai/install.sh | bash
claude --version

安裝成功時會輸出版本與產品名稱,例如 2.1.211 (Claude Code)。如果安裝失敗,claude doctor 會輸出唯讀的安裝與設定診斷資訊,但不會啟動工作階段。另有 npm 套件 npm install -g @anthropic-ai/claude-code;截至 v2.1.198,該套件需要 Node.js 22 或更新版本。它會安裝相同的原生二進位檔,因此已安裝的 claude 在執行期間不會使用你的 Node.js。Anthropic 也為 Debian、Ubuntu、Fedora、RHEL 和 Alpine 提供簽署的 apt、dnf 及 apk 套件庫。如果伺服器由組態管理工具管理,這是較佳選擇,因為更新會透過你現有的升級流程送達。

Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳戶。免費的 Claude.ai 方案不包含存取權限。選擇 Claude 訂閱或 API 計費,對費用的影響遠大於工具內的任何設定。

什麼是 Omnigent?meta-harness 會協調哪些工作?

Databricks 於 2026 年 6 月宣布 Omnigent,並以 Apache 2.0 授權條款發布。它將自身定位為 meta-harness。它不實作 agent loop,而是驅動既有的 agent:Claude、Codex、Cursor、OpenCode、Hermes、Pi,以及 OpenAI 的 agents SDK(software development kit)。其中有幾個 agent 在 harness 清單中出現兩次:一次是透過供應商的 SDK 通訊,另一次則是以原生形式包裝供應商實際的終端機程式。

Agent 是 YAML 檔案;YAML 是純文字設定格式:

name: my_agent
prompt: You are a helpful data analyst.

executor:
  harness: claude-sdk

tools:
  word_count:
    type: function
    callable: mypackage.mymodule.word_count
  docs:
    type: mcp
    url: https://example.com/mcp
  researcher:
    type: agent
    prompt: Search for relevant information.

executor.harness 這一行就是整個專案的核心。將 claude-sdk 改成 codex,相同的提示與相同的工具就能在不同供應商上執行。工具可以是 Python 函式、MCP(model context protocol)伺服器或其他 agent。最後一種情況就是表達多 agent 工作的方式:子 agent 就是一個工具。如果你還不確定 skills、MCP 伺服器與 rules 檔案各自應放在哪裡,建議先閱讀agent skills、MCP 與 rules 檔案的差異,因為 Omnigent 會沿用底層 harness 支援的相關功能。

隨附的範例讓這個概念更具體。Polly 是一個 coding orchestrator,本身不撰寫程式碼。它會先規劃,再將工作平行委派給位於不同 git worktree 的 coding sub-agent,最後把每個 diff 轉送給使用不同供應商模型執行的 reviewer。

使用發布的 script 安裝:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh

也可以手動安裝,但需要 Python 3.12 或更新版本:

uv tool install omnigent
omnigent setup
omnigent start

pip install "omnigent" 也可以使用;extras 則依照一般方式透過 uv tool install "omnigent[databricks,modal]" 選取。omnigent setup 會收集 credentials 並套用預設值。omnigent start 會啟動伺服器、將這台機器註冊為 host,並在 http://localhost:6767 提供 web UI。omnigent server statusomnigent stop 是日常會使用的另外兩個命令。單獨執行 omnigent 會開啟互動工作階段,但不會啟動伺服器。

相依套件清單比單行 installer 所暗示的更長:Python 3.12 或更新版本、git、Node.js 22 LTS(long term support)或更新版本,以及 npm 和 pnpm;原生終端機 wrapper 需要 tmux,而 Linux sandbox 需要 bubblewrap(bwrap)。這是其設計直接造成的結果。Omnigent 必須自行安裝並監督供應商的 CLI,因此它是負責執行 Node.js 軟體的 Python 軟體。

誰提供模型,以及由誰支付費用?

這是實際影響最大的軸向,三種答案確實不同。

DeepSeek Harness 採用自備供應商模式。已安裝的供應商目錄涵蓋 Anthropic、OpenAI、Bedrock、Vertex、Azure 和 Codex。自訂供應商項目需要設定小寫的供應商 ID、顯示名稱、基底 URL、API 通訊協定、憑證,以及至少一個模型。如此即可將它指向公司閘道或自行託管的伺服器。金鑰會寫入 $DSH_HOME/.credentials.yaml,而 $DSH_HOME/settings.yaml 只保留金鑰的參照。因此,設定檔可以安全分享,但憑證檔案不可分享。供應商閘道項目也可以改為指定環境變數,例如 apiKeyEnv: GATEWAY_API_KEY。雖然專案名稱如此,DeepSeek Harness 並不會強制你使用 DeepSeek 自有模型。如果你想查看實際金鑰或本機 Ollama endpoint 的完整設定,設定 dsh 金鑰、模型與 endpoint 會逐一說明各種模式,以及在每種模式下哪些內容會或不會離開你的電腦。

Claude Code 的設計是與單一供應商綁定。你可以使用付費帳戶登入,或設定 ANTHROPIC_API_KEY,讓 Claude Code 只提示你核准該金鑰一次,而不必開啟瀏覽器。第二種方式適用於無頭伺服器。已在其他平台購買容量的組織,可以透過 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 轉送請求。

Omnigent 需要底層 harness 所需的各項設定,並由 omnigent setup 收集。它接受 API 金鑰、現有的 CLI 訂閱、OpenAI 相容或 Anthropic 相容的閘道,以及 Databricks 工作區。這就是 meta-harness 的實際成本:單一機器最終會保存每家供應商的憑證。在讓該機器連上公開網際網路之前,請先閱讀如何避免 AI agent 取得 secrets

截至 2026 年 8 月,各自的成熟度如何?

Claude Code 自 2025 年起正式提供,目前在 2.1.x 系列。它會在背景自動更新,提供 lateststable 發行通道,發布以 GPG 簽署的版本清單,並記載 minimumVersion 固定版本,供組織設定最低版本。這代表該產品已有人在正式環境中使用。

Omnigent 自 2026 年 6 月起公開,目前仍處於 0.x 系列,README 將其描述為 alpha。預期 harness 清單與 YAML schema 仍會持續變更。它目前可以使用,但尚未穩定。

DeepSeek Harness 的成熟度遠低於前兩者。它於 2026 年 8 月發布,在本文撰寫前僅數天,而且其 README 明確表示未來可能出現相容性破壞變更。非常高的 star 數量只能表示許多人正在關注它,無法說明 plugin API 是否已經穩定。

各自採用什麼授權?

DeepSeek Harness 採用 MIT,第三方授權列於 THIRD_PARTY_NOTICES.md。Omnigent 採用 Apache 2.0。Claude Code 並非開放原始碼軟體,而是 Anthropic 的商業產品;執行時需要付費帳戶或計費 API 存取權。如果你的要求是可以讀取並修改每一行程式碼,Claude Code 在開始比較任何功能前就已被排除。如果你的要求是工具下個月仍能在無需你介入的情況下持續運作,結論則相反。

在 VPS 上執行這些工具,各自需要哪些條件?

Claude Code 是三者中最簡單的工具。安裝並登入後,請在 tmux 中執行,這樣即使 SSH(secure shell)連線中斷,工作階段仍會保留。Anthropic 文件要求使用 4 GB 的 RAM(random access memory)或以上,以及 x64 或 ARM64 處理器。支援的作業系統包括 Ubuntu 20.04 或更新版本、Debian 10 或更新版本,以及 Alpine 3.19 或更新版本。在 Alpine 上,必須先安裝 bashcurllibgcclibstdc++ripgrep,否則安裝命令會因 not found 錯誤而失敗。在 VPS 的 tmux 中執行 Claude Code 詳細說明工作階段的處理方式。

DeepSeek Harness 需要 Node.js,以及指向其 Web UI 的瀏覽器。README 要求 Node.js,但未指定最低版本。因此,使用 Node 22 LTS 最為穩妥,因為周邊生態系統以此版本為目標。請勿公開發布 3080 埠。讓伺服器監聽 127.0.0.1,再從筆記型電腦轉送該埠:

ssh -N -L 3080:127.0.0.1:3080 you@your-vps

接著在本機開啟 http://127.0.0.1:3080在 VPS 上完整安裝 DeepSeek Harness 說明設定檔配置與外掛程式命令。

Omnigent 的負載最高,因為它會安裝並監督其他廠商的 CLI。它要求在同一台主機上安裝 Python 3.12、Node.js 22、npm、pnpm、tmux 和 bubblewrap,此外還會下載你啟用的各個廠商 CLI。請以相同方式轉送其埠:

ssh -N -L 6767:127.0.0.1:6767 you@your-vps

如果伺服器供其他人使用,支援的方式是在 deploy/ 下使用 Docker 部署,這會預設啟用多使用者帳戶。手動啟動伺服器時,設定 OMNIGENT_AUTH_ENABLED=1 也能提供相同功能。OIDC(OpenID Connect)登入支援 Google、GitHub、Okta 和 Microsoft。Omnigent 多代理程式 harness 指南 說明 sandbox provider;當代理程式開始寫入磁碟後,這些 provider 就會變得重要。

為什麼透過伺服器的公開 IP 位址開啟 Web UI 時會顯示空白?

兩個 Web harness 預設都監聽 loopback,直覺做法是將它們繫結至 0.0.0.0 並開放該連接埠。但這會造成兩個獨立問題。第一個是安全性:兩者在預設的本機模式中都不提供驗證功能,因此開放的連接埠等同於在 VPS 上開放 shell。第二個是容易令人意外的瀏覽器規則。crypto.randomUUID() 只有在安全內容環境中才會定義,也就是 HTTPS(hypertext transfer protocol secure)、localhost127.0.0.1。若透過 http://203.0.113.10:3080 這類明文位址載入相同的 UI,瀏覽器主控台會顯示:

TypeError: crypto.randomUUID is not a function

接著頁面會部分顯示,或完全無法顯示,因為工作階段建立在任何內容繪製前就已失敗。伺服器本身沒有故障,日誌也會顯示正常的請求。瀏覽器不信任該來源,因此前端所依賴的函式從未定義。SSH tunnel 不需要憑證即可解決此問題,因為 127.0.0.1 會被視為安全內容環境。由持有有效 TLS(transport layer security)憑證的 reverse proxy 處理也能解決此問題,但之後必須自行加入驗證機制。

哪一種適合你?

如果你想要現在就能使用的 coding agent、願意付費給 Anthropic,而且平常就在終端機工作,請選 Claude Code。三者之中,只有它是完成度高的商業產品,而不是預覽版。

如果插件模型才是重點:你想替換 model adapter、sandbox 或 agent loop,也接受所依賴的介面會變動,請選 DeepSeek Harness。它的 provider catalogue 支援 Anthropic 和 OpenAI,因此選擇它代表你押注的是 runtime,而不是 DeepSeek 的模型。

如果你已經執行多個 agent CLI,而實際問題是協調:包括政策、sandboxing、由另一家供應商的模型進行審查,以及讓其他人能查看的共用工作階段,請選 Omnigent。它會在你的 stack 中增加一層,而不需要的層就是可能發生故障的層。如果你的協調需求沒有那麼複雜,兩個在同一台主機上執行的 Claude Code 工作階段,可以 互相傳送訊息,不必在中間加入 orchestrator。

如果你仍在列入候選,Mimo Code AI coding agent 和 Claude Code 一樣,都屬於 terminal-agent 類別;無論你選擇哪一個,都值得閱讀 在一次性 VM 中執行 coding agent,因為這三者都不會自行讓粗心的 rm -rf 變得安全。三者也都不會決定 agent 提出的 diff 應該多大;這是 prompt 層級的問題。因此,無論你最後採用哪個 harness,都值得再加上 促使 agent 採用能運作的最小變更的 skill

FAQ

使用 Claude Code 需要付費的 Anthropic 方案嗎?

需要。Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳戶,免費的 Claude.ai 方案不提供存取權。在無頭 VPS 上,請在第一次執行前設定 ANTHROPIC_API_KEY:Claude Code 之後會提示您核准該金鑰一次,而不是嘗試開啟瀏覽器。若組織在其他平台具備容量,也可以改用 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry。

DeepSeek Harness 能執行 Claude 或 OpenAI 模型嗎?

可以。已安裝的 provider 目錄涵蓋 Anthropic、OpenAI、Bedrock、Vertex、Azure 和 Codex。請在 Settings 的 Models 下為各 provider 新增金鑰。目錄以外的服務可作為 custom provider 加入,但必須提供小寫 provider id、base URL、API protocol、credential,以及至少一個 model。金鑰會儲存在 $DSH_HOME/.credentials.yaml,而 $DSH_HOME/settings.yaml 只保存參照值。因此,請另外備份 credentials 檔案,並避免將其納入版本控制。

Omnigent 會取代 Claude Code 嗎?

不會。Omnigent 會執行 Claude Code。其 harness 清單包含 Claude、Codex、Cursor、OpenCode、Hermes 和 Pi,而 agent 會在 YAML 檔案中以單一 harness: 行選取其中一個。底層 CLI 仍需由您自行安裝並完成驗證。Omnigent 在其上方提供協調、政策與沙箱功能。因此,只有在執行多個 agent 或使用多個供應商時,安裝這些相依元件才有其必要性。

為什麼 DeepSeek Harness 的 Web UI 在伺服器公開 IP 位址上是空白的?

因為純 HTTP origin 不是安全內容環境,crypto.randomUUID() 在該環境中未定義,而且瀏覽器主控台會回報 TypeError: crypto.randomUUID is not a function。工作階段建立失敗,因此頁面只會部分呈現,甚至完全無法呈現,但伺服器日誌看起來正常。請使用 ssh -N -L 3080:127.0.0.1:3080 you@your-vps 透過 SSH 轉送該埠,然後開啟 http://127.0.0.1:3080,因為 loopback 會被視為安全內容環境。使用具備有效 TLS 憑證的反向代理也可以,但屆時必須自行加入驗證機制。

VPS 需要多少 RAM 才能執行這些 harness?

Anthropic 的文件建議 Claude Code 使用 4 GB 以上。DeepSeek Harness 和 Omnigent 都未公布需求,因此應實際測量,不要猜測。這 3 種情況的模型都在遠端執行,因此 harness 本身負責的是程序監督與檔案作業,而非推論。真正決定主機規模的是 agent 在主機上執行的工作,例如建置和測試套件。Omnigent 的需求最高,因為 Python、Node.js、tmux 以及您啟用的每個供應商 CLI 都會在同一台機器上執行。