Capitulo 9: Proveedores Cloud

Por: Artiko
opencodeaiproveedoresllmcloud

Capitulo 9: Proveedores Cloud

< Volver al Indice del Tutorial

OpenCode soporta más de 75 proveedores LLM a través del AI SDK de Vercel y el catálogo de Models.dev. Esto significa que puedes usar prácticamente cualquier modelo de lenguaje disponible en el mercado, desde los gigantes como Anthropic y OpenAI hasta proveedores especializados como Groq, Together AI o DeepSeek. La arquitectura de proveedores de OpenCode está diseñada para ser extensible: si un proveedor expone una API compatible con OpenAI, puedes integrarlo con unas pocas líneas de configuración.

Arquitectura de Proveedores

Antes de configurar cualquier proveedor, es útil entender cómo OpenCode gestiona la conexión con los modelos. El sistema se basa en tres capas:

flowchart TD
    A[opencode.json] -->|Configuración| B[AI SDK de Vercel]
    B -->|Adaptador específico| C[API del proveedor]
    D[auth.json] -->|Credenciales| B
    E[Variables de entorno] -->|API Keys| B
  1. Configuración (opencode.json): defines qué proveedor usar, qué modelo y opciones adicionales como baseURL.
  2. Credenciales (auth.json o variables de entorno): las API keys se almacenan de forma segura.
  3. AI SDK: la capa intermedia que traduce las peticiones al formato que cada proveedor espera.

Las credenciales se almacenan en:

~/.local/share/opencode/auth.json

Para verificar qué proveedores tienes configurados:

opencode auth list

Configurar Proveedores con /connect

La forma más rápida de configurar un proveedor es usando el comando /connect dentro de OpenCode:

# Dentro de una sesión de OpenCode
/connect

Este comando te guía paso a paso: seleccionas el proveedor, introduces tu API key y OpenCode la almacena de forma segura en auth.json. No necesitas editar archivos de configuración manualmente.

También puedes configurar API keys como variables de entorno en tu shell o directamente en opencode.json. Las variables de entorno tienen prioridad sobre auth.json.

Configuración Avanzada de Proveedores

Cada proveedor puede configurarse con opciones específicas en el bloque provider de opencode.json:

{
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1"
      }
    }
  }
}

La propiedad options acepta cualquier opción soportada por el adaptador del AI SDK correspondiente. Esto es útil cuando necesitas apuntar a un proxy, cambiar la región o añadir headers personalizados.

Proveedores Principales

Anthropic (Claude)

El proveedor recomendado para desarrollo de software. Los modelos Claude destacan en comprensión de código, seguimiento de instrucciones y razonamiento complejo.

# Variable de entorno
export ANTHROPIC_API_KEY="sk-ant-..."
{
  "provider": "anthropic",
  "model": "claude-opus-4-6"
}

Modelos disponibles:

ModeloUso recomendadoContexto
claude-opus-4-6Desarrollo complejo, arquitectura200K tokens
claude-sonnet-4-6Desarrollo general, buen balance200K tokens
claude-haiku-4.5Tareas rápidas, bajo costo200K tokens

Anthropic es especialmente fuerte en tareas de refactorización, análisis de seguridad y generación de código idiomático. Si solo vas a configurar un proveedor, este es la mejor opción para la mayoría de desarrolladores.

OpenAI

El proveedor más popular, con una amplia gama de modelos que van desde los ultrarrápidos hasta los de razonamiento profundo.

export OPENAI_API_KEY="sk-..."
{
  "provider": "openai",
  "model": "gpt-4o"
}

Modelos disponibles:

ModeloUso recomendadoContexto
gpt-4oDesarrollo general128K tokens
o1Razonamiento complejo128K tokens
o3Razonamiento avanzado200K tokens

Los modelos de la serie o son particularmente buenos para problemas algorítmicos y matemáticos donde se necesita razonamiento paso a paso.

Google Vertex AI

Requiere configuración de proyecto Google Cloud. Los modelos Gemini ofrecen ventanas de contexto enormes, ideales para analizar codebases completas.

export GOOGLE_CLOUD_PROJECT="mi-proyecto-id"
# Autenticación via gcloud
gcloud auth application-default login
{
  "provider": "google",
  "model": "gemini-3.1-pro"
}

Modelos disponibles:

ModeloUso recomendadoContexto
gemini-3.1-proDesarrollo general, análisis de proyectos grandes1M+ tokens
gemini-3-flashTareas rápidas con buen contexto1M+ tokens

La ventana de contexto masiva de Gemini permite alimentar al modelo con archivos completos del proyecto sin necesidad de fragmentar la información.

Amazon Bedrock

Soporta múltiples métodos de autenticación AWS, lo que lo hace ideal para equipos que ya tienen infraestructura en Amazon:

# Opción 1: AWS profiles
export AWS_PROFILE="mi-perfil"

# Opción 2: Access keys
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."

# Opción 3: Bearer tokens (SSO)
export AWS_REGION="us-east-1"
{
  "provider": "amazon-bedrock",
  "model": "anthropic.claude-3-5-sonnet-20241022-v2:0"
}

Bedrock ofrece la ventaja de que el tráfico no sale de tu cuenta AWS, lo cual es un requisito para muchas empresas con políticas estrictas de seguridad. Además, puedes usar los mismos roles IAM que ya tienes configurados.

Azure OpenAI

Requiere un endpoint custom de tu recurso Azure. Es la opción preferida para empresas que operan en el ecosistema Microsoft:

export AZURE_OPENAI_API_KEY="..."
export AZURE_OPENAI_ENDPOINT="https://mi-recurso.openai.azure.com"
{
  "provider": "azure-openai",
  "model": "gpt-4o"
}

Azure OpenAI añade las garantías de cumplimiento normativo de Microsoft (GDPR, HIPAA, SOC 2) sobre los modelos de OpenAI. Los datos se procesan dentro de tu región Azure seleccionada.

Groq

Especializado en inferencia ultrarrápida. Groq usa hardware custom (LPU) que ofrece velocidades de generación significativamente superiores a las GPUs tradicionales:

export GROQ_API_KEY="gsk_..."
{
  "provider": "groq",
  "model": "llama-3.3-70b-versatile"
}

Groq es ideal para flujos de trabajo donde la latencia importa más que la capacidad máxima del modelo. Generar código rápido y luego iterar es más productivo que esperar respuestas largas de modelos más potentes.

DeepSeek

Modelos económicos con excelente rendimiento para código. DeepSeek ha demostrado ser competitivo con modelos mucho más caros en benchmarks de programación:

export DEEPSEEK_API_KEY="sk-..."
{
  "provider": "deepseek",
  "model": "deepseek-chat"
}

xAI (Grok)

export XAI_API_KEY="xai-..."
{
  "provider": "xai",
  "model": "grok-2"
}

OpenRouter

Proxy a múltiples proveedores con una sola API key. Ideal para experimentar con diferentes modelos sin configurar cada proveedor individualmente:

export OPENROUTER_API_KEY="sk-or-..."
{
  "provider": "openrouter",
  "model": "anthropic/claude-sonnet-4-6"
}

OpenRouter actúa como intermediario y te factura de forma unificada. Es especialmente útil para equipos pequeños que quieren probar varios modelos antes de comprometerse con un proveedor.

Together AI

Acceso a modelos open source optimizados para inferencia rápida:

export TOGETHER_API_KEY="..."
{
  "provider": "togetherai",
  "model": "meta-llama/Llama-3.3-70B-Instruct-Turbo"
}

Proveedores Nuevos

GitHub Copilot

A partir de la versión v1.3.x, OpenCode soporta GitHub Copilot como proveedor. La autenticación utiliza las credenciales de GitHub via OAuth, lo que significa que si ya tienes una suscripción a Copilot, puedes usar los modelos disponibles sin necesidad de una API key adicional.

# Dentro de OpenCode
/connect
# Selecciona "GitHub Copilot"
# Se abrirá el flujo de autenticación OAuth de GitHub

Esto es particularmente útil para desarrolladores que ya pagan por GitHub Copilot y quieren aprovechar esa suscripción desde OpenCode.

ChatGPT Plus/Pro

Otro proveedor nuevo que permite usar tu cuenta de ChatGPT Plus o Pro. La autenticación se realiza a través del comando /connect, iniciando sesión con tu cuenta de OpenAI:

# Dentro de OpenCode
/connect
# Selecciona "ChatGPT Plus/Pro"
# Login con tu cuenta de OpenAI

Esto te permite acceder a los modelos premium de OpenAI usando tu suscripción existente sin necesidad de una API key separada.

Proveedores Custom (OpenAI-Compatible)

Si tu proveedor expone una API compatible con OpenAI, puedes configurarlo manualmente usando el paquete @ai-sdk/openai-compatible:

{
  "provider": {
    "custom-id": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.ejemplo.com/v1"
      },
      "models": {
        "nombre-modelo": { "name": "Nombre Mostrado" }
      }
    }
  }
}

La estructura es clara:

Esto funciona con cualquier servidor que implemente el protocolo de chat completions de OpenAI, incluyendo vLLM, text-generation-inference, endpoints privados de empresas, o proxies corporativos.

Otros Proveedores Soportados

Además de los principales, OpenCode soporta una lista extensa de proveedores adicionales:

ProveedorDescripción
302.AIPlataforma AI china
BasetenInferencia serverless
CerebrasHardware de inferencia rápida
Cloudflare AI GatewayProxy y observabilidad para APIs AI
Deep InfraModelos open source en la nube
Fireworks AIInferencia optimizada
GitLab DuoIntegración con GitLab
Hugging FaceHub de modelos open source
IO.NETRed descentralizada de GPUs
Moonshot AIModelos chinos con buen contexto
NebiusCloud AI europeo
SAP AI CoreIntegración empresarial SAP
Venice AIEnfoque en privacidad
Vercel AI GatewayGateway para aplicaciones Next.js

Para cualquiera de estos, el flujo es el mismo: /connect, seleccionar el proveedor, introducir las credenciales y listo.

Gestionar Proveedores

Listar proveedores configurados

opencode auth list

Verificar estado de autenticación

El comando auth list muestra el estado de cada proveedor: si las credenciales son válidas, cuándo expiran (si aplica) y qué modelos están disponibles.

Tabla Resumen

ProveedorModelos destacadosSetup rápido
AnthropicClaude Opus 4.6, Sonnet 4.6ANTHROPIC_API_KEY
OpenAIGPT-4o, o1, o3OPENAI_API_KEY
Google VertexGemini 3.1 Pro, FlashGOOGLE_CLOUD_PROJECT + gcloud
Amazon BedrockClaude, LlamaAWS profile o access keys
Azure OpenAIGPT-4oEndpoint + API key
GroqLlama 3.3 70BGROQ_API_KEY
DeepSeekDeepSeek ChatDEEPSEEK_API_KEY
xAIGrok 2XAI_API_KEY
OpenRouter100+ modelosOPENROUTER_API_KEY
Together AILlama, MixtralTOGETHER_API_KEY
GitHub CopilotModelos CopilotOAuth de GitHub
ChatGPT Plus/ProGPT-4o, o3Login OpenAI via /connect

Flujo de Decisión para Elegir Proveedor

flowchart TD
    A[Necesito un proveedor] --> B{Tengo presupuesto?}
    B -->|No| C[Modelos locales - Cap 10]
    B -->|Sí| D{Requisitos de privacidad?}
    D -->|Datos sensibles| E{Infraestructura propia?}
    E -->|AWS| F[Amazon Bedrock]
    E -->|Azure| G[Azure OpenAI]
    E -->|No| H[Modelos locales - Cap 10]
    D -->|Sin restricciones| I{Prioridad?}
    I -->|Calidad máxima| J[Anthropic / OpenAI]
    I -->|Velocidad| K[Groq]
    I -->|Costo bajo| L[DeepSeek / Together AI]
    I -->|Experimentar| M[OpenRouter]

Consejos Prácticos


Siguiente: Capitulo 10: Ollama y Modelos Locales —>