Any LLM in Claude Code
扫码查看

在 Claude Code 中使用任意大模型的代理工具

Any LLM in Claude Code

综合介绍

Any LLM in Claude Code 是一个开源的Anthropic API代理项目(其GitHub仓库名为freecc),它允许开发者在Claude Code集成开发环境(IDE)中,无需订阅Pro版本,即可使用任何由LiteLLM框架支持的大语言模型(LLM)。该项目是CogAgent/claude-code-proxy的一个分支,其核心工作原理是作为一个中间层:首先,它接收来自Claude Code的原生API请求;接着,通过LiteLLM将请求翻译成目标模型提供商(如OpenAI, Vertex AI, 或任何本地模型服务)所需的格式;然后,代理会注入用户配置的API密钥和地址,并将请求发送出去;最后,它再将后端模型返回的响应翻译回Anthropic的格式,并回传给Claude Code。通过这个过程,用户可以灵活地将Claude Sonnet模型替换为任何更具成本效益、拥有更长上下文窗口或在特定领域表现更佳的模型。

功能列表

  • 广泛的模型兼容性: 通过集成LiteLLM,支持其兼容的所有大语言模型,包括OpenAI的GPT系列、谷歌的Gemini、各类开源模型以及本地部署的模型。
  • API代理与翻译: 作为一个代理服务器,能实时拦截Claude Code的API调用,并动态地将其在Anthropic格式与目标模型API格式之间进行双向翻译。
  • 智能模型路由: 允许用户为重量级任务(由sonnet模型处理)和轻量级辅助任务(由haiku模型处理)分别指定不同的大模型,以优化成本和响应速度。
  • 灵活的凭证配置: 支持为不同模型配置独立的API密钥和服务器地址,同时也支持全局配置,简化了多模型环境下的设置。
  • 绕过订阅限制: 让开发者无需付费订阅Claude Pro即可使用Claude Code的全部核心功能。
  • 详细的日志记录: 可配置控制台和文件的日志级别,并能选择性记录完整的请求和响应体。这对于调试或研究Claude Code背后的提示词工程非常有帮助。
  • 开源与可定制: 项目代码完全开源,方便用户根据自身需求进行修改和二次开发。

使用帮助

以下是详细的安装、配置和使用流程,旨在帮助用户快速上手该工具。

前提条件

  1. 目标模型的API密钥: 你需要准备好打算使用的那个大语言模型的API密钥(API Key)。
  2. uv包管理器: 确保你的系统上已经安装了uv。它是一个由Astral开发的、速度极快的Python包管理器。
  3. Claude Code客户端: 你需要在本地安装Claude Code的命令行工具。

第一步:安装与配置

  1. 克隆项目仓库打开终端,使用git命令将项目文件从GitHub上克隆到本地,并进入该目录。
    git clone https://github.com/chachako/freecc.git
    cd freecc
    
  2. 安装uv (如果尚未安装)如果你还没有安装uv,可以运行以下命令来一键安装。
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. 安装依赖uv会根据项目中的pyproject.toml文件自动处理依赖。你只需在启动服务器时,它便会自动完成依赖安装。
  4. 配置环境变量这是最关键的一步。首先,复制环境变量模板文件.env.example来创建你自己的配置文件.env
    cp .env.example .env
    

    然后,使用文本编辑器打开.env文件,根据你的需求配置模型。

    A. 模型映射配置 (核心)Claude Code会调用haiku(小型模型)处理后台辅助任务,调用sonnet(大型模型)处理主要任务。你可以在这里将它们映射到你指定的任意模型。

    • BIG_MODEL_PROVIDER: 大型模型的服务商 (例如 openaivertexxai)。
    • BIG_MODEL_NAME: 要使用的具体模型名称 (例如 gpt-4.1-turbo)。
    • BIG_MODEL_API_KEY: 该模型的API密钥。
    • BIG_MODEL_API_BASE: (可选) 自定义的API服务器地址。
    • SMALL_MODEL_*: 与上述对应,用于配置小型模型。

    B. 全局服务商配置 (备用)此配置用于处理直接以服务商为前缀的请求(如 openai/gpt-4o-mini),也作为模型映射中未提供特定密钥或地址时的备用选项。

    • OPENAI_API_KEYGEMINI_API_KEYXAI_API_KEY 等。
    • OPENAI_API_BASEGEMINI_API_BASEXAI_API_BASE 等。

    C. Vertex AI 特殊配置如果你使用Google的Vertex AI,需要提供项目ID和区域。

    • VERTEX_PROJECT_ID: 你的Google Cloud项目ID。
    • VERTEX_LOCATION: 你的Vertex AI资源所在的区域。
    • 同时需要通过gcloud工具设置应用默认凭证(ADC)。

    D. 日志配置

    • FILE_LOG_LEVEL: 设置日志文件 claude-proxy.log 的记录级别,默认为 DEBUG
    • CONSOLE_LOG_LEVEL: 设置控制台输出的日志级别,默认为 INFO
    • LOG_REQUEST_BODY: 设为 true 可以记录收到的完整请求体,官方强烈推荐开启此项来研究Claude Code的提示工程。
    • LOG_RESPONSE_BODY: 设为 true 可以记录后端模型返回的完整响应体。

第二步:启动服务并使用

  1. 启动代理服务器freecc项目目录下,运行以下命令启动代理服务器。服务器默认监听本地8082端口。
    uv run uvicorn server:app --host 127.0.0.1 --port 8082 --reload
    

    --reload参数是可选的,它会在代码文件变动时自动重启服务器,适合开发调试。

  2. 安装并连接Claude Code首先,如果你还未安装Claude Code,通过npm进行全局安装。
    npm install -g @anthropic-ai/claude-code
    

    然后,在启动Claude Code时,通过设置ANTHROPIC_BASE_URL环境变量,将其指向我们刚刚启动的本地代理服务器。

    export ANTHROPIC_BASE_URL=http://localhost:8082 && claude
    
  3. 开始使用现在,你在Claude Code中的所有操作都将由你配置的自定义大模型来处理了。

应用场景

  1. 降低开发成本对于独立开发者或小型团队而言,可以直接使用性能优异且成本较低的开源模型(如DeepSeek Coder)或按量计费的商业模型,来驱动Claude Code完成日常的编码任务,从而避免支付Claude Pro的月度订阅费用。
  2. 特定领域的代码生成如果某个特定的AI模型在特定领域(如数据科学、游戏开发、Web前端)经过专门优化,表现优于Claude官方模型,开发者可以通过这个代理将该模型接入Claude Code,从而在熟悉的开发环境中获得更专业的代码支持。
  3. 企业内部模型集成企业可以将在内部服务器上部署的私有大语言模型通过此工具集成到Claude Code中。这既能利用Claude Code优秀的前端交互和工作流,又能确保代码和数据的私密性,所有API请求都在企业内网中流转。
  4. 模型能力测试与评估AI研究者或模型开发者可以利用该项目快速地将不同的模型接入同一个IDE(Claude Code),在真实且统一的编码场景下对不同模型的代码理解、生成和智能体能力进行横向对比和评估。

QA

  1. 这个工具是免费的吗?该项目(仓库名为freecc)本身是开源的,可以免费使用。但你需要为你所选择的后端大语言模型服务付费(如果该模型是收费的话),例如,你需要支付调用OpenAI或Google Gemini API所产生的费用。
  2. 为什么我使用某些模型时,Claude Code的部分功能无法使用?这很可能是因为你配置的后端模型不支持“工具调用”(Function Calling)功能。Claude Code的许多高级功能(如读取文件、执行终端命令等)都依赖于模型的此项能力。如果模型不支持,它会降级为一个基本的聊天和代码补全工具。
  3. 如何查看Claude Code到底向模型发送了什么请求?在你的.env配置文件中,将LOG_REQUEST_BODY设置为true。这样,代理服务器就会在控制台或日志文件中打印出完整的请求内容,非常便于了解和学习Claude Code的提示词设计。
  4. 我可以将大型任务和小型任务的模型设置为同一个吗?可以。你可以在.env文件中将BIG_MODEL_*SMALL_MODEL_*的配置设置为完全相同。但为了优化成本和响应速度,官方推荐为SMALL_MODEL(对应haiku)配置一个更小、更快的模型。
微信微博Email复制链接