SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

Claude 可以自行託管嗎?答案是不行,替代方案一次看

Claude 不公開模型權重,因此沒有可下載的檔案或容器能在自有伺服器執行。本文比較 Ollama 開放模型、LiteLLM gateway 與 VPS 上的 Claude Code。

可以自行託管 Claude 嗎?不行,原因如下

您無法自行託管 Claude。Anthropic 不公開模型權重,因此沒有可下載的檔案、可執行的容器,也沒有允許您在自有硬體上提供服務的授權。每個 Claude 請求都會送至 Anthropic 的 API,或 Amazon Bedrock、Google Vertex AI、Microsoft Foundry 等託管合作夥伴。要在自有機器上執行 Claude,不是設定問題,而是 Anthropic 之外根本不存在這項模型資產。

這是簡短答案。更完整的答案是,多數提出這個問題的人其實不需要模型權重。他們需要的是以下 3 種服務之一,而這些服務都能在您控制的伺服器上實現:在本機執行的高效能模型、保管 API 金鑰並限制支出的閘道,或是在自有主機上執行而非依賴筆記型電腦的程式碼代理程式。本指南會使用命令涵蓋這 3 種方案。

「self-hosted Claude」通常代表什麼

搜尋「self hosted Claude」的人,通常有幾種不同需求,而每種需求的解法也不同。

有些人重視隱私。他們不希望提示離開自己的網路。只有本機執行的開放權重模型能解決這個問題,因為任何 Claude 請求本質上都是傳送給 Anthropic 的請求。

有些人希望控管成本。他們擔心失控的代理程式耗盡額度。Gateway 能解決這個問題,而且可搭配 Claude 使用,因此仍能保有模型品質。

有些人不想受限於筆記型電腦。他們希望闔上螢幕後,代理程式仍能持續運作。VPS 能解決這個問題,Claude Code 也能在上面順利執行。

有些人想要的是「self hosted OpenRouter」。這同樣屬於 gateway,通常可使用 LiteLLM。

先確認自己屬於哪一種需求,因為每種情況適合的架構都不同。

使用 Ollama 自行託管開放模型

如果要求提示內容不得離開伺服器,請執行開放權重模型。目前在租用伺服器上實際可用的模型系列包括 Llama、Qwen、Mistral、Gemma 和 DeepSeek。這些模型都會發布可供下載與執行的權重。

Ollama 是最快的入門方式。安裝指令只有一行,並會在 Ubuntu 上設定 systemd 服務。

curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama

systemctl status ollama 應輸出 active (running)。接著提取模型並與模型互動。

ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."

第一次執行 pull 會下載數 GB 的資料,因此模型必須先能放入 RAM 或 GPU 記憶體,才能處理任何請求。量化模型可採用以下粗略估算:8 billion parameter 模型約需 6 GB 可用記憶體,14 billion parameter 模型約需 10 GB,而 70 billion parameter 模型所需記憶體通常超過大多數通用 VPS 方案的配置。如果伺服器記憶體不足,程序會遭 kernel 終止,並顯示 Error: llama runner process has terminated;dmesg 中也會出現 out of memory 訊息。先檢查 free -h,不要急著歸咎於模型。同一份記憶體預算也會決定模型實際讀取長提示的內容量,因為 Ollama 會安靜地截斷超過預設視窗大小的內容。因此,長文件只產生部分摘要時,第一個應檢查的是 調高 num_ctx 並配置 KV cache 大小。

Ollama 也會在 127.0.0.1:11434 提供 HTTP API,因此其他軟體也能使用它,而不只是用於聊天。

curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'

如果閒置一段時間後的第一個請求需要 30 秒,而下一個請求立即完成,這不是故障:Ollama 會在閒置 5 分鐘後卸載模型,而透過 keep_alive 讓模型常駐即可移除重新載入所造成的延遲。

請讓該連接埠只繫結至 localhost。公開 IP 上開放的 Ollama 連接埠,等於為任何找到它的人提供免費 GPU。包含 systemd unit、GPU 偵測及設定反向代理的完整建置流程,請參閱在 VPS 上執行 Ollama 的指南。如果同時服務多位使用者,請先閱讀Ollama 與 vLLM 的比較,因為 Ollama 的單一串流設計,會在硬體成為瓶頸前就限制整體效能。

請如實看待差距。 在中階 VPS 上執行的優質開放模型,確實適合摘要、分類、草擬及簡單擷取。對於長篇多步驟推理、大型程式碼庫及代理式工具使用,它仍遠不及前沿託管模型,提示調校也無法消除這項差距。請依據本機模型擅長的工作選用它;真正困難的工作則使用付費託管模型。

使用 LiteLLM 執行自己的 gateway

這就是許多人正在尋找的「自架 OpenRouter」。gateway 位於應用程式與各個模型供應商之間。應用程式只需持有一組 key,並將請求傳送至你的伺服器。實際的供應商 key 只會儲存在該伺服器上。你可以為每組 key 設定支出上限、將不同應用程式路由至不同模型,並在同一處記錄所有請求。

LiteLLM 是常見選擇,因為它提供與 OpenAI 相容的 API,並能透過相同的 endpoint 代理 Anthropic、Ollama 及大多數其他供應商。請使用 config file 在 Docker 中執行。

model_list:
  - model_name: claude
    litellm_params:
      model: anthropic/claude-sonnet-5
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: local
    litellm_params:
      model: ollama/qwen3:8b
      api_base: http://127.0.0.1:11434

將內容儲存為 litellm_config.yaml,然後啟動 proxy。它會監聽 port 4000。

docker run -v $(pwd)/litellm_config.yaml:/app/config.yaml \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  -e LITELLM_MASTER_KEY=sk-1234 \
  -p 4000:4000 docker.litellm.ai/berriai/litellm:latest \
  --config /app/config.yaml

LITELLM_MASTER_KEY 是管理員認證資訊,因此應像 root 密碼一樣妥善保護,不要使用範例值上線。呼叫 proxy 的方式與呼叫代管 API 完全相同。

curl http://localhost:4000/v1/chat/completions \
  -H 'Authorization: Bearer sk-1234' \
  -H 'Content-Type: application/json' \
  -d '{"model": "claude","messages": [{"role": "user","content": "Say hello in five words."}]}'

正常回應是包含 choices 陣列的標準 JSON。401 表示驗證失敗。在此設定中,最常見的原因是 Authorization header 與 master key 不相符。LiteLLM 也會在 virtual key 無效時回傳此錯誤;若供應商拒絕 provider key,例如 ANTHROPIC_API_KEY 錯誤,也會導致驗證失敗,且錯誤中會以 <Provider>Exception 的形式顯示供應商名稱。若錯誤訊息包含指定模型的 400,通常表示請求中的 model 與 config file 中的任何 model_name 都不相符。當請求內容超過模型的 context window 時,LiteLLM 也會回傳 400,因此請先閱讀錯誤訊息,再修改 config。

建立這個 gateway,而不是直接呼叫 Anthropic,原因在於可以設定支出上限。請為每個應用程式建立一組獨立的 virtual key,並為各組 key 設定自己的預算。

curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["claude"], "max_budget": 100}'

virtual key 和預算需要由 proxy 後方的 Postgres database 支援。上方的 docker run 尚未設定 database,因此請先加入 -e DATABASE_URL=postgresql://user:password@host:5432/litellm。沒有 database 時,此呼叫會失敗並回傳 No connected db.

這組 key 最多可支出一百美元,且只能存取一個模型,不能執行其他操作。當 agent 在凌晨三點發生異常時,影響範圍只限於一組 key,而不是整個帳戶。這種做法及其監控機制,是 控管 VPS 上的 agent 成本 所探討的主題。如果你仍在考慮是否要按 token 付費,API 與訂閱方案的成本比較 會逐步說明相關計算。

請注意 gateway 不會執行的事情。它不會讓 Claude 變成 local,也不會向 Anthropic 隱藏你的 prompt。請求仍會離開你的伺服器並傳送至供應商。你獲得的是對 key、支出、路由及 log 的控制權。

在自己的 VPS 上執行 Claude Code

第三個願望最容易實現。Claude Code 是用戶端。它會以單一原生二進位檔安裝,並透過 HTTPS 與 API 通訊。將它安裝在自己擁有的伺服器上,代表即使關閉筆記型電腦,代理程式仍會繼續執行;同時,代理程式的影響範圍會限制在可重新建置的主機,而不是你的主要電腦。

npm install -g @anthropic-ai/claude-code
claude --version

使用 npm 安裝需要 Node.js 22 或更新版本。Anthropic 建議使用的原生安裝程式 curl -fsSL https://claude.ai/install.sh | bash 完全不需要 Node.js。無論採用哪種方式,安裝的 claude 二進位檔都不會在 Node 上執行。Anthropic 將 4 GB RAM 列為最低需求,因此 VPS 應依此規模配置。

請在 tmux 中執行,避免 SSH 連線中斷時終止長時間執行的工作。包含工作階段處理在內的設定方式,請參閱 使用 tmux 在 VPS 上執行 Claude Code。為代理程式建立專用的非特權使用者。在授予它任何重要資料的寫入權限前,請先閱讀 在伺服器上執行 Claude Code 的安全規則。

這是自架代理程式,不是自架模型。這一點需要明確區分,因為人們常將兩者混為一談。你擁有程序、檔案系統、對外網路流量與日誌。推論服務仍由 Anthropic 提供。

每個選項實際需要付出的成本

價格會變動,因此請將以下數字視為大致範圍,而不是報價。截至 12 October 2026,Claude Sonnet 5.5 的價格為每 1 百萬個輸入 tokens $2、每 1 百萬個輸出 tokens $10;Claude Opus 5.5 則為 $4 和 $20。上方 gateway 設定使用的模型 Sonnet 5 現在已是 legacy model。它仍可按照相同的 $2 和 $10 使用,而 Opus 5 目前仍列為 $5 和 $25。local model 不收取每個 token 的費用,而是改由伺服器每月成本決定;無論是否使用,伺服器都會持續運作並產生成本。

損益平衡點通常比人們預期的更低。具備足夠記憶體以執行實用 open model 的 VPS,每月需要實際支付費用,而且大部分時間都處於閒置狀態。如果使用量呈突發狀態,hosted API 通常更便宜。如果使用量持續穩定,或資料不能離開你的網路,local model 在這兩方面都更具優勢。

大多數團隊最後會採用務實的混合方案。將 open model 部署在本機,處理高使用量、低難度的工作。將困難請求轉送至 hosted frontier model。在兩者前方放置 gateway,讓應用程式不必知道請求實際使用哪個模型,也能在不修改應用程式程式碼的情況下調整分流界線。這種架構是「self hosted Claude」的實用版本;不同於字面上的版本,它確實存在。如果你也想自行執行完整的 agent stack,self-hosted AI agents 總覽整理了目前可用的方案。

FAQ

我可以下載 Claude 的模型權重並在本機執行嗎?

不可以。Anthropic 從未釋出任何 Claude 模型的權重,也沒有允許自行架設的授權。網路上任何宣稱可下載的「Claude 模型」,不是使用誤導性名稱的其他模型,就是會呼叫 API 的包裝程式。如果它需要 API key,就不是本機執行。

最接近 Claude 的開放模型是哪個?

沒有完全相同的模型,而且領先者每隔幾個月就會改變。值得測試的開放權重模型系列包括 Llama、Qwen、Mistral、Gemma 和 DeepSeek。在摘要、分類及簡單程式碼編輯方面,參數量為 8 到 14 billion 的優良開放模型確實很實用。在長篇多步驟推理及代理式工具使用方面,與代管的前沿模型仍有很大差距。請使用自己的提示詞進行測試,不要只相信排行榜。

LiteLLM 算是自行架設的 OpenRouter 嗎?

就路由和金鑰管理而言,功能上可以這樣說。LiteLLM 執行在你的伺服器上,提供單一的 OpenAI 相容端點,並代理至 Anthropic、Ollama 及大多數其他供應商。連接 Postgres 資料庫後,你可以設定每個金鑰的支出上限,還能進行模型路由,並在單一位置查看日誌。但它不會提供本機推論:傳送至 Claude 的請求仍會經過網路傳到 Anthropic。

在自己的伺服器上執行 Claude Code,能讓我的程式碼保持私密嗎?

不可以。Claude Code 會將它讀取的檔案內容傳送至 Anthropic API,無論該程序實際執行在哪裡。VPS 提供的是代理程式的隔離,而不是內容的隱私。請為它建立專用的非特權使用者,避免它接觸認證資訊及無關的儲存庫,並將它能讀取的所有內容視為會離開該伺服器的資料。