claude-connect
v0.1.13
Published
CLI para configurar Claude Code con proveedores de modelos externos
Maintainers
Readme
Claude Connect
Conecta
Claude CodeconOpenCode Go,Zen,Kimi,DeepSeek,Z.AI,Kilo Code Models,Ollama,Ollama Cloud Models,NVIDIA NIM,OpenAI,Google Gemini,Cloudflare Workers AI,Inception Labs,OpenRouter,Seto KaibayQwendesde una interfaz de consola clara, rápida y reversible.
Why Claude Connect
Claude Connect te permite cambiar Claude Code hacia otros proveedores sin editar archivos a mano, sin perder tu configuración original y sin convertir tu terminal en un caos de variables de entorno.
Highlights
OpenCode Go,Zen,Kimi,DeepSeek,Z.AI,Kilo Code Models,Ollama,Ollama Cloud Models,NVIDIA NIM,OpenAI,Google Gemini,Cloudflare Workers AI,Inception Labs,OpenRouter,Seto KaibayQwenlistos desde el primer arranque- soporte para
TokenyOAuthcuando el proveedor lo permite - API keys compartidas por proveedor para no repetir el mismo token en cada modelo
- activación reversible sobre la instalación real de
Claude Code - limpieza automática del conflicto entre
claude.aiyANTHROPIC_API_KEY - gateway local Anthropic-compatible para
Qwen - detección automática de rutas en Linux y Windows
- catálogo local generado desde seeds, sin dependencias nativas
- interfaz de consola con navegación simple y profesional
- listas largas paginadas de
5 en 5para que la UI no se rompa con catálogos grandes
Package
- npm: https://www.npmjs.com/package/claude-connect
- repo: https://github.com/wmcarlosv/claude-connect
Install
Instalación global:
npm install -g claude-connect
claude-connectInstalación simple en proyecto:
npm i claude-connectEjecución con npx:
npx claude-connectDesarrollo local:
npm startRequisito:
Node.js 18o superior
Quick Flow
Nueva conexion
-> proveedor
-> modelo
-> OAuth o Token
-> guardar API key una vez por proveedor si aplica
-> guardar perfil
-> Activar en Claude
-> usar claudeAl activar:
OpenCode Gousa conexión directa o gateway según el modelo elegidoZenusa conexión directa o gateway según el modelo elegidoKimiusa gateway local y reenvia al endpoint Anthropic dehttps://api.kimi.com/coding/DeepSeekapunta ahttps://api.deepseek.com/anthropicZ.AIapunta ahttps://api.z.ai/api/anthropicKilo Code Modelsconsultahttps://api.kilo.ai/api/gateway/models, lista modelos gratis y pagos, y usahttps://api.kilo.ai/api/gateway/chat/completionsOllamapide una URL local o remota, valida/api/tagsy usa el gateway local sobre.../api/chatOllama Cloud Modelsconsultahttps://ollama.com/api/tagsconOLLAMA_API_KEY, usa los modelos que realmente devuelve tu cuenta y trabaja sobrehttps://ollama.com/api/chatNVIDIA NIMconsultahttps://integrate.api.nvidia.com/v1/models, filtra modelos de coding o marcados comoDownloadabley usahttps://integrate.api.nvidia.com/v1/chat/completionsOpenAIusa el gateway local sobrehttps://api.openai.com/v1/chat/completionsGoogle Geminiusa el gateway local sobrehttps://generativelanguage.googleapis.com/v1beta/openai/chat/completionsCloudflare Workers AIpideAccount ID, consultahttps://api.cloudflare.com/client/v4/accounts/{account_id}/ai/models/search, lista modelosText Generationy usahttps://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1/chat/completionsInception Labsusa el gateway local sobrehttps://api.inceptionlabs.ai/v1/chat/completionsOpenRouterusaopenrouter/freey modelos:freedescubiertos desdehttps://openrouter.ai/api/v1/modelsSeto Kaibausa el gateway local como router virtual y rota entre conexiones gratuitas ya configuradas cuando encuentra cuota o rate limitQwenapunta al gateway localhttp://127.0.0.1:4310/anthropic- para algunos modelos con limites conocidos, el gateway ahora ajusta
max_tokensy bloquea prompts sobredimensionados antes de que el upstream devuelva errores opacos - para
Inception Labs, el gateway tambien respeta un presupuesto local de input tokens por minuto para reducir errores deRate limit reached
Providers
| Proveedor | Modelos | Auth | Integración |
| --- | --- | --- | --- |
| OpenCode Go | glm-5, kimi-k2.5, minimax-m2.7, minimax-m2.5 | Token | Mixta |
| Zen | Claude* de Zen + modelos chat/completions de Zen | Token | Mixta |
| Kimi | kimi-for-coding | Token | Gateway local |
| DeepSeek | deepseek-chat, deepseek-reasoner | Token | Directa |
| Z.AI | glm-5.1, glm-4.7, glm-4.5-air | Token | Directa |
| Kilo Code Models | modelos gratis y pagos descubiertos desde /models | Gratis sin token, Token | Gateway local |
| Ollama | modelos descubiertos desde tu servidor | Servidor Ollama | Gateway local |
| Ollama Cloud Models | modelos cloud descubiertos desde ollama.com/api/tags | Token | Gateway local |
| NVIDIA NIM | modelos de coding y Downloadable descubiertos desde /models | Token | Gateway local |
| OpenAI | gpt-5.4, gpt-5.4-mini, gpt-5.3-codex, gpt-5.2-codex, gpt-5.2, gpt-5.1-codex-max, gpt-5.1-codex-mini | Token | Gateway local |
| Google Gemini | gemini-3-pro-preview, gemini-3-flash-preview, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite-preview-09-2025 | Token | Gateway local |
| Cloudflare Workers AI | modelos Text Generation descubiertos desde /ai/models/search | Token + Account ID | Gateway local |
| Inception Labs | mercury-2 | Token | Gateway local |
| OpenRouter | openrouter/free + modelos :free descubiertos en vivo | Token | Gateway local |
| Seto Kaiba | s-kaiba | Automatico | Gateway local |
| Qwen | qwen3-coder-plus | OAuth, Token | Gateway local |
Nota sobre OpenCode Go:
minimax-m2.7yminimax-m2.5van directos por endpointmessagesglm-5ykimi-k2.5van por gateway usandochat/completions
Nota sobre Zen:
- los modelos Anthropic de Zen van por conexión directa
- los modelos de Zen servidos por
chat/completionsvan por gateway local - esta primera integración no incluye todavía los modelos de Zen expuestos por
responsesni los de endpoint tipo Google
Nota sobre OpenAI:
- esta integración usa
Chat Completionsporgateway local - el bridge actual encaja bien con los modelos GPT/Codex listados porque Claude Code sigue hablando Anthropic hacia
claude-connect - la autenticación soportada hoy es
API key; no se exponeOAuthpara este proveedor gpt-5.4quedó validado con una llamada real a través del gateway local- referencia oficial:
- https://platform.openai.com/docs/api-reference/chat/create
- https://platform.openai.com/docs/api-reference/authentication
- https://developers.openai.com/api/docs/models
Nota sobre Google Gemini:
- usa el endpoint OpenAI-compatible oficial
https://generativelanguage.googleapis.com/v1beta/openai/chat/completions - autenticacion soportada:
GEMINI_API_KEY - modelos incluidos:
gemini-3-pro-preview,gemini-3-flash-preview,gemini-2.5-pro,gemini-2.5-flashygemini-2.5-flash-lite-preview-09-2025 - Claude Connect aplica presupuesto preventivo de contexto
1My salida maxima65,536 - para modelos Gemini 3/2.5, el gateway agrega
reasoning_effortde forma conservadora y mantiene soporte de herramientas e imagenes por el adaptador OpenAI-compatible - referencias oficiales:
- https://ai.google.dev/gemini-api/docs/openai
- https://ai.google.dev/models/gemini
Nota sobre Cloudflare Workers AI:
- usa el endpoint OpenAI-compatible oficial
https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1/chat/completions - al crear la conexion pide
Cloudflare Account IDyCLOUDFLARE_API_TOKEN - la app consulta
GET /accounts/{account_id}/ai/models/search?task=Text%20Generationpara cargar modelos dinamicamente - Cloudflare no marca "modelos gratis" como tal; Workers AI ofrece una asignacion gratuita diaria de
10,000 Neuronsy luego requiere Workers Paid si se excede - Claude Connect filtra modelos de
Text Generationy prioriza señales comogpt-oss,kimi,qwen,glm,deepseek,coder,function calling,reasoningyvision - referencias oficiales:
- https://developers.cloudflare.com/workers-ai/configuration/open-ai-compatibility/
- https://developers.cloudflare.com/api/resources/ai/subresources/models/
- https://developers.cloudflare.com/workers-ai/platform/pricing/
Nota sobre Inception Labs:
- esta primera integracion expone solo
mercury-2, que es el modelo chat-compatible oficial env1/chat/completions mercury-2se trata como modelo solo texto en Claude Connect; si envias una imagen, la app ahora corta la peticion con un mensaje claro- Claude Connect aplica presupuesto preventivo de contexto para
mercury-2usando ventana128Ky salida maxima16,384 - Claude Connect tambien aplica una ventana deslizante local de
400,000input tokens por minuto para reducir rechazos del upstream por rate limit Mercury Edit 2no se publica todavia en Claude Connect porque usa endpointsfim/editque no encajan con Claude Code en esta arquitectura- autenticacion soportada:
API key - referencias oficiales:
- https://docs.inceptionlabs.ai/get-started/get-started
- https://docs.inceptionlabs.ai/get-started/authentication
- https://docs.inceptionlabs.ai/get-started/models
- https://docs.inceptionlabs.ai/get-started/rate-limits
Nota sobre DeepSeek:
- Claude Connect aplica presupuesto preventivo de contexto para
deepseek-chatydeepseek-reasoner - referencias oficiales:
- https://api-docs.deepseek.com/quick_start/pricing/
- https://api-docs.deepseek.com/guides/reasoning_model
Nota sobre Z.AI:
- usa el endpoint Anthropic-compatible oficial
https://api.z.ai/api/anthropic - Claude Connect fija
API_TIMEOUT_MS=3000000 - al activar un perfil de
Z.AI, tambien mapeaANTHROPIC_DEFAULT_HAIKU_MODEL,ANTHROPIC_DEFAULT_SONNET_MODELyANTHROPIC_DEFAULT_OPUS_MODELal modelo elegido para que Claude Code useGLMde forma consistente - referencias oficiales:
- https://docs.z.ai/devpack/tool/claude
Nota sobre Kilo Code Models:
- la app consulta
GET https://api.kilo.ai/api/gateway/models - lista modelos gratis y pagos desde el gateway de Kilo
- los modelos gratuitos pueden usarse en modo anonimo
- los modelos de pago requieren
KILO_API_KEY - referencias oficiales:
- https://kilo.ai/docs/gateway
- https://kilo.ai/docs/gateway/models-and-providers
- https://kilo.ai/docs/gateway/api-reference
Nota sobre Ollama:
- la URL del servidor se define al crear la conexión
- sirve tanto para
localhostcomo para un VPS o servidor remoto con Ollama expuesto - Claude Connect consulta
/api/tagspara listar modelos y validar la conexión antes de guardar - luego usa el endpoint nativo
POST /api/chat, que resultó más compatible para servidores remotos que publican mal/v1/* - servidores remotos pueden seguir fallando por timeout, auth cloud o respuestas pobres del modelo; la app ya distingue mejor esos casos
- referencia oficial:
- https://docs.ollama.com/openai
- https://docs.ollama.com/api/tags
Nota sobre Ollama Cloud Models:
- la app consulta
GET https://ollama.com/api/tagsconOLLAMA_API_KEY - Ollama no expone un flag oficial
freeen ese endpoint - Claude Connect usa los modelos que realmente devuelve
ollama.com/api/tagspara tu cuenta; si aparecen sufijos cloud los respeta, y si no aparecen usa la lista devuelta igualmente - la disponibilidad real depende de tu cuenta/plan de Ollama
- referencias oficiales:
- https://docs.ollama.com/cloud
- https://docs.ollama.com/api/authentication
- https://docs.ollama.com/api/tags
Nota sobre NVIDIA NIM:
- usa
https://integrate.api.nvidia.com/v1/chat/completionsconNVIDIA_API_KEY - la selección de modelos es dinámica: Claude Connect consulta
GET https://integrate.api.nvidia.com/v1/models - muestra modelos orientados a programación o marcados como
Downloadable, incluyendo señales comocoder,code,gemma,devstral,kimi,deepseek,minimax,nemotron,qwen,glmygpt-oss moonshotai/kimi-k2.5se detecta como modelo multimodal con ventana256Ksegún la documentación de NVIDIA- Claude Connect lo trata como proveedor
OpenAI-compatiblepor gateway local, por lo que Claude Code sigue usando la interfaz Anthropic local - para
moonshotai/kimi-k2.5, el gateway agregachat_template_kwargs.thinking=truey aplica presupuesto preventivo de contexto256K - referencias oficiales:
- https://docs.api.nvidia.com/nim/reference/moonshotai-kimi-k2-5
Nota sobre Seto Kaiba:
- es un proveedor virtual de
Claude Connect, no un upstream externo - al crearlo, eliges exactamente qué conexiones gratuitas quieres usar
- solo admite perfiles que pasan por nuestro gateway local, no conexiones directas
- si el proveedor actual devuelve errores de cuota, creditos agotados o rate limit, intenta la siguiente conexión gratuita compatible
- no rota en errores de validación ni a mitad de una respuesta
- sirve para exprimir proveedores free sin tener que ir cambiando de perfil manualmente
Nota sobre OpenRouter:
- la app mantiene
openrouter/freecomo router estable del catálogo base - además consulta
GET https://openrouter.ai/api/v1/modelspara listar variantes:freey otros modelos con pricing0 - si la consulta en vivo falla, sigue quedando disponible
openrouter/free
What It Stores
Claude Connect guarda el estado sensible fuera del repo.
Rutas por defecto:
Linux: ~/.claude-connect
Windows: %APPDATA%\claude-connectAhí viven:
- perfiles
- tokens OAuth
- API keys compartidas por proveedor
- estado del switch de Claude
- logs y estado del gateway
Importante sobre el catálogo:
- el catálogo se siembra desde
src/data/catalog-store.js - no depende de
node:sqlite, por eso funciona desdeNode.js 18 - no crea una base de datos en la carpeta donde ejecutas el comando
- esto evita conflictos molestos al hacer
git pully carpetasstorage/accidentales en proyectos ajenos
Claude Code Switching
Cuando activas un perfil, la app modifica la configuración real detectada de Claude Code y guarda un snapshot reversible.
Archivos implicados:
settings.json~/.claude.json.credentials.json
Eso permite:
- activar otro proveedor sin tocar archivos manualmente
- evitar el
Auth conflictentre sesiónclaude.aiyAPI key - volver a tu estado original con
Revertir Claude - bloquear la activación si
Claude Codeno está realmente instalado todavía
Qwen OAuth
Qwen usa el device flow oficial de Qwen Code.
URL típica de autorización:
https://chat.qwen.ai/auth?user_code=XXXXX&client=qwen-codeComportamiento actual:
- intenta abrir el navegador por defecto
- también deja la URL visible para copiar y pegar manualmente
- en Windows ya se corrigió la apertura del navegador
Console UX
Volveraparece como opción visible en listasTabvuelve a la pantalla anterior cuando aplicaEscuna vez avisaEscdos veces sale- después de crear o editar una conexión, regresas al menú principal
Development
Pruebas:
npm testPuntos principales del código:
- entrada principal:
src/wizard.js - catálogo:
src/data/catalog-store.js - switch de Claude:
src/lib/claude-settings.js - OAuth de Qwen:
src/lib/oauth.js - gateway local:
src/gateway/server.js
Publish Notes
El paquete npm publica solo lo necesario:
bin/claude-connect.jssrc/README.mdLICENSE
El tarball ya está preparado para distribución limpia.
