Claude能否自行托管?权重不公开,替代方案有哪些
Claude 的模型权重未公开,无法下载文件、运行容器或在自有硬件部署。本文说明真实限制,并介绍 Ollama 开放模型、LiteLLM 网关和 VPS 上运行 Claude Code 的可行方案。
能否自行托管 Claude?不能,原因如下
您无法自行托管 Claude。Anthropic 不发布模型权重,因此没有可下载的文件、可运行的容器,也没有允许您在自有硬件上提供服务的许可证。每个 Claude 请求都会发送到 Anthropic 的 API,或发送到 Amazon Bedrock、Google Vertex AI、Microsoft Foundry 等托管合作伙伴。要在自有机器上运行 Claude,并不是配置问题。Anthropic 之外根本不存在相应的模型文件。
这是简短答案。更完整的答案是,大多数提出这个问题的人实际上并不需要模型权重。他们需要的是以下三者之一,而这三者都可以在您控制的服务器上实现:在本地运行的高性能模型、用于保存 API 密钥并限制支出的网关,或运行在自有服务器而非笔记本电脑上的编码代理。本指南将使用命令介绍这三种方案。
“self-hosted Claude”通常指什么
搜索“self-hosted Claude”的用户,通常有几种不同需求,解决方案也各不相同。
有些人关注隐私。他们不希望提示词离开自己的网络。只有本地运行的开放权重模型能满足这一要求,因为任何 Claude 请求本质上都是发送给 Anthropic 的请求。
有些人关注成本控制。他们担心失控的代理持续消耗额度。网关可以解决这个问题,而且支持 Claude,因此无需牺牲模型质量。
有些人希望不再依赖笔记本电脑。他们希望合上笔记本电脑盖后,代理仍能继续工作。VPS 可以满足这一需求,Claude Code 也能在 VPS 上正常运行。
有些人想要的是“self-hosted 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 会静默截断超出默认窗口的内容。因此,长文档返回的摘要不完整时,首先应增大 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。将 Ollama 端口开放在公网 IP 上,等于为任何发现它的人提供免费的 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}'该密钥最多可支出 100 美元,并只能访问一个模型,不能执行其他操作。当某个 agent 在凌晨 3 点出现异常时,影响范围只涉及一个密钥,而不是整个账户。这种模式及其配套监控是 在 VPS 上控制 agent 成本 的主题。如果您仍在考虑是否要按 token 付费,API 与订阅费用对比 会逐步说明相关计算。
请注意,网关不会执行以下操作。它不会让 Claude 变成本地运行,也不会对 Anthropic 隐藏您的提示词。请求仍会离开您的服务器并发送给提供商。您获得的是对密钥、支出、路由和日志的控制。
在您自己的 VPS 上运行 Claude Code
第三个愿望最容易实现。Claude Code 是一个客户端。只要安装了 Node.js,就可以在相应环境中运行,并通过 HTTPS 与 API 通信。将它部署在您自己的服务器上,可以让代理在您关闭笔记本电脑后继续运行。同时,代理造成的影响范围也被限制在一台可重建的服务器上,而不是您的主机。
npm install -g @anthropic-ai/claude-code
claude --version请在 tmux 中运行它,这样 SSH 连接中断不会终止长时间运行的任务。包括会话管理在内的配置方法,参见在 VPS 上使用 tmux 运行 Claude Code。为代理创建单独的非特权用户。在允许它写入任何重要数据前,请先阅读在服务器上运行 Claude Code 的安全规则。
这是自行托管代理,而不是自行托管模型。必须明确区分这一点,因为人们经常将两者混为一谈。您拥有该进程、文件系统、网络出站流量和日志。推理服务仍由 Anthropic 提供。
每个选项的实际成本
价格会变化,因此应将以下数字视为成本结构,而不是报价。截至 July 2026,Claude Sonnet 5 的价格为每 1 million 个输入 token $3、每 1 million 个输出 token $15;Claude Opus 5 的价格为 $5 和 $25。本地模型不按 token 收费,但需要承担服务器每月成本,无论是否使用都要持续运行。
盈亏平衡点低于很多人的预期。能够运行实用开源模型、且内存足够的 VPS 每月需要实际支出,而且大部分时间处于空闲状态。如果使用量存在突发性,托管 API 通常更便宜。如果使用量持续稳定,或者数据不能离开网络,本地模型在这两方面都更有优势。
多数团队最终会采用折中的方案。将高吞吐量、低难度的工作交给本地运行的开源模型。将复杂请求路由到托管的前沿模型。在两者前面放置网关,使应用无需知道请求使用的是哪个模型,也可以在不修改应用代码的情况下调整两者之间的分配范围。这种架构是“自托管 Claude”的实际实现;与字面意义上的版本不同,它确实存在。如果还希望自行运行完整的 agent 堆栈,请参阅自托管 AI agent 汇总,了解现有方案。
FAQ
我可以下载 Claude 的模型权重并在本地运行吗?
不可以。Anthropic 从未发布任何 Claude 模型的权重,也没有允许自行托管的许可证。网上任何声称可下载的“Claude 模型”,要么是名称具有误导性的其他模型,要么是调用 API 的封装程序。如果它需要 API key,就不是本地运行。
哪个开源模型最接近 Claude?
没有完全匹配的模型,领先模型每隔几个月就会变化。值得测试的开放权重模型系列包括 Llama、Qwen、Mistral、Gemma 和 DeepSeek。在摘要、分类和简单代码编辑方面,拥有 8 到 14 billion 个参数的优秀开放模型确实很有用。在长链路多步推理和智能体工具调用方面,与托管的前沿模型相比仍有很大差距。请使用自己的提示词进行测试,不要盲目相信排行榜。
LiteLLM 是自行托管的 OpenRouter 吗?
从路由和密钥管理功能来看,是的。LiteLLM 运行在您的服务器上,提供一个兼容 OpenAI 的端点,并代理到 Anthropic、Ollama 及大多数其他提供商。您可以设置每个 key 的支出上限、进行模型路由,并在一个位置查看日志。但它不提供本地推理:发送到 Claude 的请求仍会传输到 Anthropic。
在自己的服务器上运行 Claude Code,能确保我的代码私密吗?
不能。Claude Code 会将其读取的文件内容发送到 Anthropic API,与进程实际运行在哪台机器上无关。VPS 提供的是 agent 隔离,而不是内容隐私。请为它分配专用的非特权用户,避免让它访问凭据和无关的代码仓库,并将它能够读取的所有内容视为会离开该服务器的数据。