4. Providers y modelos

Por: Artiko
gooseprovidersclaude-codecodexcursorgeminiacp

4. Providers y modelos

La pieza más importante de Goose: el provider define cómo habla con el modelo.

Hay tres familias de providers:

flowchart TD
    G[Goose] --> CP[CLI Providers]
    G --> ACP[ACP Providers]
    G --> OAI[OpenAI-compat APIs]

    CP --> C1[Claude Code]
    CP --> C2[Codex]
    CP --> C3[Cursor Agent]
    CP --> C4[Gemini CLI]

    ACP --> A1[Agentes\nempresariales]

    OAI --> O1[OpenAI directo]
    OAI --> O2[OpenRouter]
    OAI --> O3[Together / Local]

    style CP fill:#dcfce7,stroke:#166534
    style ACP fill:#bfdbfe,stroke:#1e40af
    style OAI fill:#fef3c7,stroke:#92400e

CLI providers — la novedad de Goose

Idea: en lugar de que Goose hable directo con la API de Anthropic/OpenAI/Google, invoca la CLI oficial de cada vendor.

flowchart LR
    G[Goose] -->|spawn process| CC[claude-code CLI]
    CC -->|API calls| AT[API Anthropic]

¿Por qué hacer esto?

Claude Code provider

# ~/.config/goose/config.yaml
goose_provider: claude-code
goose_model: claude-sonnet-4-5

Pre-requisito: tener claude instalado y autenticado:

which claude  # /usr/local/bin/claude
claude --version

Si Claude Code está autenticado, Goose hereda esa autenticación. No tenés que pasar API keys a Goose.

Codex provider

goose_provider: codex
goose_model: gpt-5-codex

Misma lógica con codex CLI de OpenAI.

Cursor Agent provider

goose_provider: cursor-agent
goose_model: claude-sonnet-4-5  # o el que Cursor soporte

Pre-requisito: Cursor instalado con cursor-agent en PATH. Permite usar tu suscripción de Cursor desde Goose CLI.

Gemini CLI provider

goose_provider: gemini-cli
goose_model: gemini-2.5-pro

Pre-requisito: gcloud auth configurado o API key de Google AI Studio.

Cuándo usar CLI providers

Cuándo no


ACP providers (Agent Connect Protocol)

ACP es un protocolo abierto para que agentes externos se enchufen a Goose. Pensado para entornos enterprise donde existe un servicio interno que ya hace inferencia.

flowchart LR
    G[Goose] -->|ACP HTTP/gRPC| EA[Enterprise Agent\nendpoint]
    EA --> M[Modelo interno\non-prem]

Configuración típica:

goose_provider: acp
acp:
  endpoint: https://agents.empresa.com/v1
  auth:
    type: bearer
    token_env: ACP_TOKEN

ACP es la respuesta de Goose a “¿cómo me integro con el plataforma de agentes que ya tiene mi empresa?”. Si tu organización tiene una capa de IA interna con su propia gobernanza, ACP es el camino.


OpenAI-compatible APIs

La opción clásica: API key + endpoint. Funciona con:

goose_provider: openai
goose_model: gpt-4o
openai:
  api_key_env: OPENAI_API_KEY
  base_url: https://api.openai.com/v1  # default

Para OpenRouter:

goose_provider: openai
goose_model: anthropic/claude-sonnet-4.5
openai:
  api_key_env: OPENROUTER_API_KEY
  base_url: https://openrouter.ai/api/v1

Para Ollama local:

goose_provider: openai
goose_model: llama3.1
openai:
  api_key_env: OLLAMA_KEY  # cualquiera, ollama no valida
  base_url: http://localhost:11434/v1

Configuración interactiva

Si no querés escribir YAML a mano:

goose configure --provider

Te lleva por un wizard:

? ¿Qué provider querés? (Use arrow keys)
> claude-code
  codex
  cursor-agent
  gemini-cli
  openai
  acp

? ¿Modelo default? claude-sonnet-4-5
? ¿Verificar conexión? Y
✓ provider responde correctamente

Variables de entorno relevantes

VariableUso
GOOSE_PROVIDEROverride del provider en runtime
GOOSE_MODELOverride del modelo
OPENAI_API_KEYPara provider openai
OPENROUTER_API_KEYPara OpenRouter via provider openai
ANTHROPIC_API_KEYSi Claude Code provider la necesita
GOOGLE_API_KEYPara Gemini directo
ACP_TOKENAuth para ACP provider

Cobertura completa en el capítulo 14.


Cambiar provider en una sesión

Sin salir:

> /model claude-haiku-4-5
✓ switched to claude-haiku-4-5

Si necesitás cambiar el provider, salí y arrancá nueva sesión:

GOOSE_PROVIDER=openai goose session

Benchmarking de providers

¿Cuál provider corre tu workload más rápido / barato / mejor? Goose tiene un comando incluido:

goose bench

Corre una batería de tareas estándar contra cada provider configurado y reporta:

Útil antes de elegir provider para producción, no después.


Recomendaciones por caso de uso

SituaciónProvider recomendado
Desarrollador individual con Claude Proclaude-code
Desarrollador individual con ChatGPT Pluscodex
Equipo con Cursor empresarialcursor-agent
Plataforma interna con modelos privadosacp
Multi-modelo (planner barato + executor caro)openai con OpenRouter (capítulo 5)
Modelos locales / on-premopenai apuntando a vLLM/Ollama
CI / pipelinesopenai directo (sin dependencias de CLI extras)

Errores típicos

”provider claude-code: command not found”

La CLI subyacente no está instalada o no está en PATH. Instalala primero (claude para Claude Code, cursor-agent para Cursor).

“401 Unauthorized” en provider openai

API key inválida o expirada. Verificá:

echo $OPENAI_API_KEY | head -c 20  # debería empezar con sk-

“model not found”

El nombre del modelo cambió o no existe en tu provider. Listá modelos disponibles del provider directamente:

# OpenAI
curl https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY"

CLI provider mucho más lento que API directa

Es esperable: estás añadiendo una capa de IPC. Si latencia importa, usá API directa.


¿Qué viene?

Sabés conectar un provider. Pero los workflows serios usan múltiples modelos en la misma sesión: uno barato para planificar, otro caro para ejecutar. En el próximo capítulo cubrimos multi-model config — una de las features que distingue a Goose de la competencia.