SSD Nodes Learn 8GB RAM — $66/năm
Hướng dẫn Matt ConnorBởi Matt Connor · Cập nhật ngày 2026-08-01

Có thể tự host Claude không? Câu trả lời thật

Claude không công khai model weights nên bạn không thể chạy nó trên server riêng. Xem các lựa chọn tự host: open model, gateway API và Claude Code.

Bạn có thể tự lưu trữ Claude không? Không, và đây là lý do

Bạn không thể tự lưu trữ Claude. Anthropic không công bố model weights, nên không có file để tải xuống, không có container để chạy và không có licence cho phép bạn phục vụ model này trên phần cứng của riêng mình. Mọi request đến Claude đều đi tới API của Anthropic hoặc một partner được host như Amazon Bedrock, Google Vertex AI hay Microsoft Foundry. Chạy Claude trên máy do bạn sở hữu không phải là vấn đề cấu hình. Artefact này đơn giản là không tồn tại bên ngoài Anthropic.

Đó là câu trả lời ngắn. Câu trả lời đầy đủ hơn là phần lớn người đặt câu hỏi này thực ra không cần model weights. Họ muốn một trong ba thứ, và cả ba đều có thể triển khai trên server do bạn kiểm soát: một model đủ năng lực chạy local, một gateway lưu API key của họ và giới hạn chi phí, hoặc một coding agent chạy trên máy riêng thay vì laptop. Hướng dẫn này bao gồm cả ba, kèm các lệnh.

"Claude self-hosted" thường có nghĩa là gì

Lưu lượng tìm kiếm cho "Claude self hosted" thường phản ánh một vài nhu cầu khác nhau, và mỗi nhu cầu cần một câu trả lời khác.

Một số người muốn quyền riêng tư. Họ không muốn prompt rời khỏi network của mình. Chỉ model open weight chạy local mới đáp ứng được điều đó, vì mọi request Claude theo định nghĩa đều là request gửi đến Anthropic.

Một số người muốn kiểm soát chi phí. Họ lo một agent chạy mất kiểm soát và tiêu hết credit. Gateway giải quyết vấn đề này và hoạt động với Claude, nên bạn vẫn giữ được chất lượng của model.

Một số người muốn không phụ thuộc vào laptop. Họ muốn một agent tiếp tục hoạt động khi họ đóng nắp máy. VPS giải quyết được việc này, và Claude Code chạy ổn định trên đó.

Một số người tìm cụm từ "self hosted OpenRouter". Đây cũng là một gateway, và câu trả lời thường dùng là LiteLLM.

Hãy xác định bạn thuộc trường hợp nào, vì cách triển khai phù hợp sẽ khác nhau trong từng trường hợp.

Tự lưu trữ model mở bằng Ollama

Nếu yêu cầu là không có prompt nào rời khỏi server, hãy chạy một model open weight. Các họ model hiện thực sự có thể dùng trên server thuê gồm Llama, Qwen, Mistral, Gemma và DeepSeek. Tất cả đều công bố weights để bạn tải xuống và chạy.

Ollama là cách nhanh nhất để bắt đầu. Script cài đặt chỉ có một dòng và thiết lập một systemd service trên Ubuntu.

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

systemctl status ollama phải in ra active (running). Sau đó pull một model và trò chuyện với model đó.

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

Lần chạy pull đầu tiên sẽ tải xuống vài gigabyte, vì vậy model phải vừa với RAM hoặc GPU memory trước khi có thể trả lời. Quy tắc ước lượng cho model quantised: model có 8 billion parameter cần khoảng 6 GB bộ nhớ trống, model có 14 billion parameter cần khoảng 10 GB, còn model có 70 billion parameter cần nhiều memory hơn hầu hết gói VPS đa dụng cung cấp. Nếu máy thiếu memory, kernel sẽ kill process và bạn sẽ thấy Error: llama runner process has terminated, cùng với dòng báo out of memory trong dmesg. Kiểm tra free -h trước khi đổ lỗi cho model.

Ollama cũng cung cấp HTTP API trên 127.0.0.1:11434. Vì vậy, các phần mềm khác có thể sử dụng nó, thay vì chỉ dùng như một công cụ chat.

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

Hãy giữ port đó chỉ bind vào localhost. Một port Ollama mở trên public IP là GPU miễn phí cho bất kỳ ai tìm thấy nó. Toàn bộ quá trình triển khai, gồm systemd unit, phát hiện GPU và đặt reverse proxy phía trước, được trình bày trong hướng dẫn chạy Ollama trên VPS. Nếu bạn phục vụ nhiều hơn một user cùng lúc, hãy đọc bài so sánh Ollama và vLLM trước, vì thiết kế single stream của Ollama sẽ trở thành bottleneck từ lâu trước khi phần cứng đạt giới hạn.

Hãy đánh giá trung thực khoảng cách này. Một open model tốt trên VPS tầm trung thực sự hữu ích cho việc tóm tắt, phân loại, soạn thảo và trích xuất đơn giản. Với suy luận nhiều bước trên nội dung dài, codebase lớn và việc sử dụng tool theo kiểu agent, nó chưa thể sánh với hosted model hàng đầu; không có mức prompt tuning nào có thể xóa bỏ khoảng cách đó. Hãy chọn local model cho những công việc nó làm tốt, và trả phí cho hosted model khi bài toán thực sự khó.

Tự chạy gateway với LiteLLM

Đây là "OpenRouter tự host" mà nhiều người đang tìm kiếm. Gateway nằm giữa các ứng dụng của bạn và mọi nhà cung cấp model. Ứng dụng của bạn chỉ giữ một key và gửi request đến server của bạn. Các key của nhà cung cấp thật chỉ nằm trên server đó. Bạn có thể giới hạn chi tiêu cho từng key, định tuyến các ứng dụng khác nhau đến các model khác nhau và ghi log mọi request tại một nơi.

LiteLLM là lựa chọn phổ biến vì nó cung cấp API tương thích với OpenAI và proxy đến Anthropic, Ollama cùng hầu hết nhà cung cấp khác qua cùng một endpoint. Chạy nó trong Docker với một file cấu hình.

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

Lưu nội dung đó thành litellm_config.yaml rồi khởi động proxy. Proxy lắng nghe trên 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 là thông tin xác thực quản trị, vì vậy hãy bảo vệ nó như mật khẩu root và không dùng giá trị mẫu trong môi trường thực tế. Gọi proxy giống hệt cách bạn gọi một API được host sẵn.

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."}]}'

Response hợp lệ là JSON thông thường với một mảng choices. Lỗi 401 nghĩa là header Authorization không khớp với master key của bạn. Lỗi 400 có tên model nghĩa là model trong request không khớp với bất kỳ model_name nào trong file cấu hình.

Lý do xây dựng hệ thống này thay vì gọi trực tiếp Anthropic là giới hạn chi tiêu. Tạo một virtual key riêng cho từng ứng dụng và đặt budget riêng cho mỗi 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}'

Key đó có thể được phép chi tiêu một trăm đô la và truy cập một model, không truy cập gì khác. Khi một agent hoạt động sai vào lúc 3 giờ sáng, phạm vi ảnh hưởng chỉ giới hạn ở một key thay vì toàn bộ account của bạn. Mẫu triển khai này cùng với việc monitoring xung quanh nó là chủ đề của kiểm soát chi phí agent trên VPS. Nếu bạn vẫn đang cân nhắc có nên trả phí theo token hay không, so sánh chi phí API và subscription sẽ giúp bạn tính toán.

Lưu ý những việc gateway không làm. Nó không biến Claude thành local và không che giấu prompt của bạn khỏi Anthropic. Request vẫn rời server của bạn để đến nhà cung cấp. Đổi lại, bạn kiểm soát được key, chi tiêu, routing và log.

Chạy Claude Code trên VPS của bạn

Điều ước thứ ba là điều dễ thực hiện nhất. Claude Code là một client. Nó chạy ở bất cứ đâu bạn cài Node.js và giao tiếp với API qua HTTPS. Cài nó trên server do bạn sở hữu giúp agent tiếp tục chạy sau khi bạn tắt laptop. Đồng thời, blast radius của agent chỉ nằm trong một máy mà bạn có thể dựng lại, thay vì ảnh hưởng đến máy chính của bạn.

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

Chạy nó bên trong tmux để kết nối SSH bị ngắt không làm dừng job đang chạy lâu. Thiết lập này, bao gồm cả việc quản lý session, được trình bày trong chạy Claude Code trên VPS bằng tmux. Tạo một user không có đặc quyền riêng cho agent. Đọc các quy tắc an toàn khi chạy Claude Code trên server trước khi cho agent quyền ghi vào bất kỳ dữ liệu nào quan trọng với bạn.

Đây là self-host agent, không phải model. Cần phân biệt rõ điều này vì nhiều người thường đánh đồng hai khái niệm. Bạn sở hữu process, filesystem, network egress và log. Anthropic vẫn sở hữu phần inference.

Chi phí thực tế của từng lựa chọn

Giá có thể thay đổi, vì vậy hãy xem đây là mức tương quan, không phải báo giá. Tính đến tháng 7 năm 2026, Claude Sonnet 5 có giá $3 cho mỗi triệu input token và $15 cho mỗi triệu output token. Claude Opus 5 có giá lần lượt là $5 và $25. Local model không tính phí theo token. Thay vào đó, bạn trả chi phí server mỗi tháng, dù có sử dụng hay không.

Điểm hòa vốn thấp hơn nhiều người nghĩ. VPS có đủ memory để chạy một open model hữu ích sẽ tốn tiền thật mỗi tháng và phần lớn thời gian sẽ ở trạng thái idle. Nếu nhu cầu sử dụng tăng giảm theo đợt, hosted API thường rẻ hơn. Nếu nhu cầu sử dụng liên tục, hoặc dữ liệu không được phép rời khỏi network của bạn, local model thường có lợi ở cả hai mặt.

Câu trả lời thực tế thường là kết hợp cả hai. Chạy open model trên local cho các tác vụ có volume cao và độ khó thấp. Chuyển các request khó sang hosted frontier model. Đặt một gateway phía trước cả hai để application không cần biết request đang được xử lý bởi model nào. Bạn cũng có thể thay đổi ranh giới phân bổ mà không sửa application code. Đây là phiên bản thực tế của “self-hosted Claude”. Khác với phiên bản theo nghĩa đen, cách này có thể triển khai được. Nếu bạn cũng muốn tự chạy toàn bộ agent stack, bài tổng hợp về self-hosted AI agent sẽ trình bày các lựa chọn hiện có.

FAQ

Tôi có thể tải trọng số model của Claude và chạy cục bộ không?

Không. Anthropic chưa từng phát hành trọng số cho bất kỳ model Claude nào, và không có giấy phép nào cho phép tự host. Bất kỳ thứ gì được quảng cáo trực tuyến là “model Claude” có thể là một model khác dùng tên gây hiểu nhầm, hoặc một wrapper gọi API. Nếu cần API key thì đó không phải là chạy cục bộ.

Model mở nào gần với Claude nhất?

Không có model nào hoàn toàn tương đương, và các model dẫn đầu thay đổi sau mỗi vài tháng. Các họ open weight đáng để thử gồm Llama, Qwen, Mistral, Gemma và DeepSeek. Với việc tóm tắt, phân loại và chỉnh sửa code đơn giản, một model mở tốt có 8 đến 14 tỷ tham số thực sự hữu ích. Với suy luận nhiều bước trên nội dung dài và việc sử dụng tool theo hướng agent, khoảng cách so với frontier model được host vẫn còn lớn. Hãy kiểm thử bằng prompt của bạn thay vì chỉ tin vào leaderboard.

LiteLLM có phải là OpenRouter tự host không?

Về chức năng thì đúng, xét ở phần định tuyến và quản lý key. LiteLLM chạy trên server của bạn, cung cấp một endpoint tương thích với OpenAI và proxy đến Anthropic, Ollama cùng hầu hết provider khác. Bạn có giới hạn chi tiêu theo từng key, định tuyến model và một nơi duy nhất để đọc log. LiteLLM không cung cấp khả năng inference cục bộ: request đến Claude vẫn đi qua Anthropic.

Chạy Claude Code trên server riêng có giữ code của tôi ở chế độ riêng tư không?

Không. Claude Code gửi nội dung các file mà nó đọc đến Anthropic API, bất kể process đang chạy ở đâu. VPS cung cấp khả năng cô lập agent, không phải quyền riêng tư cho nội dung. Hãy cấp cho nó một user không có quyền đặc biệt, ngăn nó truy cập credential và các repository không liên quan, đồng thời coi mọi thứ nó có thể đọc là nội dung sẽ rời khỏi máy.