Claude 可以自托管吗?诚实答案与替代方案
Claude 不公开模型权重,无法在您的服务器运行。了解自托管开放模型、LiteLLM 网关和 Claude Code 的可行方案,以及 Ollama 的内存要求。
能否自行托管 Claude?不能,原因如下
您无法自行托管 Claude。Anthropic 不发布模型权重,因此没有可下载的文件、可运行的容器,也没有允许您在自己的硬件上提供服务的许可证。每个 Claude 请求都会发送到 Anthropic API,或发送到 Amazon Bedrock、Google Vertex AI、Microsoft Foundry 等托管合作伙伴。要在您拥有的机器上运行 Claude,并不是配置问题。Anthropic 之外根本不存在相应的模型文件。
简短答案就是这样。更完整的答案是,大多数提出这个问题的人实际上并不需要模型权重。他们需要的是以下三者之一,而这些都可以在您控制的服务器上实现:在本地运行的高能力模型、用于保存 API 密钥并限制支出的网关,或者运行在自己服务器上的编码代理,而不是运行在笔记本电脑上。本指南将介绍这三种方案,并提供相应命令。
“自托管 Claude”通常指什么
“自托管 Claude”的搜索流量通常对应几种不同需求,因此解决方案也不同。
有些人关注隐私。他们不希望提示词离开自己的网络。只有本地开放权重模型能满足这一点,因为任何 Claude 请求本质上都是发送给 Anthropic 的请求。
有些人关注成本控制。他们担心失控的代理耗尽额度。网关可以解决这个问题,而且支持 Claude,因此可以保留模型质量。
有些人希望不依赖笔记本电脑。他们希望合上电脑盖后,代理仍能继续运行。VPS 可以满足这一点,Claude Code 也能在 VPS 上正常运行。
有些人搜索的是“自托管 OpenRouter”。这同样属于网关方案,通常使用 LiteLLM。
请先确定自己的需求,因为每种情况适合的构建方式都不同。
使用 Ollama 自托管开放模型
如果要求任何提示词都不能离开服务器,请运行开放权重模型。目前在租用服务器上真正可用的模型系列包括 Llama、Qwen、Mistral、Gemma 和 DeepSeek。所有这些系列都发布了可下载和运行的权重。
Ollama 是最快的入门方式。安装脚本只有一行,并且会在 Ubuntu 上配置 systemd 服务。
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollamasystemctl 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 参数模型需要约 6 GB 可用内存,14 billion 参数模型需要约 10 GB,70 billion 参数模型所需内存则超过大多数通用 VPS 方案的配置。如果服务器内存不足,内核会终止该进程,并显示 Error: llama runner process has terminated;dmesg 中会有内存不足相关记录。在归咎于模型之前,先检查 free -h。
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}'将该端口限制绑定到 localhost。公共 IP 上开放的 Ollama 端口,会成为任何发现它的人都可以免费使用的 GPU。完整配置包括 systemd 单元、GPU 检测,以及在前面添加反向代理,详见在 VPS 上运行 Ollama 的指南。如果需要同时服务多个用户,请先阅读Ollama 与 vLLM 的比较,因为 Ollama 的单流设计会在硬件达到瓶颈之前很久就成为瓶颈。
请如实看待差距。 在中等配置的 VPS 上,优秀的开放模型确实适合摘要、分类、起草和简单提取。面对较长的多步骤推理、大型代码库和代理式工具调用时,它与前沿托管模型仍有明显差距,任何提示词调优都无法消除这一差距。应根据本地模型擅长的工作选择它;遇到真正困难的任务,再付费使用托管模型。
使用 LiteLLM 运行自己的网关
这就是人们搜索的“自托管 OpenRouter”。网关位于您的应用与各个模型提供商之间。您的应用只需持有一个密钥,并将请求发送到您的服务器。真正的提供商密钥只存储在该服务器上。您可以限制每个密钥的支出,为不同应用将请求路由到不同模型,并在一个位置记录所有请求。
LiteLLM 是常见选择,因为它提供与 OpenAI 兼容的 API,并可通过同一个端点代理 Anthropic、Ollama 及大多数其他提供商。使用 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,然后启动代理。它监听端口 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 是管理员凭据,因此应像保护 root 密码一样保护它,不要使用示例值。调用该代理的方式与调用托管 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 标头与主密钥不匹配。包含模型名称的 400 表示请求中的 model 与配置文件中的任何 model_name 都不匹配。
构建此网关而不是直接调用 Anthropic 的原因是可以限制支出。为每个应用单独创建一个虚拟密钥,并为每个密钥设置独立预算。
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}'该密钥可以支出一百美元并访问一个模型,除此之外不能执行其他操作。当代理在凌晨三点出现异常时,影响范围只限于一个密钥,而不是整个账户。这种模式及其配套监控是 控制 VPS 上代理成本 的主题。如果您仍在考虑是否按令牌付费,API 与订阅费用对比 会逐步说明相关计算。
请注意,网关不会执行以下操作。它不会让 Claude 在本地运行,也不会向 Anthropic 隐藏您的提示词。请求仍会离开您的服务器并发送给提供商。您获得的是对密钥、支出、路由和日志的控制。
在您自己的 VPS 上运行 Claude Code
第三个愿望最容易实现。Claude Code 是一个客户端。只要安装了 Node.js,就可以在相应环境中运行,并通过 HTTPS 与 API 通信。将它部署在您拥有的服务器上,意味着即使您关闭笔记本电脑,代理仍会继续工作。同时,代理造成的影响范围会限制在一个可以重建的系统中,而不是您的主机上。
npm install -g @anthropic-ai/claude-code
claude --version在 tmux 中运行它,这样 SSH 连接断开不会终止长时间运行的任务。包括会话管理在内的配置方法,请参阅使用 tmux 在 VPS 上运行 Claude Code。为代理创建专用的非特权用户。在授予它对任何重要数据的写入权限之前,请先阅读在服务器上运行 Claude Code 的安全规则。
这是自行托管代理,而不是自行托管模型。需要明确这一点,因为人们经常将两者混为一谈。您控制进程、文件系统、网络出站流量和日志。推理服务仍由 Anthropic 提供。
每个选项的实际成本
价格会变化,因此应将以下内容视为成本结构,而不是报价。截至 July 2026,Claude Sonnet 5 的价格为每百万输入令牌 $3、每百万输出令牌 $15;Claude Opus 5 的价格为 $5 和 $25。本地模型不收取令牌费用,而是产生服务器每月的成本,无论是否使用都需要运行。
盈亏平衡点低于许多人的预期。运行实用开源模型所需内存的 VPS 每月需要实际支出,而且大部分时间处于空闲状态。如果使用量存在突发性,托管 API 通常更便宜。如果使用量持续稳定,或者数据不能离开您的网络,本地模型在这两方面都更有优势。
大多数团队最终采用的是诚实的混合方案。在本地运行开源模型,处理高容量、低难度的任务。将困难请求路由到托管的前沿模型。在两者前面部署网关,使应用程序无需了解请求使用的是哪一个模型,也可以在不修改应用程序代码的情况下调整两者之间的分配界限。这种架构是“自托管 Claude”的实用版本;与字面意义上的版本不同,它确实存在。如果您还希望自行运行整个代理堆栈,请参阅自托管 AI 代理汇总,了解可用选项。
FAQ
我可以下载 Claude 的模型权重并在本地运行吗?
不可以。Anthropic 从未发布任何 Claude 模型的权重,也没有允许自行托管的许可证。网上宣传的可下载“Claude 模型”,要么是名称具有误导性的其他模型,要么是调用 API 的封装程序。如果它需要 API key,就不是本地运行。
最接近 Claude 的开放模型是什么?
没有完全匹配的模型,而且领先模型每隔几个月就会变化。值得测试的开放权重模型系列包括 Llama、Qwen、Mistral、Gemma 和 DeepSeek。在摘要、分类和简单代码编辑方面,参数量为 8 到 14 billion 的优秀开放模型确实很有用。在长链路多步推理和代理式工具调用方面,与托管的前沿模型相比仍有很大差距。请使用自己的提示词进行测试,不要只相信排行榜。
LiteLLM 是自行托管的 OpenRouter 吗?
从路由和 key 管理的功能来看,是的。LiteLLM 运行在您的服务器上,提供一个兼容 OpenAI 的端点,并代理到 Anthropic、Ollama 及大多数其他提供商。您可以设置按 key 计算的支出上限、进行模型路由,并在一个位置查看日志。但它不提供本地推理:发送给 Claude 的请求仍会传输到 Anthropic。
在我自己的服务器上运行 Claude Code 能保护我的代码隐私吗?
不能。Claude Code 会将其读取的文件内容发送到 Anthropic API,与进程实际运行的位置无关。VPS 提供的是代理隔离,而不是内容隐私。请为它配置专用的非特权用户,使其无法访问凭据和无关的代码仓库,并将它能够读取的所有内容视为会离开该服务器的数据。