free-claude-code:用代理把 Claude Code 接到 OpenRouter、DeepSeek 和本地模型

整理 free-claude-code 的定位、工作方式和使用边界:它如何通过 Anthropic-compatible proxy,让 Claude Code 接入 OpenRouter、DeepSeek、NVIDIA NIM、LM Studio、llama.cpp 和 Ollama 等模型后端。

free-claude-code 是一个给 Claude Code 使用的 Anthropic-compatible proxy。

它的思路不是破解 Claude Code,也不是提供官方免费的 Claude 服务,而是在本地启动一个兼容 Anthropic API 形状的代理服务,把 Claude Code 发出的请求转发到其他模型后端。README 中提到的后端包括 NVIDIA NIM、OpenRouter、DeepSeek、LM Studio、llama.cpp 和 Ollama。

简单说,它想解决的是:你喜欢 Claude Code 的终端体验,但希望把模型请求接到别的 provider 或本地模型上。

它解决什么问题

Claude Code 的交互体验很适合开发任务。

它可以在终端里阅读代码、修改文件、执行命令、根据项目上下文推进任务。问题是,很多用户并不一定想始终使用同一个模型后端:

  • 想试试 OpenRouter 上的不同模型
  • 想用 DeepSeek 这类模型降低成本
  • 想把请求接到本地 Ollama
  • 想用 LM Studio 或 llama.cpp 跑本地模型
  • 想在开发环境里统一走一个代理入口
  • 想比较不同模型在 Claude Code 工作流里的表现

free-claude-code 的定位,就是在 Claude Code 和这些模型服务之间加一层兼容代理。

这样 Claude Code 仍然按 Anthropic 风格发请求,代理负责把请求适配到不同后端。

工作方式

可以把它理解成三层:

  1. 前端是 Claude Code
  2. 中间是 free-claude-code 代理
  3. 后端是 OpenRouter、DeepSeek、本地模型或其他模型服务

Claude Code 以为自己在访问一个 Anthropic-compatible API。

代理收到请求后,根据配置选择目标 provider,转换必要字段,再把响应返回给 Claude Code。

这类结构的好处是,你不用改 Claude Code 本身,也不用让每个模型服务都原生支持 Claude Code。只要代理能把接口对齐,就能把更多模型接进同一个工作流。

支持哪些后端

README 中列出的方向包括:

  • NVIDIA NIM
  • OpenRouter
  • DeepSeek
  • LM Studio
  • llama.cpp
  • Ollama

这些后端代表了几类不同使用方式。

OpenRouter 更像模型聚合入口,可以测试不同商业和开源模型。

DeepSeek 适合关注中文能力、代码能力和成本的人。

LM Studio、llama.cpp、Ollama 则偏本地模型路线。它们适合在自己的机器或内网环境里运行模型,减少外部 API 依赖,也方便做离线实验。

NVIDIA NIM 则更偏企业和 GPU 推理部署场景。

为什么是 Anthropic-compatible proxy

Claude Code 本来围绕 Anthropic 的接口和模型习惯设计。

如果你想让它接入其他模型,最直接的问题就是接口不一致:

  • 请求字段不同
  • 模型名称不同
  • streaming 格式不同
  • tool use 表达不同
  • 错误返回格式不同
  • token 和上下文限制不同

代理层的价值就在这里。

它把 Claude Code 这边看到的接口维持在接近 Anthropic 的形状,再在后端做适配。对用户来说,配置一次代理后,就可以在相同 Claude Code 工作流里测试不同模型。

适合什么场景

free-claude-code 适合这些场景:

  • 想用 Claude Code 的终端工作流
  • 想测试非 Anthropic 模型在 Claude Code 里的表现
  • 想降低模型调用成本
  • 想把 Claude Code 接到 OpenRouter
  • 想接入 DeepSeek 等兼容模型服务
  • 想用 Ollama、LM Studio、llama.cpp 跑本地模型
  • 想为团队统一配置一个模型代理入口

如果你只是正常使用官方 Claude Code,并且对模型提供方、成本和本地部署没有特殊需求,那不一定需要这类代理。

但如果你经常比较模型,或者希望让 Claude Code 接入本地和第三方模型,这类工具会很有用。

和直接用 OpenRouter 或 Ollama 有什么区别

直接用 OpenRouter、Ollama 或 LM Studio,通常只是和模型聊天,或者通过 API 调用模型。

free-claude-code 的重点不是替代这些服务,而是把它们接到 Claude Code 这个开发工作流里。

区别在于:

  • 你仍然使用 Claude Code 的终端体验
  • AI 可以围绕代码仓库执行任务
  • 模型后端可以换成其他 provider
  • 本地模型也有机会进入 Claude Code 工作流
  • 配置集中在代理层,而不是每个工具单独改

所以它更像桥接器,而不是新的聊天客户端。

本地模型要注意什么

把 Claude Code 接到本地模型很有吸引力,但也要注意现实限制。

第一,模型能力差距。

Claude Code 的任务通常不只是聊天,还包括理解代码、规划修改、编辑文件、处理命令输出。本地小模型不一定能稳定完成这些任务。

第二,上下文窗口。

代码任务很吃上下文。模型上下文太小,会导致它读不全文件、漏掉约束,或者在多轮任务里丢失背景。

第三,tool use 兼容性。

Claude Code 工作流依赖工具调用和结构化行为。后端模型即使能聊天,也未必擅长遵循工具调用协议。

第四,速度和硬件。

本地模型的速度取决于机器配置、量化方式和模型大小。代码任务如果响应太慢,体验会明显下降。

所以,本地模型更适合实验、低风险任务和特定场景。真正复杂的代码任务,仍然要根据模型能力谨慎选择。

使用边界

这类项目很容易被标题误解,所以边界要说清楚。

第一,它不是官方 Claude Code 免费额度。

它只是把 Claude Code 的请求转发到其他模型后端。你使用 OpenRouter、DeepSeek、NVIDIA NIM 或其他 API 时,仍然需要遵守对应服务的价格、额度和使用条款。

第二,它不是绕过授权的工具。

使用任何代理工具时,都应该遵守 Claude Code、模型服务商和项目本身的许可协议。不要把它理解成规避官方限制的方式。

第三,代理会处理你的请求内容。

代码、命令输出、项目上下文可能会经过代理和后端服务。部署时要考虑日志、密钥、网络和隐私边界。涉及公司代码或敏感项目时,最好使用受控环境。

第四,不同模型表现差异会很大。

同样的 Claude Code 操作,换一个模型后可能出现完全不同的行为。不要默认所有模型都能替代 Claude。

和 LiteLLM 这类代理有什么关系

从思路上看,free-claude-code 属于“兼容接口代理”这一类工具。

这类工具的共同目标是减少上层应用和底层模型服务之间的耦合。上层应用只需要面对一个相对统一的接口,底层 provider 可以按配置切换。

不同项目的侧重点不同。有的更偏通用模型网关,有的更偏 OpenAI-compatible API,有的专门为 Claude Code 这类工具做适配。

free-claude-code 值得关注的地方,是它把目标场景直接放在 Claude Code 上,而不是做一个泛泛的聊天代理。

适合怎样的用户

它更适合有一定折腾能力的用户:

  • 熟悉 Claude Code
  • 知道 API key 和模型 provider 怎么配置
  • 能理解代理服务的启动和环境变量
  • 能排查网络、端口、模型名称和 streaming 问题
  • 愿意比较不同模型在代码任务里的表现

如果你只想开箱即用,官方配置通常更省心。

如果你愿意搭代理、换模型、调参数,并且想让 Claude Code 进入更多模型环境,这个项目就值得研究。

参考

最后一句

free-claude-code 的价值,不在于“免费”这个词,而在于它把 Claude Code 和更多模型后端之间接了一座桥。

当你想保留 Claude Code 的开发体验,同时测试 OpenRouter、DeepSeek、本地模型或企业推理服务时,这类 Anthropic-compatible proxy 就有了用武之地。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计