claude-worker-proxy
é um serviço de proxy implantado no Cloudflare Workers. Sua principal funcionalidade é converter o formato de solicitação de várias APIs de grandes modelos, como o Google Gemini e o OpenAI, no formato do Anthropic Claude. Isso permite que aplicativos clientes que originalmente precisavam adaptar o formato da API do Claude, como o Claude Code, solicitem diretamente modelos do Gemini ou do OpenAI, reduzindo assim os custos de desenvolvimento e manutenção. O projeto é compatível com respostas de streaming e não streaming, chamadas de ferramentas e pode ser implantado com um único clique.
Lista de funções
- Conversão de formato de APIConversão perfeita de formatos de solicitação e resposta de API para modelos como Gemini e OpenAI para o formato da API Claude.
- Compatível com o Claude EcologyAPI Claude: permite que clientes projetados para a API Claude (por exemplo, Claude Code) usem diretamente os modelos de IA de outros fornecedores.
- Implementação em um cliqueOs usuários podem implementar rapidamente por meio da plataforma Cloudflare Workers sem configurações complexas de servidor.
- Suporte à resposta de streamingCompatível com modos de resposta de API de streaming que exigem que os dados sejam retornados em tempo real.
- Suporte para chamadas de ferramentasSuporte para modelos de IA para interagir com ferramentas ou funções externas.
- Inicialização com configuração zero:: O projeto foi desenvolvido para ser simples e estar pronto para ser usado pelos usuários logo após a implantação, sem necessidade de configuração adicional.
Usando a Ajuda
Implantação e usoclaude-worker-proxy
É muito simples e depende muito da plataforma Cloudflare Workers e do gerenciador de pacotes npm.
Pré-instalação
- Uma conta na Cloudflare: Você precisa se registrar e fazer login na Cloudflare.
- Node.js e npmVerifique se você tem o Node.js e o npm instalados em seu ambiente de desenvolvimento.
- CLI do WranglerWrangler: Wrangler é a ferramenta oficial de linha de comando da Cloudflare para gerenciar projetos Workers. Ela pode ser instalada globalmente via npm, se ainda não estiver instalada:
npm install -g wrangler@latest
Processo de implantação
- Clonagem do código do projeto
Primeiro, clone o código-fonte do projeto localmente a partir do GitHub.git clone https://github.com/glidea/claude-worker-proxy
- Vá para o diretório do projeto e instale as dependências
cd claude-worker-proxy npm install
- Fazer login no Wrangler
Execute o comando de login e ele abrirá uma janela do navegador para que você autorize o acesso à sua conta da Cloudflare.wrangler login
- Execute o comando de implantação
No diretório raiz do projeto, execute o script de implantação. Esse script empacotará o código e o implantará em um novo serviço Worker em sua conta do Cloudflare.npm run deploycf
Após uma implantação bem-sucedida, a linha de comando gera um
.workers.dev
O URL com o sufixo, que é onde o serviço de proxy será acessado.
Como usar
Após a implantação bem-sucedida, você pode usar esse proxy enviando uma solicitação HTTP POST para o URL do seu Worker. Há requisitos específicos para o formato do URL e o cabeçalho da solicitação.
Formato do URL
A estrutura de URL da solicitação é a seguinte:
{你的Worker URL}/{目标模型类型}/{目标API基础地址}/v1/messages
{你的Worker URL}
Endereço obtido após a implantação bem-sucedida, por exemplo.https://claude-worker-proxy.xxxx.workers.dev
.{目标模型类型}
:: Atualmente suportadogemini
responder cantandoopenai
.{目标API基础地址}
:: o endereço oficial da base da API do fornecedor de destino.Necessidade de informar o número da versão da API. Por exemplo, o endereço da Gemini éhttps://generativelanguage.googleapis.com/v1beta
.
Cabeçalho da solicitação
A solicitação deve incluir um cabeçalho de solicitação específico para passar a chave de API do fornecedor de destino:
x-api-key
O valor : é a chave da API do fornecedor de destino (por exemplo, a chave da API do Gemini).
Exemplo de solicitação: solicitando o Gemini usando curl
O exemplo a seguir mostra como enviar uma solicitação a um modelo do Google Gemini por meio de um proxy, no formato do Claude:
curl -X POST https://claude-worker-proxy.xxxx.workers.dev/gemini/https://generativelanguage.googleapis.com/v1beta/v1/messages \
-H "x-api-key: YOUR_GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-1.5-flash",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
favor incluirhttps://claude-worker-proxy.xxxx.workers.dev
Substitua-o por seu endereço real do Worker e oYOUR_GEMINI_API_KEY
Substitua-o por sua chave de API Gemini válida.
Uso no código Claude
Para os usuários do Claude Code, as solicitações de API podem ser direcionadas a esse serviço de proxy modificando seu arquivo de configuração.
- Editar arquivo de configuração
~/.claude/settings.json
. - Modifique as variáveis de ambiente nele, conforme mostrado no exemplo abaixo:
{ "env": { "ANTHROPIC_BASE_URL": "https://claude-worker-proxy.xxxx.workers.dev/gemini/https://generativelanguage.googleapis.com/v1beta", "ANTHROPIC_CUSTOM_HEADERS": "x-api-key: YOUR_GEMINI_API_KEY", "ANTHROPIC_MODEL": "gemini-1.5-pro", "ANTHROPIC_SMALL_FAST_MODEL": "gemini-1.5-flash", "API_TIMEOUT_MS": "600000" } }
ANTHROPIC_BASE_URL
URL do proxy: defina-o com o URL do proxy e acrescente o tipo de modelo de destino e o endereço da API.ANTHROPIC_CUSTOM_HEADERS
: Definir a chave da API.ANTHROPIC_MODEL
Especifique o modelo grande que você deseja usar.ANTHROPIC_SMALL_FAST_MODEL
Especifique as miniaturas que você deseja usar.
- Depois de salvar o arquivo de configuração, execute-o diretamente no terminal
claude
para usar o modelo configurado por meio do proxy.
cenário do aplicativo
- Interface de desenvolvimento unificada
Para aplicativos que adaptaram a API do Claude, os desenvolvedores não precisam reescrever a lógica de solicitação da API para modelos diferentes, como Gemini ou OpenAI. Basta apontar as solicitações para esse proxy para alternar e usar rapidamente modelos de diferentes fornecedores. - Uso com ferramentas específicas
Ferramentas como o Claude Code, que são projetadas nativamente para a API do Claude, podem alternar perfeitamente para outros modelos mais econômicos ou com melhor desempenho por meio desse agente, como o uso do modelo Gemini para tarefas relacionadas ao código. - Simplifique o desenvolvimento de aplicativos front-end
Esse agente Worker pode ser usado como um gateway de API de back-end unificado ao desenvolver aplicativos da Web ou de desktop. O aplicativo front-end só precisa seguir um formato de API, enquanto a camada de proxy lida com os detalhes da comunicação com diferentes provedores de serviços de IA.
QA
- Esse programa é gratuito?
O código-fonte do projeto é de código aberto e gratuito. No entanto, a implantação no Cloudflare Workers consome recursos da plataforma, e o Cloudflare tem uma cota gratuita além da qual você precisa pagar. Além disso, as APIs do modelo de destino que você chama (por exemplo, Gemini) são pagas por uso aos seus provedores (por exemplo, Google). - Por que preciso fornecer o endereço da base da API do fornecedor de destino no URL?
Esse design oferece maior flexibilidade. Ele permite que o usuário especifique dinamicamente qualquer endpoint de serviço de API compatível com os formatos OpenAI ou Gemini, em vez de codificá-lo no código. Isso significa que, se o fornecedor atualizar a versão da API no futuro ou se você usar uma API compatível de terceiros, basta alterar o URL da solicitação. - Esse proxy armazenará minha chave de API ou dados de solicitação?
De acordo com o código-fonte aberto do projeto, ele serve apenas como uma camada intermediária para encaminhamento de solicitações e conversão de formatos, e não registra nem armazena a chave de API do usuário e o conteúdo da solicitação. No entanto, quando implantado em uma plataforma de terceiros, ele ainda está sujeito às políticas de dados e privacidade dessa plataforma. - Quais são as vantagens de usar esse proxy em vez de chamar a API da Gemini ou da OpenAI diretamente?
A principal vantagem é a compatibilidade da API com os clientes Claude existentes. Se o seu aplicativo ou cadeia de ferramentas foi desenvolvido com base na API do Claude, o uso desse agente oferece a flexibilidade de substituir seus modelos de IA de back-end pelo Gemini ou OpenAI sem modificar o código do cliente.