Objetivo
El use case más básico: abrir una sesión Claude Code en Mac usando un provider alternativo (MiniMax) a través del gateway-proxy. Esto verifica que el proxy enruta correctamente y que todo el stack de autenticación (virtual key → proxy → upstream provider) funciona.
F1 — Sesión básica con proxy local
Arrancar sesión con proxy
cl minimax --proxy→ Claude Code arranca sin errores El shellcl()configura proxy local y lanza Claude Code- Escribir 'di hola' → respuesta del modelo Verificar que el proxy enruta al provider y el modelo responde
- La respuesta NO contiene errores de auth (401/403) La virtual key o el token son válidos
Comandos de verificación
# Antes de arrancar, verificar que el proxy local está corriendo: $ curl -s http://127.0.0.1:3200/health → {"status":"ok"} # Verificar providers disponibles: $ curl -s http://127.0.0.1:3200/v1/providers | jq 'keys' → ["glm","minimax","deepseek"] # Lanzar Claude Code con MiniMax via proxy: $ cl minimax --proxy # Dentro de Claude Code, probar: > di hola en español → (respuesta del modelo MiniMax en español) # Verificar que el proxy usó el provider correcto: # En otra terminal: $ tail -f /tmp/gateway-proxy.log # si el proxy está logueando
F2 — Proxy público remoto
Verificar proxy público
curl -s https://proxy.gateway.mks2508.systems/health→ 200 OK Proxy público accesiblecurl -s https://proxy.gateway.mks2508.systems/v1/providers→ JSON con providers Data-plane público lista providers- Crear virtual key con
gateway-proxyctl key create→sk-mks-...Se necesita OIDC admin session para crear keys curl -s https://proxy.gateway.mks2508.systems/v1/models -H 'x-api-key: sk-mks-...'→ 200 Virtual key válida aceptada por el data-plane
| Modo | Comando | Proxy URL | Auth | Cuándo usarlo |
|---|---|---|---|---|
| Local sin auth | cl minimax proxy | http://127.0.0.1:3200 | proxy-dummy (sin auth) | Desarrollo local rápido |
| Local con virtual key | cl minimax proxy + virtual key en ~/.claudio.json | http://127.0.0.1:3200 | sk-mks-* | Desarrollo con tracking de usage |
| Remoto VPN | claudio minimax --env --proxy | lab1-helsinki.gateway-proxy.vpn... | sk-mks-* | Producción sobre VPN |
| Remoto público | (no implementado en claudio aún) | proxy.gateway.mks2508.systems | sk-mks-* | Tier-2 público |
claudio --proxy solo soporta proxy remoto sobre VPN (configurado vía claudio proxy set).
El cl() { } en zshrc hardcodea 127.0.0.1:3200 para --proxy, que es el proxy local.
Para usar el proxy público (proxy.gateway.mks2508.systems) desde Claude Code, habría que:
- Setear manualmente
ANTHROPIC_BASE_URL=https://proxy.gateway.mks2508.systems - Setear
ANTHROPIC_AUTH_TOKEN=sk-mks-... - O extender
claudiocon un modo--public-proxy
Esto es un gap conocido — no bloquea los playbooks porque UC1 se verifica con proxy local.
F3 — Cambio de provider
Verificar routing por provider
cl deepseek --proxy→ arranca con DeepSeek Cambiar provider a DeepSeek vía proxycl glm --proxy→ arranca con GLM Cambiar provider a GLM vía proxy- Cada provider produce respuestas (no errores de API key) Las API keys están configuradas en el proxy o en ~/.claudio.json
¿Responde el modelo? básico
Después de cl minimax --proxy, escribir un prompt simple
curl :3200/health, (2) ¿está MINIMAX_API_KEY seteada en el proxy?, (3) ¿hay conectividad a api.minimax.io?¿La respuesta es del modelo esperado? calidad
Verificar que el modelo responde en el idioma y estilo esperado
Código relevante
- gateway-proxy app.tssource
- claudio index.tssource
- zshrc cl() functionconfig
- key-store.service.tssource