NuevoConecta cualquier agente a UberLLM: una clave, todos los modelos, a precio de lista o menos.
UberLLM

Claude Code

Claude Code se comunica con UberLLM a través de su dirección compatible con Anthropic, https://api.uberllm.dev. Con la dirección y tu clave configuradas, los comandos y herramientas de Claude Code funcionan como antes, y las solicitudes se facturan a tu saldo de UberLLM.

Configurarlo a mano

Nada que ejecutar excepto el propio Claude Code. Crea una clave en tu página de claves, luego:

export ANTHROPIC_BASE_URL=https://api.uberllm.dev
export ANTHROPIC_AUTH_TOKEN=ull_your_key
claude

Windows PowerShell:

$env:ANTHROPIC_BASE_URL = "https://api.uberllm.dev"
$env:ANTHROPIC_AUTH_TOKEN = "ull_your_key"
claude

Eso dura para la terminal actual. Para mantenerla sin una clave en tu perfil de shell, guarda la clave en un archivo que solo tú puedas leer:

mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key

y pon esto en ~/.claude/settings.json (todos los proyectos) o en <project>/.claude/settings.local.json (un proyecto):

{
  "apiKeyHelper": "cat ~/.uberllm/key",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.uberllm.dev"
  }
}

O usa el instalador

El instalador hace lo mismo por ti y obtiene la clave a través de tu navegador. Léelo primero si quieres: es texto sin formato en uberllm.dev/install/claude-code.sh.

  • SHA-256 de claude-code.sh: f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66c
  • SHA-256 de claude-code.ps1: 60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9

Para comprobarlo antes de ejecutarlo:

curl -fsSL https://uberllm.dev/install/claude-code.sh -o claude-code.sh
shasum -a 256 claude-code.sh   # compare with the hash above
sh claude-code.sh

Cada proyecto en este ordenador:

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh

Un solo proyecto (ejecútalo dentro del proyecto; otros proyectos permanecen en tu plan de Anthropic):

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --project

Añade una carpeta después de --project para configurar un proyecto diferente al actual.

Windows PowerShell (cada proyecto):

irm https://uberllm.dev/install/claude-code.ps1 | iex

No necesitas una API key primero, y no necesitas iniciar sesión cuando pegues el comando. El instalador abre un enlace en tu navegador (https://uberllm.dev/cli/link?code=XXXX-XXXX) e imprime el mismo código de confirmación en la terminal. Inicia sesión, comprueba que el código coincida y pulsa Aprobar.

Al aprobar, se crea una API key en tu cuenta y se entrega al instalador que espera. El código en tu terminal no es el secreto: solo el instalador que inició la solicitud puede recoger la clave, la clave se entrega exactamente una vez, y la solicitud caduca después de 15 minutos.

Si Claude Code nunca se ha configurado en este ordenador, usa primero la instalación para todos los proyectos. Claude Code lee la configuración propia de un proyecto solo después de que confíes en esa carpeta, por lo que una instalación completamente nueva aún podría pedirte que inicies sesión.

Para imprimir el bloque de configuración de tu ordenador sin escribir nada:

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --print

Lo que escribe el instalador

La clave va en un archivo que solo tú puedes leer (modo de carpeta 700, modo de archivo 600):

Instalación Archivo de clave Archivo de configuración
Cada proyecto ~/.uberllm/key ~/.claude/settings.json (o $CLAUDE_CONFIG_DIR/settings.json)
Un proyecto ~/.uberllm/key-<folder>-<number> <project>/.claude/settings.local.json

El archivo de configuración obtiene la dirección y un apiKeyHelper que lee el archivo de clave. La clave en sí nunca se escribe en un archivo de configuración, para que no termine en una copia de seguridad, un repositorio de dotfiles o una pantalla compartida.

{
  "apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
  }
}

Claude Code ejecuta apiKeyHelper para obtener la clave y la envía como Authorization: Bearer y x-api-key, para que funcione con una pasarela como UberLLM. Mantiene la respuesta durante cinco minutos (CLAUDE_CODE_API_KEY_HELPER_TTL_MS lo cambia).

El instalador se fusiona con tu archivo existente en lugar de reemplazarlo, así se mantienen los hooks, los permisos y los servidores MCP, y copia el archivo antiguo a <file>.bak-<timestamp> primero. Elimina un ANTHROPIC_AUTH_TOKEN de texto plano dejado por una instalación anterior. Luego realiza una solicitud real a través de la pasarela, así que un mensaje de éxito significa que una solicitud se realizó correctamente.

El instalador de Windows aún escribe la clave en settings.json como ANTHROPIC_AUTH_TOKEN.

Qué configuración gana

Claude Code lee las configuraciones en este orden, la primera gana:

  1. Configuraciones gestionadas (establecidas por tu empresa, si aplica)
  2. claude --settings <file>
  3. <project>/.claude/settings.local.json
  4. <project>/.claude/settings.json
  5. ~/.claude/settings.json

Una variable en el bloque env de un archivo de configuración gana a la misma variable en tu shell en la mayoría de las sesiones. Aquí importan dos excepciones:

  • La clave. Claude Code usa ANTHROPIC_AUTH_TOKEN primero, luego ANTHROPIC_API_KEY, luego apiKeyHelper. Un token exportado en tu shell reemplaza a la clave guardada.
  • El modelo. /model en la sesión gana, luego claude --model, luego ANTHROPIC_MODEL, luego la configuración model. Un ANTHROPIC_MODEL de shell gana a la configuración model.

Así que elimina cada variable ANTHROPIC_* de tu shell y de tu perfil de shell (~/.zshrc, ~/.bashrc) y guárdalas en el archivo de configuración. El instalador te avisa cuando encuentra una.

Usar otros modelos

Por defecto, nada está fijado: Claude Code pide sus propios nombres de modelo (opus, sonnet, haiku, claude-opus-5-5…) y UberLLM sirve los mismos modelos de Claude. Para impulsar Claude Code con DeepSeek, GLM, Qwen, GPT o cualquier otro modelo, mapea cada una de las ranuras de modelo de Claude Code a un ID de modelo de UberLLM en el bloque env:

Variable Lo que configura
ANTHROPIC_MODEL El modelo con el que se inicia la sesión.
ANTHROPIC_DEFAULT_OPUS_MODEL Lo que significa opus.
ANTHROPIC_DEFAULT_SONNET_MODEL Lo que significa sonnet.
ANTHROPIC_DEFAULT_HAIKU_MODEL Lo que significa haiku. Claude Code también lo usa para tareas en segundo plano, como títulos y resúmenes.
CLAUDE_CODE_SUBAGENT_MODEL El modelo en el que se ejecutan los subagentes.
{
  "apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
    "ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
    "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek/deepseek-v4-pro"
  }
}

Mapea cada ranura. Una ranura sin configurar sigue pidiendo un modelo de Claude, y pagas precios de Claude por ello.

El instalador hace esto por ti con un perfil:

curl -fsSL 'https://uberllm.dev/install/claude-code.sh?profile=glm' | sh

Los perfiles son claude-native (el predeterminado, no fija nada), glm, deepseek y gpt. Cualquier ID de modelo de la tabla de modelos funciona si configuras las variables manualmente; GET https://api.uberllm.dev/v1/models los enumera.

Contexto y compactación

Claude Code solo conoce el tamaño del contexto de los modelos Claude. Para cualquier otro modelo, asume 200,000 tokens y compacta la conversación antes de eso.

  • Si el modelo tiene un contexto de 1 millones de tokens (su página en uberllm.dev muestra el contexto), añade [1m] al final de su ID, por ejemplo "ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]" o claude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code entonces planifica para 1M.
  • Para cualquier otro tamaño, establece CLAUDE_CODE_MAX_CONTEXT_TOKENS al contexto del modelo, por ejemplo "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000".
  • Para elegir cuándo compacta: la configuración autoCompactWindow (o la variable CLAUDE_CODE_AUTO_COMPACT_WINDOW) toma un número de tokens de 100,000 a 1,000,000. CLAUDE_AUTOCOMPACT_PCT_OVERRIDE (1–100) compacta antes, en esa proporción de la ventana. autoCompactEnabled: false lo desactiva.

Establecer un contexto mayor del que tiene el modelo hace que las solicitudes fallen una vez que la conversación supera el modelo.

Qué cambia

  • Tu inicio de sesión de claude.ai no se utiliza. Las funciones que lo necesitan, como los conectores de claude.ai, /schedule y el Control Remoto, no están disponibles en una sesión que se ejecuta en UberLLM.
  • El coste que muestra Claude Code no es tu factura. Claude Code lo calcula en tu ordenador a partir de los precios de lista de Anthropic, y no muestra nada útil para otros modelos. Lo que pagas está en Panel de control → Actividad. Añade tu saldo a la línea de estado (abajo) para verlo mientras trabajas.
  • Tu código va a proveedores de modelos de terceros. Todo lo que la sesión lee se envía al modelo, que es ejecutado por proveedores de modelos de terceros en el mercado de UberLLM. No lo uses en un repositorio que contenga secretos, credenciales o datos de clientes.

Saldo en la línea de estado

curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install

Esto guarda un pequeño script en ~/.uberllm/statusline.sh y lo añade como el statusLine de Claude Code en ~/.claude/settings.json (añade --project después de --install para ponerlo en el .claude/settings.local.json de este proyecto en su lugar). Debajo del prompt verás:

UberLLM $12.40 · $0.35 held · Opus

Ese es tu saldo disponible, la cantidad retenida para solicitudes aún en curso y el modelo. Lee GET /v1/balance con la misma key que usa Claude Code, como máximo una vez por minuto. Solo necesita sh, curl y sed. Léelo primero en uberllm.dev/install/statusline.sh.

Verificar

Inicia Claude Code y ejecuta /status: la dirección de la API es https://api.uberllm.dev. Luego pregúntale cualquier cosa; la solicitud aparecerá en Panel de control → Actividad en menos de un minuto.

La misma clave responde a través de la API de Mensajes:

curl https://api.uberllm.dev/v1/messages \
  -H "Authorization: Bearer $(cat ~/.uberllm/key)" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-haiku-4-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'

Si una solicitud falla con Your apiKeyHelper script is failing, el archivo de la clave está ausente o ilegible: ejecuta el instalador de nuevo.

Desinstalar y revocar

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --uninstall

Para una instalación de un solo proyecto, ejecútalo dentro del proyecto con sh -s -- --project --uninstall. Primero, hace una copia de seguridad del archivo de configuración, elimina solo lo que añadió y borra el archivo de clave guardado. Claude Code volverá a tu inicio de sesión de Anthropic en el siguiente inicio.

Desinstalar no revoca la clave; solo deja de usarla. Elimina la clave en tu página de claves para asegurarte de que nunca pueda volver a gastar. Haz esto para cualquier ordenador en el que ya no confíes, o si aprobaste una solicitud que no iniciaste.