Cómo usar DeepSeek V4 Pro en Claude Code: Configuración y resolución de problemas de SiliconFlow

Índice de contenidos

Cómo utilizar DeepSeek V4 Pro en Claude Code: configuración y resolución de problemas de SiliconFlow

Puedes conectar Claude Code a DeepSeek V4 Pro dirigiendo sus solicitudes en formato Anthropic a SiliconFlow, cargando una clave de API de SiliconFlow y seleccionando deepseek-ai/DeepSeek-V4-Pro-0813. Prueba el modelo a través del endpoint de Messages de SiliconFlow antes de guardar la configuración, ya que la disponibilidad puede diferir entre las superficies de API compatibles con Anthropic y compatibles con OpenAI.

Antes de empezar: acceso, compatibilidad y ajustes existentes

Necesitas:

  • Una cuenta y una clave de API de SiliconFlow

  • Claude Code instalado localmente

  • Un terminal Bash en macOS, Linux o el Subsistema de Windows para Linux

  • Acceso a deepseek-ai/DeepSeek-V4-Pro-0813

Crea una clave en la consola de claves de API de SiliconFlow. El despliegue actual de DeepSeek-V4-Pro-0813 admite inferencia serverless y llamadas a herramientas (tool calling), que Claude Code necesita para leer archivos, ejecutar comandos o editar un proyecto.

Comprueba tu instalación de Claude Code:

claude --version
claude --version
claude --version

Si utilizaste el instalador nativo de Claude Code, actualízalo con:

Las instalaciones realizadas con Homebrew, WinGet, npm y gestores de paquetes de Linux deben actualizarse a través del mismo gestor de paquetes utilizado para la instalación. Si Claude Code no está instalado, el comando nativo para macOS, Linux y WSL es:

curl -fsSL https://claude.ai/install.sh | bash
curl -fsSL https://claude.ai/install.sh | bash
curl -fsSL https://claude.ai/install.sh | bash

La guía de instalación de Claude Code proporciona los comandos actuales para otras plataformas y gestores de paquetes.

Es posible que Claude Code ya tenga configuraciones de proveedor o modelo en tu shell. Comprueba los valores no secretos antes de continuar:

printf 'Base URL: %s\n' "${ANTHROPIC_BASE_URL:-not set}"
printf 'Model: %s\n' "${ANTHROPIC_MODEL:-not set}"
test -n "${ANTHROPIC_AUTH_TOKEN:-}" \
  && echo "ANTHROPIC_AUTH_TOKEN is set" \
  || echo "ANTHROPIC_AUTH_TOKEN is not set"
test -n "${ANTHROPIC_API_KEY:-}" \
  && echo "ANTHROPIC_API_KEY is set" \
  || echo "ANTHROPIC_API_KEY is not set"
printf 'Base URL: %s\n' "${ANTHROPIC_BASE_URL:-not set}"
printf 'Model: %s\n' "${ANTHROPIC_MODEL:-not set}"
test -n "${ANTHROPIC_AUTH_TOKEN:-}" \
  && echo "ANTHROPIC_AUTH_TOKEN is set" \
  || echo "ANTHROPIC_AUTH_TOKEN is not set"
test -n "${ANTHROPIC_API_KEY:-}" \
  && echo "ANTHROPIC_API_KEY is set" \
  || echo "ANTHROPIC_API_KEY is not set"
printf 'Base URL: %s\n' "${ANTHROPIC_BASE_URL:-not set}"
printf 'Model: %s\n' "${ANTHROPIC_MODEL:-not set}"
test -n "${ANTHROPIC_AUTH_TOKEN:-}" \
  && echo "ANTHROPIC_AUTH_TOKEN is set" \
  || echo "ANTHROPIC_AUTH_TOKEN is not set"
test -n "${ANTHROPIC_API_KEY:-}" \
  && echo "ANTHROPIC_API_KEY is set" \
  || echo "ANTHROPIC_API_KEY is not set"

Los comandos siguientes utilizan una sesión temporal de Bash. Al salir de esa sesión, tus variables de shell anteriores permanecerán inalteradas:

bash
bash
bash

Claude Code se mantiene para los modelos de Anthropic. SiliconFlow proporciona una API compatible con Anthropic para conectar otros modelos admitidos, pero la compatibilidad puede cambiar cuando Claude Code introduzca nuevos campos de solicitud o características de agente. La documentación de la pasarela de Anthropic no ofrece soporte oficial para enrutar Claude Code a modelos que no sean de Claude.

Setup prerequisites for connecting Claude Code to DeepSeek V4 Pro on SiliconFlow, showing account access, local install, and Bash session checks

Paso 1: Configurar la autenticación y el endpoint de SiliconFlow

Establece el host de SiliconFlow sin /v1:

export ANTHROPIC_BASE_URL="https://api.siliconflow.com"
export ANTHROPIC_BASE_URL="https://api.siliconflow.com"
export ANTHROPIC_BASE_URL="https://api.siliconflow.com"

Claude Code añade /v1/messages cuando envía una solicitud. Incluir /v1 en ANTHROPIC_BASE_URL puede dar lugar a una ruta incorrecta como /v1/v1/messages. La API de Messages de SiliconFlow utiliza autenticación mediante token de portador (bearer token). Introduce tu clave sin mostrarla:

read -s -p "SiliconFlow API key: " ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_AUTH_TOKEN
printf '\n'
read -s -p "SiliconFlow API key: " ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_AUTH_TOKEN
printf '\n'
read -s -p "SiliconFlow API key: " ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_AUTH_TOKEN
printf '\n'

Este comando está escrito para Bash. Almacena la clave únicamente en la sesión de shell actual.

La variable de credencial determina qué cabecera HTTP envía Claude Code:

Variable

Cabecera enviada por Claude Code

ANTHROPIC_AUTH_TOKEN

Authorization: Bearer <token>

ANTHROPIC_API_KEY

x-api-key: <key>

La guía de configuración general de Claude Code de SiliconFlow utiliza ANTHROPIC_API_KEY, mientras que el endpoint actual de Messages documenta la autenticación de portador. Esta configuración utiliza ANTHROPIC_AUTH_TOKEN para que la credencial llegue al endpoint en la cabecera Authorization: Bearer documentada.

Prueba la autenticación y la disponibilidad del modelo antes de iniciar Claude Code:

curl -sS -w '\nHTTP %{http_code}\n' \
  "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Pro-0813",
    "max_tokens": 32,
    "messages": [
      {
        "role": "user",
        "content": "Return the word connected."
      }
    ]
  }'
curl -sS -w '\nHTTP %{http_code}\n' \
  "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Pro-0813",
    "max_tokens": 32,
    "messages": [
      {
        "role": "user",
        "content": "Return the word connected."
      }
    ]
  }'
curl -sS -w '\nHTTP %{http_code}\n' \
  "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Pro-0813",
    "max_tokens": 32,
    "messages": [
      {
        "role": "user",
        "content": "Return the word connected."
      }
    ]
  }'

Continúa cuando la solicitud devuelva HTTP 200 y una respuesta que contenga un campo de contenido de asistente. Esto confirma que la clave funciona y que DeepSeek V4 Pro está disponible a través de la API de Messages para tu cuenta.

Una respuesta de modelo no encontrado o de modelo no admitido significa que la clave y el endpoint pueden ser válidos pero este modelo aún no está expuesto a través de esa superficie de la API. Claude Code requiere el endpoint de Messages, por lo que el acceso únicamente a través de /v1/chat/completions no es suficiente para esta configuración.

SiliconFlow authentication and Messages endpoint request flow using ANTHROPIC_BASE_URL and a bearer-token credential test

Paso 2: Seleccionar y asignar el modelo DeepSeek V4 Pro

Establece el ID de modelo oficial actual:

export ANTHROPIC_MODEL="deepseek-ai/DeepSeek-V4-Pro-0813"
export ANTHROPIC_MODEL="deepseek-ai/DeepSeek-V4-Pro-0813"
export ANTHROPIC_MODEL="deepseek-ai/DeepSeek-V4-Pro-0813"

La cadena de modelo anterior:

se refiere a la versión preliminar (preview). Las nuevas configuraciones deben utilizar el ID de modelo -0813. ANTHROPIC_MODEL controla la sesión principal de Claude Code. Claude Code también puede utilizar alias de modelo para operaciones en segundo plano o cuando un usuario selecciona opus, sonnet, haiku o fable. Si esas solicitudes producen errores de modelo claude-* no admitido, asigna los alias a DeepSeek V4 Pro:

export ANTHROPIC_DEFAULT_OPUS_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_SONNET_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_FABLE_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_OPUS_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_SONNET_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_FABLE_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_OPUS_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_SONNET_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="$ANTHROPIC_MODEL"
export ANTHROPIC_DEFAULT_FABLE_MODEL="$ANTHROPIC_MODEL"

Estas asignaciones son opcionales para la conexión inicial. Hacen que cada operación asignada utilice DeepSeek V4 Pro, incluidas las solicitudes ligeras en segundo plano.

Utiliza el ID de modelo de SiliconFlow exactamente como está escrito. No añadas el sufijo [1m] de Claude Code:

El límite de contexto está determinado por el despliegue de SiliconFlow. Añadir un sufijo no reconocido cambia la cadena del modelo de la API y puede causar un error de selección de modelo.

Paso 3: Verificar la conexión con una tarea de programación pequeña

Inicia Claude Code desde la misma sesión de Bash:

claude --model "$ANTHROPIC_MODEL"
claude --model "$ANTHROPIC_MODEL"
claude --model "$ANTHROPIC_MODEL"

Ejecuta el siguiente comando dentro de Claude Code:

Confirma que la pantalla de estado muestra:

  • api.siliconflow.com como la URL base de Anthropic

  • ANTHROPIC_AUTH_TOKEN como la fuente de credenciales

  • deepseek-ai/DeepSeek-V4-Pro-0813 como el modelo seleccionado

A continuación, prueba una solicitud de programación pequeña sin acceso a archivos:




Una respuesta normal confirma que Claude Code puede enviar prompts a través de SiliconFlow y recibir código del modelo seleccionado.

Luego, prueba una acción del repositorio de solo lectura:




Si eso tiene éxito, pasa a una tarea de herramienta controlada:




Esta secuencia distingue la conectividad básica de la API de la lectura de repositorios y el uso de herramientas. Prueba las ediciones en una rama desechable y revisa los cambios generados antes de aceptarlos.

Claude Code verification sequence from a small coding prompt to read-only repository inspection and a controlled tool task

Solucionar errores de autenticación, selección de modelo y herramientas

Si la solicitud directa de cURL funciona pero Claude Code falla, es probable que la autenticación y la disponibilidad del modelo sean correctas. Comprueba /status, las asignaciones de modelos, la versión de Claude Code, los permisos locales y los mensajes HTTP 400 relacionados con la compatibilidad. Evita diagnosticar un problema de la API basándote únicamente en una edición de archivo fallida. Claude Code puede comunicarse con el modelo con éxito mientras que una regla de permisos local impide que se ejecute Bash, la escritura de archivos u otra herramienta.

Síntoma

Causa probable

Solución

401, Unauthorized o Invalid token

La clave no es válida o se envió en la cabecera incorrecta

Utiliza ANTHROPIC_AUTH_TOKEN, regenera la clave si es necesario y vuelve a ejecutar la prueba de cURL

Claude Code abre una pantalla de inicio de sesión

El token no estaba disponible cuando se inició Claude Code

Exporta el token antes de lanzar Claude Code y comprueba /status

/status muestra la API predeterminada de Anthropic

No se cargó la URL base personalizada

Vuelve a exportar ANTHROPIC_BASE_URL y reinicia Claude Code desde la misma shell

HTTP 404

La URL base contiene una ruta incorrecta

Utiliza https://api.siliconflow.com sin /v1

Model not found

El ID del modelo es incorrecto o no está disponible a través de /v1/messages

Utiliza el ID exacto -0813 y comprueba la solicitud directa de Messages

Aparece un modelo claude-* en un error

No se asignó un alias de modelo interno

Añade las asignaciones opcionales de Opus, Sonnet, Haiku y Fable

HTTP 400 indica un campo de solicitud desconocido

Claude Code envió un campo que el endpoint compatible no acepta

Actualiza Claude Code y vuelve a intentarlo con CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

El modelo describe una acción de herramienta pero no la llama

La solicitud de la herramienta no fue clara o el comportamiento de la herramienta falló

Nombra el archivo o la acción con precisión y prueba una herramienta a la vez en una sesión nueva

Se deniega una edición de archivo o un comando

Los permisos locales de Claude Code lo bloquearon

Revisa la acción solicitada y apruébala solo cuando sea seguro hacerlo

HTTP 429

Se alcanzó un límite de tokens o de velocidad de solicitudes

Reduce las sesiones paralelas o el tamaño del contexto y vuelve a intentarlo más tarde

HTTP 503

El servicio del modelo está sobrecargado

Vuelve a intentarlo con un tiempo de espera progresivo en lugar de iniciar varias solicitudes inmediatas

HTTP 504

La tarea excedió el tiempo de solicitud

Limita el alcance del repositorio o divide la tarea en etapas más pequeñas

Troubleshooting decision map for SiliconFlow and Claude Code covering authentication, model ID, endpoint path, permissions, and rate-limit errors

Volver a tu configuración anterior

Si seguiste el método temporal de Bash, sal de Claude Code y cierra la shell temporal:

exit
exit
exit

Tu entorno de shell original permanecerá inalterado.

Si añadiste variables de SiliconFlow a ~/.bashrc, ~/.zshrc o ~/.claude/settings.json, elimina solo las entradas que añadiste. No desconfigures ni elimines una ANTHROPIC_API_KEY existente a menos que se haya creado específicamente para esta configuración de SiliconFlow.

Abre un nuevo terminal y ejecuta:

Utiliza /status para confirmar que la URL base de SiliconFlow y el token de portador ya no están activos. Si utilizaste anteriormente una cuenta de Claude o una clave de API de Anthropic, Claude Code puede volver a ese método de autenticación guardado.

Preguntas frecuentes sobre DeepSeek V4 Pro en Claude Code

P1. ¿Necesito una suscripción a Claude para usar DeepSeek V4 Pro en Claude Code?

No. Una credencial de pasarela puede reemplazar una suscripción guardada de Claude para la sesión local. Las solicitudes de modelos se asocian entonces con la clave de API de SiliconFlow en lugar de con el uso incluido de la suscripción.

P2. ¿Puedo guardar la configuración de SiliconFlow de forma permanente?

Sí. Guarda las variables no secretas en tu perfil de shell o en la configuración de usuario de Claude Code. Mantén las credenciales fuera de los archivos .claude/settings.json confirmados y utiliza una configuración protegida a nivel de usuario o una herramienta de gestión de secretos en sistemas compartidos.

P3. ¿Por qué DeepSeek V4 Pro no aparece en el selector /model?

Es posible que los IDs de modelo de proveedores personalizados no aparezcan en la lista de modelos integrada de Claude Code. Establece el ID completo a través de ANTHROPIC_MODEL o la opción --model y luego utiliza /status para verificar el modelo activo.

P4. ¿Funciona esta configuración en Claude Code en la web?

No. Las sesiones web de Claude Code utilizan la infraestructura alojada por Anthropic y no heredan una variable local ANTHROPIC_BASE_URL o ANTHROPIC_AUTH_TOKEN. Utiliza la CLI de Claude Code instalada localmente para esta configuración de SiliconFlow.

¿Listo para acelerar tu desarrollo de IA?

¿Listo para acelerar tu desarrollo de IA?

¿Listo para acelerar tu desarrollo de IA?