Proxy inteligente para usar Claude Code com modelos gratuitos via OpenCode
Uma arquitetura híbrida em duas camadas que dá a você controle total sobre o pipeline de IA — sem depender de chaves de API pagas.
- Visão Geral
- Arquitetura
- Comparativo com Alternativas
- Pré-requisitos
- Instalação Rápida
- Uso
- Modelos Disponíveis
- Estrutura do Projeto
- Funcionalidades Detalhadas
- Roadmap
- Contribuição
- Licença
O OpenCode-Bypass resolve um problema simples: usar o Claude Code (que nativamente só fala com a API Anthropic) com modelos gratuitos do OpenCode sem precisar de chaves de API.
Enquanto outras soluções como 9Router e OmniRouter oferecem apenas uma camada de roteamento, este projeto implementa uma arquitetura em duas camadas que separa o roteamento (tradução de protocolo) do controle (personalização, logging, segurança).
| Você quer... | OpenCode-Bypass entrega... |
|---|---|
| Usar Claude Code sem pagar | ✅ Proxy gratuito para OpenCode |
| Controlar o pipeline de requisições | ✅ Micro-proxy 100% customizável |
| Logs detalhados de cada chamada | ✅ Logging estruturado em arquivo |
| Setup em segundos | ✅ Script automático idempotente |
| Múltiplos modelos free | ✅ Pré-configurado para 3+ modelos |
┌─────────────────────────────────────────────────────────────────┐
│ SEU COMPUTADOR │
│ │
│ ┌────────────┐ ┌──────────────────┐ ┌──────────────┐ │
│ │ │ │ │ │ │ │
│ │ Claude │────▶│ Micro Proxy │────▶│ OmniRouter │ │
│ │ Code (CLI) │ │ (Porta 20129) │ │ (Porta 20128)│ │
│ │ │◀────│ │◀────│ │ │
│ └────────────┘ └──────────────────┘ └──────┬───────┘ │
│ Formato Tradução │ │
│ Anthropic básica + logs │ │
│ │ │
│ ┌──────────▼────────┐ │
│ │ │ │
│ │ OpenCode API │ │
│ │ (Modelos Free) │ │
│ │ │ │
│ └───────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
A separação não é redundância — é responsabilidade única:
| Camada | O que faz | Por que separar |
|---|---|---|
| Proxy (porta 20129) | Intercepta, loga, mapeia modelos, controla acesso | Você controla — pode modificar, expandir, personalizar |
| Router (porta 20128) | OmniRouter: tradução completa Anthropic ↔ OpenAI, ferramentas, streaming | OmniRouter faz isso melhor que qualquer rewrite caseiro |
🔍 Análise completa: Veja o comparativo detalhado entre 9Router, OmniRouter e esta solução.
| Característica | 9Router | OmniRouter | OpenCode-Bypass 🏆 |
|---|---|---|---|
| Tradução Anthropic → OpenAI | ✅ Completa | ✅ Completa | |
| Streaming (SSE) | ✅ Robusto | ✅ Robusto | |
| Tool Calls | ✅ Completo | ✅ Completo | |
| Proxy Customizável | ❌ | ❌ | ✅ 100% customizável |
| Logging Estruturado | ❌ | ✅ Detalhado em arquivo | |
| Setup Automático | ❌ | ❌ | ✅ 1 comando |
| Scripts Start/Stop | ❌ | Manual | ✅ iniciar.sh / parar.sh |
| Mapeamento de Modelos | ❌ | ❌ | ✅ Flexível |
| Dashboard Web | ❌ | ✅ | ✅ (via OmniRouter) |
| Configuração Idempotente | ❌ | ❌ | ✅ |
| Modelos Free Pré-configurados | ❌ | ❌ | ✅ |
📖 Leia o guia do agente para diretrizes de desenvolvimento.
- Sistema operacional: Linux (Ubuntu e derivados, Fedora e derivados, Arch; testado no Fedora Kinoite/COSMIC), Windows 11 nativo, WSL 1/2 ou macOS
- Ubuntu e derivados: Ubuntu, Debian, Linux Mint, Pop!_OS, Zorin OS, Kubuntu, Xubuntu, etc. (gerenciador
apt) - Fedora e derivados: Fedora, Nobara, Ultramarine, Rocky Linux, AlmaLinux, etc. (gerenciador
dnf/rpm-ostree) - Windows 11 nativo: usa PowerShell +
winget/choco(scripts.batcriados automaticamente) - WSL 1/2: distribuição Linux (geralmente Ubuntu) com integração nativa
- Ubuntu e derivados: Ubuntu, Debian, Linux Mint, Pop!_OS, Zorin OS, Kubuntu, Xubuntu, etc. (gerenciador
- curl e lsof (instalados na maioria dos sistemas)
- Git (opcional, para clonar)
⚡ O Bun e o OmniRouter são instalados automaticamente pelo script de setup.
# Clone o repositório
git clone https://github.com/RafaelBatistaDev/OpenCode-Bypass-Free-Claude-Code-By-Skill-Fable-5.git
cd OpenCode-Bypass-Free-Claude-Code-By-Skill-Fable-5
# Setup completo (instala Bun, OmniRouter, configura tudo)
python3 setup_opencode.py✨ Idempotente: Pode rodar várias vezes — passos já concluídos são pulados automaticamente.
# 1. Entre no diretório do proxy
cd Proxy
# 2. Inicie o proxy (inicia OmniRouter + micro-proxy)
./iniciar.sh
# 3. Configure as variáveis de ambiente
export ANTHROPIC_BASE_URL=http://localhost:20129
export ANTHROPIC_API_KEY=dummy
export CLAUDE_CODE_MODEL=oc/deepseek-v4-flash-freecd Proxy && ./iniciar.shexport ANTHROPIC_BASE_URL=http://localhost:20129
export ANTHROPIC_API_KEY=dummy
export CLAUDE_CODE_MODEL=oc/deepseek-v4-flash-free
claude💡 Para persistir as configurações, edite
~/.config/secrets.envcom os valores acima.
cd Proxy && ./parar.shtail -f Proxy/proxy.logAcesse http://localhost:20128 no navegador.
| Modelo | Identificador | Tipo |
|---|---|---|
| DeepSeek V4 Flash Free | oc/deepseek-v4-flash-free |
🆓 Gratuito (padrão) |
| Ling 3.0 Flash Free | oc/ling-3.0-flash-free |
🆓 Gratuito |
| North Mini Code Free | oc/north-mini-code-free |
🆓 Gratuito |
| Outros via OmniRouter | oc/<modelo> |
✅ Disponível |
Para usar um modelo diferente:
export CLAUDE_CODE_MODEL=oc/ling-3.0-flash-free
claudeOpenCode-Bypass/
│
├── Proxy/ # 🖥️ Camada de proxy
│ ├── micro_proxy_opencode.js # Micro-proxy em Bun (porta 20129)
│ ├── iniciar.sh # Script para iniciar serviços
│ └── parar.sh # Script para parar serviços
│
├── scripts/ # ⚙️ Scripts auxiliares
│ ├── apply-claude-config.sh # Aplica config no ~/.claude.json
│ └── apply-secrets-config.sh # Aplica config no secrets.env
│
├── docs/ # 📚 Documentação
│ ├── quickstart.md # Guia rápido de início
│ ├── comparative-analysis.md # Análise: 9Router vs OmniRouter vs Bypass
│ └── agent-guide.md # Diretrizes para agentes de código
│
├── setup_opencode.py # 🚀 Setup automático (1 comando)
├── LICENSE # 📄 Licença MIT
├── README.md # Este arquivo
└── .gitignore # Arquivos ignorados pelo Git
O coração do projeto. Um servidor HTTP em Bun que:
- ✨ Traduz formato Anthropic → OpenAI
- 📝 Loga cada requisição com modelo, tamanho e status
- 🔄 Mapeia modelos automaticamente (deepseek → oc/deepseek, etc.)
- 🧠 Serializa conteúdo complexo (tool_calls, tool_results, reasoning)
- 🚦 Gerencia erros com respostas padronizadas
Script Python que:
- ✅ Instala Bun (runtime JS) se ausente
- ✅ Instala OmniRouter via Bun se ausente
- ✅ Prepara scripts do proxy (permite execução)
- ✅ Cria secrets.env template
- ✅ Aplica configurações do Claude
- ✅ Verifica tudo no final com relatório detalhado
- 🔄 Marcadores: cada passo concluído é registrado em
~/.local/share/setup-opencode-markers/
| Script | Função |
|---|---|
iniciar.sh |
Inicia OmniRouter + micro-proxy com verificação de saúde |
parar.sh |
Para o micro-proxy e opcionalmente o OmniRouter |
Os scripts em scripts/ configuram automaticamente:
~/.claude.json: Adiciona API key dummy e modelos free~/.config/secrets.env: Configura variáveis de ambiente
- Cache inteligente: Cachear respostas idênticas
- Modo streaming: Suporte completo a SSE no proxy
- Rate limiting: Controle de requisições por período
- Fallback automático: Tentar próximo modelo se o atual falhar
- Balanceamento de carga: Distribuir entre múltiplos providers
- Plugins: Middleware pluginável para transformar payloads
- CLI interativa: Comando
opencode-bypasscom subcomandos - Multi-tenant: Diferentes usuários com diferentes configurações
- Estatísticas de uso: Dashboard com métricas de tokens e latência
Contribuições são muito bem-vindas!
- Faça um fork do projeto
- Crie uma branch (
git checkout -b feature/nova-feature) - Faça commit das mudanças (
git commit -m 'Adiciona nova feature') - Faça push (
git push origin feature/nova-feature) - Abra um Pull Request
- Mantenha o código compatível com Bun (Node.js não é necessário)
- Siga o estilo existente (ESM, JSDoc)
- Teste com
./iniciar.shantes de abrir PR - Consulte o guia do agente para diretrizes detalhadas
Distribuído sob licença MIT. Veja LICENSE para mais informações.
Feito com ☕ e 🐍 por Rafael Batista