Bolehkah anda self-host Claude? Ini jawapan sebenar
Anda tidak boleh melakukan self-host pada Claude kerana Anthropic tidak mengeluarkan pemberat model. Ketahui alternatif model terbuka dan cara membina gerbang API sendiri di sini.
Bolehkah anda melakukan self-host pada Claude? Tidak, dan ini sebabnya
Anda tidak boleh melakukan self-host pada Claude. Anthropic tidak menerbitkan pemberat model (model weights), jadi tiada fail untuk dimuat turun, tiada kontena untuk dijalankan, dan tiada lesen yang membenarkan anda menghidangkannya daripada perkakasan anda sendiri. Setiap permintaan Claude pergi ke API Anthropic atau kepada rakan kongsi yang dihoskan seperti Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry. Menjalankannya pada mesin milik anda bukanlah masalah konfigurasi. Artifak tersebut sememangnya tidak wujud di luar Anthropic.
Itu jawapan ringkasnya. Jawapan yang lebih panjang ialah kebanyakan orang yang bertanya soalan ini sebenarnya tidak mahukan pemberat model tersebut. Mereka mahukan salah satu daripada tiga perkara yang semuanya boleh dicapai pada pelayan yang anda kawal: model berkeupayaan yang berjalan secara lokal, gerbang (gateway) yang menyimpan kunci API mereka dan mengehadkan perbelanjaan, atau ejen pengekodan yang tinggal pada kotak (pelayan) mereka sendiri dan bukannya pada komputer riba mereka. Panduan ini merangkumi ketiga-tiganya, berserta arahan yang berkaitan.
Apakah maksud sebenar "Claude yang dihoskan sendiri"
Carian trafik bagi "self hosted Claude" terbahagi kepada beberapa keinginan yang berbeza, dan setiap satunya memerlukan jawapan yang berlainan.
Sesetengah pengguna mahukan privasi. Mereka tidak mahu prompt keluar daripada rangkaian mereka. Hanya model berat terbuka (open weight model) tempatan yang dapat menyelesaikan masalah ini, kerana sebarang permintaan kepada Claude secara definisinya merupakan permintaan kepada Anthropic.
Sesetengah pengguna mahukan kawalan kos. Mereka bimbang tentang ejen yang tidak terkawal yang menghabiskan kredit dengan cepat. Sebuah gateway dapat menyelesaikan masalah ini, dan ia berfungsi dengan Claude, jadi anda tetap mengekalkan kualiti model tersebut.
Sesetengah pengguna mahukan kebebasan daripada komputer riba. Mereka mahukan ejen yang terus berfungsi walaupun mereka menutup skrin komputer. Sebuah VPS dapat menyelesaikan masalah ini, dan Claude Code boleh dijalankan di atasnya dengan lancar.
Sesetengah pengguna mencari frasa "self hosted OpenRouter". Itu juga merupakan sejenis gateway, dan jawapan lazimnya ialah LiteLLM.
Tentukan kategori anda, kerana binaan yang tepat adalah berbeza bagi setiap kes.
Self-host model terbuka dengan Ollama
Jika syaratnya ialah tiada prompt yang keluar dari pelayan anda, jalankan model berat terbuka (open weight model). Keluarga model yang benar-benar boleh digunakan pada pelayan sewaan hari ini ialah Llama, Qwen, Mistral, Gemma, dan DeepSeek. Kesemuanya menerbitkan berat model yang boleh anda muat turun dan jalankan.
Ollama ialah cara terpantas untuk bermula. Skrip pemasangannya hanya satu baris, dan ia menyediakan servis systemd pada Ubuntu.
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollamasystemctl status ollama sepatutnya memaparkan active (running). Kemudian, tarik (pull) model dan berinteraksi dengannya.
ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."pull yang pertama memuat turun beberapa gigabait data, jadi model tersebut perlu dimuatkan ke dalam RAM atau memori GPU sebelum ia boleh menjawab apa-apa. Peraturan kasar untuk model terkuantisasi (quantised): model 8 bilion parameter memerlukan kira-kira 6 GB ruang kosong, model 14 bilion parameter memerlukan kira-kira 10 GB, dan model 70 bilion parameter memerlukan memori yang lebih besar daripada kebanyakan pelan VPS kegunaan umum. Jika pelayan kekurangan memori, proses tersebut akan ditamatkan oleh kernel dan anda akan melihat Error: llama runner process has terminated, dengan baris ralat "out of memory" dalam dmesg. Semak free -h sebelum menyalahkan model. Belanjawan memori yang sama juga menentukan berapa banyak prompt panjang yang boleh dibaca oleh model, kerana Ollama secara senyap memotong (truncate) apa-apa yang melebihi tetingkap lalai yang sederhana, jadi meningkatkan num_ctx dan menetapkan saiz KV cache adalah perkara pertama yang perlu diperiksa apabila dokumen panjang kembali dalam keadaan separuh diringkaskan.
Ollama juga menyediakan API HTTP pada 127.0.0.1:11434, yang menjadikannya berguna kepada perisian lain dan bukan sekadar alat sembang.
curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'Jika permintaan pertama selepas tempoh senyap mengambil masa tiga puluh saat manakala permintaan seterusnya kembali serta-merta, tiada apa yang rosak: Ollama membuang model daripada memori selepas lima minit melahu, dan mengekalkannya dalam memori dengan keep_alive akan menghapuskan penalti muat semula tersebut.
Pastikan port itu terikat pada localhost. Port Ollama yang terbuka pada IP awam adalah GPU percuma untuk sesiapa sahaja yang menemuinya. Binaan penuh, termasuk unit systemd, pengesanan GPU, dan meletakkan reverse proxy di hadapan, diliputi dalam panduan menjalankan Ollama pada VPS. Jika anda melayani lebih daripada seorang pengguna pada satu masa, baca perbandingan antara Ollama dan vLLM terlebih dahulu, kerana reka bentuk aliran tunggal (single stream) Ollama akan menjadi kesesakan (bottleneck) jauh sebelum perkakasan itu sendiri.
Jujur tentang jurang keupayaan. Model terbuka yang baik pada VPS bersaiz sederhana benar-benar berguna untuk meringkas, mengelas, mendraf, dan pengekstrakan mudah. Bagi penaakulan berbilang langkah yang panjang, pangkalan kod yang besar, dan penggunaan alat ejen (agentic tool), ia tidak setanding dengan model berhos (hosted model) termaju, dan tiada jumlah penalaan prompt yang dapat menutup jurang tersebut. Pilih model tempatan untuk kerja yang ia mahir, dan bayar untuk model berhos apabila tahap kesukaran kerja itu sebenar.
Jalankan gateway anda sendiri dengan LiteLLM
Ini ialah "OpenRouter yang dihoskan sendiri" yang dicari oleh ramai orang. Sebuah gateway terletak di antara aplikasi anda dan setiap penyedia model. Aplikasi anda hanya memegang satu kunci yang dihalakan ke pelayan anda. Kunci penyedia yang sebenar hanya disimpan pada pelayan tersebut. Anda boleh menetapkan had perbelanjaan bagi setiap kunci, menghalakan aplikasi berbeza ke model berbeza, serta merekodkan setiap permintaan di satu lokasi.
LiteLLM menjadi pilihan umum kerana ia menggunakan API yang serasi dengan OpenAI dan bertindak sebagai proksi kepada Anthropic, Ollama, dan kebanyakan penyedia lain di sebalik titik akhir (endpoint) yang sama. Jalankannya dalam Docker dengan fail konfigurasi.
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:11434Simpan fail tersebut sebagai litellm_config.yaml dan mulakan proksi. Ia akan mendengar pada 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.yamlLITELLM_MASTER_KEY ialah kelayakan pentadbir, jadi layan ia seperti kata laluan root dan jangan edarkan nilai contoh tersebut. Panggil proksi tersebut sama seperti anda memanggil API yang dihoskan.
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."}]}'Respons yang sihat adalah JSON biasa dengan tatasusunan choices. 401 bermaksud pengepala Authorization tidak sepadan dengan kunci induk anda. 400 yang menamakan model bermaksud model dalam permintaan anda tidak sepadan dengan mana-mana model_name dalam fail konfigurasi.
Sebab untuk membina sistem ini berbanding memanggil Anthropic secara terus adalah had perbelanjaan. Keluarkan kunci maya yang berasingan bagi setiap aplikasi, dengan setiap satunya mempunyai bajet tersendiri.
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}'Kunci tersebut boleh membelanjakan seratus dolar dan mencapai satu model sahaja, dan tiada yang lain. Apabila ejen berkelakuan tidak sepatutnya pada pukul tiga pagi, kesan kerosakan hanya terhad kepada satu kunci dan bukannya keseluruhan akaun anda. Corak tersebut, berserta pemantauan di sekelilingnya, adalah subjek bagi mengawal kos ejen pada VPS. Jika anda masih membuat keputusan sama ada mahu membayar mengikut token, perbandingan kos API berbanding langganan akan membantu anda mengira aritmetik tersebut.
Perhatikan perkara yang tidak dilakukan oleh gateway ini. Ia tidak menjadikan Claude sebagai model tempatan, dan ia tidak menyembunyikan prompt anda daripada Anthropic. Permintaan masih akan meninggalkan pelayan anda menuju ke penyedia. Apa yang anda peroleh ialah kawalan ke atas kunci, perbelanjaan, penghalaan, dan log.
Jalankan Claude Code pada VPS anda sendiri
Permintaan ketiga adalah yang paling mudah untuk ditunaikan. Claude Code ialah klien. Ia berjalan di mana-mana sahaja anda memasang Node.js, dan ia berkomunikasi dengan API melalui HTTPS. Meletakkannya pada pelayan milik anda bermakna ejen tersebut terus berfungsi selepas anda menutup komputer riba anda, dan ini bermakna skop kesan ejen tersebut adalah dalam persekitaran yang boleh anda bina semula, bukannya pada mesin utama anda.
npm install -g @anthropic-ai/claude-code
claude --versionJalankannya di dalam tmux supaya sambungan SSH yang terputus tidak mematikan tugasan yang sedang berjalan lama. Persediaan tersebut, termasuk pengendalian sesi, diliputi dalam menjalankan Claude Code pada VPS dengan tmux. Berikan ejen tersebut pengguna tanpa keistimewaan (unprivileged user) sendiri, dan baca peraturan keselamatan untuk menjalankan Claude Code pada pelayan sebelum anda memberikan akses tulis kepada apa-apa yang penting bagi anda.
Ini adalah pengehosan kendiri ejen, bukan model. Perlu ditegaskan tentang perkara ini, kerana inilah bahagian yang sering disalah anggap oleh orang ramai. Anda memiliki proses, sistem fail, trafik rangkaian keluar, dan log. Anthropic masih memiliki inferens.
Kos sebenar setiap pilihan
Harga sentiasa berubah, jadi anggap ini sebagai gambaran kasar dan bukannya sebut harga tetap. Setakat Julai 2026, Claude Sonnet 5 disenaraikan pada harga $3 bagi setiap juta token input dan $15 bagi setiap juta token output, manakala Claude Opus 5 masing-masing pada harga $5 dan $25. Model tempatan tidak mengenakan bayaran per token, sebaliknya kosnya adalah berdasarkan harga pelayan bulanan, yang tetap berjalan sama ada anda menggunakannya atau tidak.
Titik pulang modal adalah lebih rendah daripada jangkaan ramai. VPS dengan memori yang mencukupi untuk menjalankan model terbuka yang berguna memerlukan kos sebenar setiap bulan, dan ia terbiar tidak digunakan pada kebanyakan masa. Jika penggunaan anda tidak menentu (bursty), API berhos biasanya lebih murah. Jika penggunaan anda malar, atau jika data anda tidak boleh meninggalkan rangkaian anda, model tempatan lebih berbaloi dari kedua-dua aspek.
Jawapan jujur yang menggabungkan kedua-duanya adalah pilihan yang diambil oleh kebanyakan pasukan. Jalankan model terbuka secara tempatan untuk tugasan volum tinggi yang kurang rumit. Halakan permintaan sukar kepada model frontier berhos. Letakkan gateway di hadapan kedua-duanya supaya aplikasi tidak perlu mengetahui perbezaan antara keduanya, dan supaya anda boleh mengubah sempadan antara kedua-dua model tersebut tanpa menyentuh kod aplikasi. Seni bina itu merupakan versi praktikal bagi "Claude yang dihoskan sendiri", dan tidak seperti versi literal, ia benar-benar wujud. Jika anda juga ingin menjalankan keseluruhan tindanan ejen (agent stack) sendiri, senarai ejen AI yang dihoskan sendiri merangkumi apa yang tersedia.
FAQ
Bolehkah saya memuat turun weight model Claude dan menjalankannya secara tempatan?
Tidak. Anthropic tidak pernah mengeluarkan weight untuk mana-mana model Claude, dan tiada lesen yang membenarkan pengehosan kendiri (self-hosting). Apa-apa sahaja yang diiklankan dalam talian sebagai "model Claude" yang boleh dimuat turun adalah sama ada model berbeza dengan nama yang mengelirukan atau pembungkus (wrapper) yang memanggil API. Jika ia memerlukan API key, ia bukan model tempatan.
Apakah model terbuka yang paling hampir dengan Claude?
Tiada padanan yang tepat, dan peneraju pasaran berubah setiap beberapa bulan. Keluarga model dengan weight terbuka yang wajar diuji ialah Llama, Qwen, Mistral, Gemma, dan DeepSeek. Bagi tugas meringkas, klasifikasi, dan suntingan kod ringkas, model terbuka yang baik dengan 8 hingga 14 bilion parameter adalah sangat berguna. Bagi penaakulan berbilang langkah yang panjang dan penggunaan alat ejen (agentic tool use), jurang dengan model frontier yang dihoskan masih besar. Uji menggunakan prompt anda sendiri dan jangan hanya mempercayai papan pendahulu (leaderboard).
Adakah LiteLLM merupakan OpenRouter yang dihoskan sendiri?
Secara fungsinya ya, untuk bahagian penghalaan (routing) dan pengurusan kunci. LiteLLM berjalan pada pelayan anda, membentangkan satu endpoint yang serasi dengan OpenAI, dan bertindak sebagai proksi kepada Anthropic, Ollama, serta kebanyakan penyedia lain. Anda mendapat had perbelanjaan bagi setiap kunci, penghalaan model, dan satu lokasi untuk membaca log. Apa yang tidak diberikan ialah inferens tempatan: permintaan kepada Claude masih dihantar ke Anthropic.
Adakah menjalankan Claude Code pada pelayan sendiri memastikan kod saya kekal peribadi?
Tidak. Claude Code menghantar kandungan fail yang dibacanya ke API Anthropic, di mana sahaja proses tersebut dijalankan. Apa yang diberikan oleh VPS kepada anda ialah pengasingan ejen, bukan privasi kandungan. Berikan ia pengguna khusus tanpa keistimewaan (unprivileged user), jauhkan ia daripada kelayakan (credentials) dan repositori yang tidak berkaitan, serta anggap segala yang boleh dibacanya sebagai kandungan yang keluar daripada pelayan tersebut.