Usar Apexnova AI Hub con Claude Code
Claude Code es el asistente de programación de línea de comandos oficial de Anthropic. Habla con los modelos mediante la API Anthropic Messages, así que basta con apuntar su base URL y su clave al endpoint compatible con Anthropic de esta plataforma para moverlo con cualquier modelo de texto de aquí: la misma clave, el mismo saldo y el mismo registro de uso.
La plataforma expone un endpoint compatible con Anthropic Messages en /anthropic/v1/messages. Las peticiones se traducen al formato nativo del modelo de destino; streaming, uso de herramientas y entrada de imágenes están soportados. Ojo: la base URL no es la misma que la compatible con OpenAI — Claude Code necesita la que termina en /anthropic.
Antes de empezar
- Node.js 18 o superior instalado en tu equipo.
- Una API key creada en API Keys dentro de la consola. El valor sk- completo solo se muestra una vez, guárdalo en ese momento.
- Un modelo de chat elegido en el catálogo de modelos: anota su Public Model Name, que es lo que le darás a Claude Code. Elige preferiblemente uno que admita llamadas a herramientas.
- Saldo positivo en la cuenta. Sin saldo la API devuelve HTTP 402 y Claude Code termina con error.
1. Instalar Claude Code
Instala la CLI oficial de forma global con npm:
# Requires Node.js 18 or newer npm install -g @anthropic-ai/claude-code # Verify the CLI is on your PATH claude --version
2. Configurar las variables de entorno
Cuatro variables de entorno le dicen a Claude Code a qué servicio llamar, con qué clave y con qué modelo:
| Variable | Para qué sirve |
|---|---|
ANTHROPIC_BASE_URL | La base URL compatible con Anthropic de la plataforma: la base de la API más /anthropic. No añadas /v1, lo pone el cliente. |
ANTHROPIC_AUTH_TOKEN | La API key sk- que creaste en la consola. |
ANTHROPIC_MODEL | El Public Model Name de tu modelo principal, por ejemplo glm-4.6. Debe estar publicado en la plataforma y ser accesible con esa clave. |
ANTHROPIC_SMALL_FAST_MODEL | Modelo para tareas de fondo (títulos de conversación, resúmenes). Si no tienes uno más barato que encaje, pon el mismo que el principal. |
# macOS / Linux — add these to ~/.zshrc or ~/.bashrc to keep them export ANTHROPIC_BASE_URL=https://api.apexnova-consulting.com/anthropic export ANTHROPIC_AUTH_TOKEN=sk-xxxxxxxx # the key you created in the console export ANTHROPIC_MODEL=glm-4.6 # a Public Model Name on this platform export ANTHROPIC_SMALL_FAST_MODEL=glm-4.6 # background tasks (titles, summaries)
# Windows PowerShell — current session only $env:ANTHROPIC_BASE_URL = "https://api.apexnova-consulting.com/anthropic" $env:ANTHROPIC_AUTH_TOKEN = "sk-xxxxxxxx" $env:ANTHROPIC_MODEL = "glm-4.6" $env:ANTHROPIC_SMALL_FAST_MODEL = "glm-4.6" # Persist for future terminals (setx does NOT affect the current one) setx ANTHROPIC_BASE_URL "https://api.apexnova-consulting.com/anthropic" setx ANTHROPIC_AUTH_TOKEN "sk-xxxxxxxx" setx ANTHROPIC_MODEL "glm-4.6" setx ANTHROPIC_SMALL_FAST_MODEL "glm-4.6"
Abre una terminal nueva después de cambiar las variables: Claude Code las lee una sola vez al arrancar. En Windows igual, setx solo afecta a las terminales que abras después.
3. (Opcional) Usar settings.json en su lugar
Si prefieres no tocar el entorno global, o quieres un modelo distinto por proyecto, pon las mismas variables en un archivo de configuración de Claude Code: ~/.claude/settings.json aplica en todas partes y .claude/settings.local.json dentro de un proyecto aplica solo a ese proyecto.
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.apexnova-consulting.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxx",
"ANTHROPIC_MODEL": "glm-4.6",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.6"
}
}⚠️ Nunca pongas la API key en un .claude/settings.json que se vaya a commitear: ese archivo suele compartirse con el equipo y va en git. Deja la clave en una variable de entorno o en .claude/settings.local.json, que está ignorado por git. Si se filtra, revócala en la consola y crea otra de inmediato.
4. Verificar
Llama primero al endpoint con curl. Así separas «clave, base URL o nombre de modelo mal puestos» de «Claude Code no leyó las variables»:
curl https://api.apexnova-consulting.com/anthropic/v1/messages \
-H "x-api-key: sk-xxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-4.6",
"max_tokens": 64,
"messages": [{"role": "user", "content": "ping"}]
}'Cuando curl devuelva contenido, arranca Claude Code:
# One-shot smoke test: prints one answer and exits claude -p "Reply with the single word: ok" # Or start an interactive session; /status shows the base URL and model in use claude
Por último, comprueba en «Uso» de la consola que aparece una llamada registrada con ese modelo: si está ahí, toda la cadena (autenticación, enrutado, facturación) funciona.
Diagnóstico
- 401 / authentication_error —— La clave no es válida o está revocada, o ANTHROPIC_AUTH_TOKEN no llegó a aplicarse. Si antes iniciaste sesión en Claude Code con una cuenta de Anthropic, esa sesión tiene prioridad sobre las variables de entorno: ejecuta /logout y abre una terminal nueva.
- 402 —— Saldo agotado. Recarga en el monedero de la consola y continúa.
- 404 model_not_found —— ANTHROPIC_MODEL no es un Public Model Name de la plataforma, o el modelo queda fuera de la lista blanca del espacio de trabajo al que pertenece esa clave, o es un modelo privado que tu cuenta no tiene autorizado. Comprueba el nombre en el catálogo: nombres como claude-sonnet-4 no existen en esta plataforma.
- 429 —— Has tocado el límite de presupuesto del espacio de trabajo o de la clave, o el límite de RPM/TPM. Ajústalo en el espacio de trabajo desde la consola o espera a que pase la ventana.
- Responde, pero no edita archivos ni usa herramientas —— Editar, buscar y ejecutar comandos dependen de las llamadas a herramientas (function calling). Cambia a un modelo que las admita; la ficha del modelo lo indica.
- Cambié la configuración y no surte efecto —— Las variables de entorno se leen al arrancar, así que reabre la terminal. Con settings.json, comprueba que el JSON sea válido (una coma de más y se ignora el archivo entero) y usa /status para ver la base URL y el modelo realmente en uso.
Buenas prácticas
- Dale a Claude Code su propia clave dentro de su propio espacio de trabajo, con tope de presupuesto y límites de RPM/TPM. Un asistente de programación implica sesiones largas y mucho consumo de tokens: si se desboca, prefieres que choque contra ese tope y no que se lleve el saldo de la cuenta.
- Configura una cadena de conmutación por error para tu modelo principal en «Fallback de modelos»: si no está disponible o lo limitan, la sesión continúa con el modelo de respaldo. La facturación sigue al modelo que realmente respondió, igual que el registro de uso.
- Apunta ANTHROPIC_SMALL_FAST_MODEL a un modelo pequeño y más barato. Las tareas de fondo (títulos, resúmenes) suman, y ejecutarlas con el modelo principal es tirar dinero.
- Filtra «Uso» por clave en la consola para ver lo que cuesta Claude Code en este equipo, y revoca solo esa clave cuando lo necesites, sin tocar el resto de integraciones.