Qualquer LLM em Claude O Code é uma ferramenta de proxy de código aberto hospedada no GitHub, desenvolvida por chachako e bifurcada do CogAgent/claude-code-proxy. Código Claude O LiteLLM pode usar qualquer modelo de linguagem suportado pelo LiteLLM (por exemplo, modelos do OpenAI, Vertex AI, xAI) sem uma assinatura Pro. Com a configuração simples de variáveis de ambiente, os usuários podem atribuir modelos diferentes a tarefas complexas (soneto) e tarefas auxiliares (haicai) para otimizar o desempenho e o custo. O projeto é baseado em Python e LiteLLM, usa uv para gerenciar dependências e é fácil de instalar para desenvolvedores de IA, usuários do Claude Code e entusiastas de código aberto. A documentação é clara, a comunidade é ativa e há guias detalhados de configuração e depuração disponíveis.
Lista de funções
- Suporte para o uso de qualquer modelo de linguagem compatível com o LiteLLM (por exemplo, OpenAI, Vertex AI, xAI) no Claude Code.
- Fornece configurações de roteamento independentes para modelos grandes (sonnet) e pequenos (haiku) para otimizar a alocação de tarefas.
- Oferece suporte a chaves e pontos de extremidade de API personalizados e é compatível com vários provedores de modelos.
- Use o LiteLLM para transformar automaticamente as solicitações e respostas da API para garantir que elas sejam compatíveis com o Antrópica Compatível com o formato API.
- As ferramentas de UV integradas automatizam o gerenciamento das dependências do projeto e simplificam o processo de implementação.
- Fornece funções de registro detalhadas para registrar o conteúdo das solicitações e respostas para facilitar a depuração e a análise imediata de engenharia.
- Oferece suporte a servidores de modelos locais e permite a configuração de pontos de extremidade de API personalizados.
- Projeto de código aberto que permite que os usuários modifiquem o código ou contribuam com a funcionalidade.
Usando a Ajuda
Processo de instalação
As etapas de instalação e configuração a seguir são necessárias para usar o Any LLM no Claude Code, com base na documentação oficial para garantir clareza e operacionalidade:
- projeto de clonagem
Execute o seguinte comando no terminal para clonar o projeto localmente:git clone https://github.com/chachako/freecc.git cd freecc
2. **安装 uv 工具**
项目使用 uv 管理 Python 依赖。若未安装 uv,运行以下命令:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
O uv será baseado no pyproject.toml
Instala automaticamente as dependências sem a necessidade de fazer isso manualmente.
3. Configuração de variáveis de ambiente
Adoção de projetos .env
para configurar o roteamento do modelo e as chaves de API. Copie o arquivo de exemplo:
cp .env.example .env
Use um editor de texto (por exemplo, nano) para abrir o arquivo .env
Configure as seguintes variáveis:
- Configuração de roteamento de modelos::
BIG_MODEL_PROVIDER
Grandes fornecedores de modelos (por exemploopenai
evertex
exai
).BIG_MODEL_NAME
Nome do modelo grande (por exemplogpt-4.1
egemini-1.5-pro
).BIG_MODEL_API_KEY
Chave de API para o modelo grande.BIG_MODEL_API_BASE
(opcional) Endpoints de API personalizados para modelos grandes.SMALL_MODEL_PROVIDER
: Fornecedor de miniaturas.SMALL_MODEL_NAME
Nome da miniatura: O nome da miniatura (por exemplogpt-4o-mini
).SMALL_MODEL_API_KEY
Chave de API para miniaturas.SMALL_MODEL_API_BASE
(Opcional) Endpoints de API personalizados para modelos pequenos.
- Configuração do provedor global(como backup ou solicitação direta):
OPENAI_API_KEY
eXAI_API_KEY
eGEMINI_API_KEY
eANTHROPIC_API_KEY
: chave de API para cada provedor.OPENAI_API_BASE
eXAI_API_BASE
etc.: pontos de extremidade de API personalizados.
- Configurações específicas do Vertex AI::
VERTEX_PROJECT_ID
ID do projeto Google Cloud.VERTEX_LOCATION
Regiões de IA de vértice (por exemplous-central1
).- Configure as credenciais padrão do Google Apps (ADC):
gcloud auth application-default login
ou definir uma variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
Aponte para o arquivo de credenciais.
- Configuração de registro::
FILE_LOG_LEVEL
Arquivos de registro (claude-proxy.log
) nível (padrão)DEBUG
).CONSOLE_LOG_LEVEL
Nível de registro do console (padrão)INFO
).LOG_REQUEST_BODY
: Definido comotrue
Registre o conteúdo da solicitação para facilitar a análise do projeto de solicitação.LOG_RESPONSE_BODY
: Definido comotrue
Registre o conteúdo da resposta do modelo.
exemplo típico .env
Configuração:
BIG_MODEL_PROVIDER="vertex"
BIG_MODEL_NAME="gemini-1.5-pro-preview-0514"
BIG_MODEL_API_KEY="your-vertex-key"
VERTEX_PROJECT_ID="your-gcp-project-id"
VERTEX_LOCATION="us-central1"
SMALL_MODEL_PROVIDER="openai"
SMALL_MODEL_NAME="gpt-4o-mini"
SMALL_MODEL_API_KEY="sk-xxx"
SMALL_MODEL_API_BASE="https://xyz.llm.com/v1"
FILE_LOG_LEVEL="DEBUG"
LOG_REQUEST_BODY="true"
- Servidor de operações
Quando a configuração estiver concluída, inicie o servidor proxy:uv run uvicorn server:app --host 127.0.0.1 --port 8082 --reload
parâmetros
--reload
Opcional, para recarga automática durante o desenvolvimento. - Código da cláusula de conexão
Instale o Claude Code (se ainda não estiver instalado):npm install -g @anthropic-ai/claude-code
Configuração de variáveis de ambiente e conexão com o agente:
export ANTHROPIC_BASE_URL=http://localhost:8082 && claude
Operação da função
O núcleo do Any LLM in Claude Code é rotear as solicitações do Claude Code para modelos configurados pelo usuário por meio de um proxy. Veja abaixo uma descrição detalhada de como isso funciona:
- Roteamento de modelos
O projeto apóia o projeto Claude Code'ssonnet
(tarefas principais, como a geração de códigos complexos) ehaiku
(tarefas auxiliares, como verificação gramatical rápida) configuram modelos diferentes. Por exemplo:- configurar
BIG_MODEL_PROVIDER="vertex"
responder cantandoBIG_MODEL_NAME="gemini-1.5-pro"
vontadesonnet
Roteamento para modelos de alto desempenho. - configurar
SMALL_MODEL_PROVIDER="openai"
responder cantandoSMALL_MODEL_NAME="gpt-4o-mini"
vontadehaiku
Roteie para modelos leves para reduzir custos.
Os usuários podem acessar o.env
Troca flexível de modelos e fornecedores de documentos.
- configurar
- Conversão de solicitação de API
O projeto implementa a conversão do formato da API por meio do LiteLLM com o seguinte fluxo:- O Claude Code envia solicitações no formato Anthropic (por exemplo, chamadas para o
claude-3-sonnet-20240229
). - Agente baseado em
.env
que converte a solicitação para o formato do modelo de destino (por exemplo, OpenAI'sgpt-4.1
). - Injete a chave de API configurada e o ponto de extremidade para enviar a solicitação.
- Converte a resposta do modelo de volta ao formato Anthropic e a retorna ao Claude Code.
Não há necessidade de intervenção manual por parte do usuário e o processo de conversão é totalmente automatizado.
- O Claude Code envia solicitações no formato Anthropic (por exemplo, chamadas para o
- Registro e depuração
O projeto fornece uma função de registro detalhada:- configurar
LOG_REQUEST_BODY="true"
O conteúdo da solicitação do Claude Code é registrado para facilitar a análise do projeto de solicitação. - configurar
LOG_RESPONSE_BODY="true"
Registre a resposta do modelo e verifique se a saída está correta. - Os registros são salvos na pasta
claude-proxy.log
porFILE_LOG_LEVEL
responder cantandoCONSOLE_LOG_LEVEL
Nível de registro de controle.
Se houver problemas, verifique os registros ou verifique.env
A chave e os pontos de extremidade no
- configurar
- Suporte ao modelo local
Suporte para servidores de modelos locais. Por exemplo, configure oSMALL_MODEL_API_BASE="http://localhost:8000/v1"
Ele pode ser colocado nohaiku
Roteamento para modelos locais (por exemplo, LM Studio). Os modelos locais não exigem chaves de API e são adequados para cenários sensíveis à privacidade.
advertência
- Verifique se a conexão de rede está estável e se a chave de API é válida.
- Os usuários do Vertex AI precisam ser configurados adequadamente
VERTEX_PROJECT_ID
eVERTEX_LOCATION
e ADCs. - Visite a página do projeto no GitHub (https://github.com/chachako/freecc) regularmente para obter atualizações ou suporte da comunidade.
- Os registros podem conter informações confidenciais, por isso é recomendável desativá-los após a depuração.
LOG_REQUEST_BODY
responder cantandoLOG_RESPONSE_BODY
.
cenário do aplicativo
- Aprimorando a flexibilidade do código Claude
Os usuários não precisam de uma assinatura do Claude Pro para usar modelos de alto desempenho, como o Gêmeos 1.5 Pro) ou modelos de baixo custo (por exemplo, gpt-4o-mini) que estendem a janela de contexto ou reduzem os custos. - Comparação de desempenho de modelos
Os desenvolvedores podem alternar rapidamente entre os modelos (por exemplo, OpenAI, Vertex AI) por meio do agente, testar o desempenho de diferentes modelos no Claude Code e otimizar o processo de desenvolvimento. - Implementação de modelo local
As empresas ou os pesquisadores podem configurar servidores de modelos locais para proteger a privacidade dos dados, adequados para cenários de aplicativos de IA localizados. - Envolvimento da comunidade de código aberto
Como um projeto de código aberto, os desenvolvedores podem enviar códigos via GitHub para otimizar a funcionalidade ou corrigir problemas, adequado para iniciantes que estão aprendendo Python e desenvolvimento de IA.
QA
- Quais modelos são compatíveis com o Any LLM in Claude Code?
Suporte a todos os modelos compatíveis com LiteLLM, incluindo OpenAI, Vertex AI, xAI, Anthropic, etc., por meio do.env
Modelos e provedores de configuração. - Como faço para lidar com erros de configuração?
confiraclaude-proxy.log
verifique as chaves de API, os pontos de extremidade e os nomes dos modelos. Certifique-se de que oFILE_LOG_LEVEL="DEBUG"
Obtenha registros detalhados. - Precisa de uma assinatura do Claude Pro?
Não é obrigatório. O projeto permite que usuários gratuitos usem outros modelos por proxy, ignorando as restrições de assinatura. - Ele pode ser implementado em um servidor remoto?
Pode. Vontade--host
definido como0.0.0.0
Certifique-se de que a porta (por exemplo8082
) Aberto. - Como faço para contribuir com o código?
Visite https://github.com/chachako/freecc para enviar um Pull Request. É recomendável ler as diretrizes de contribuição primeiro.