1. Qué es Goose y por qué importa
1. Qué es Goose y por qué importa
Definición operativa
Goose es la capa de agente que envuelve a un modelo de lenguaje (Claude, GPT, Gemini, Llama) y le da permisos, sesiones, herramientas, recipes y conexión a servidores MCP para que pueda operar sobre tu codebase, no solo conversar sobre él.
Tres capas concéntricas:
flowchart LR
M["Modelo LLM<br/>(Claude, GPT, Gemini)"] --> A["Goose<br/>agente operativo"]
A --> T["Tu sistema:<br/>archivos, comandos,<br/>MCP servers"]
El modelo piensa. Goose actúa sobre tu sistema según los permisos que le diste y las extensiones que tenés configuradas.
Origen e historia
| Año | Hito |
|---|---|
| 2024 | Goose nace en Block (la empresa de Jack Dorsey, dueña de Square y Cash App) |
| 2025 | Open source bajo licencia Apache 2.0 |
| 2026 | Migración a la Agentic AI Foundation (AAIF) — gobernanza comunitaria |
La AAIF es similar en espíritu a la CNCF para cloud native: un hogar neutral para proyectos de agentes que no quieren depender de un único vendor. Ese cambio importa: Goose ya no es “el agente de Block”, es un proyecto comunitario.
Posicionamiento frente a alternativas
| Herramienta | Provider | Open source | Multi-model | Foco |
|---|---|---|---|---|
| Goose | Cualquiera (CLI providers, ACP, OpenAI-compat) | ✅ | ✅ nativo | Portabilidad y control |
| Claude Code | Anthropic | ❌ | ❌ | Profundidad con Claude |
| Cursor Agent | Multi (UI Cursor) | ❌ | ⚠️ limitado | IDE-first |
| Aider | Multi | ✅ | ⚠️ por sesión | Diff-driven |
| Codex CLI | OpenAI | ✅ | ❌ | OpenAI ecosystem |
El argumento de Goose: si querés un agente capaz pero no querés casarte con un vendor, ni con un modelo, ni con una nube, Goose es la apuesta más fuerte hoy.
Cuándo elegir Goose
- Necesitás portabilidad de modelo: hoy Claude, mañana Gemini, pasado un Llama on-prem.
- Querés multi-model nativo: planner barato + executor caro.
- Tenés necesidades enterprise: allowlist, sandbox, deployment privado.
- Querés un ecosistema de recipes compartible y reutilizable.
Cuándo no
- Sos un usuario individual cómodo con Claude Code/Cursor y no necesitás cambiar.
- Querés la integración más profunda posible con un único modelo (Claude Code para Claude, por ejemplo).
- Necesitás IDE-first con UI rica como Cursor — Goose es CLI/Desktop, no plugin de VS Code.
Arquitectura interna
flowchart TB
UI[CLI / Desktop UI] --> S[Session Manager]
S --> P[Provider Layer]
P -->|Claude Code provider| CC[Claude Code CLI]
P -->|Codex provider| OAI[Codex CLI]
P -->|Gemini CLI provider| G[Gemini CLI]
P -->|ACP provider| ACP[Agent Connect Protocol]
P -->|OpenAI-compat| OC[OpenAI / Together / Local]
S --> E[Extensions]
E -->|MCP| MCP[MCP servers]
E -->|Built-in tools| BI[file ops, shell, search]
S --> R[Recipes engine]
S --> SUB[Subagents]
S --> Cfg[Configuration\nyaml + env vars]
style P fill:#fef3c7,stroke:#92400e
style E fill:#bfdbfe,stroke:#1e40af
Cinco capas:
- UI (CLI o Desktop) — interfaz humana.
- Session Manager — persistencia, history, context engineering.
- Provider Layer — adaptadores hacia el modelo. Cubrimos los providers en el capítulo 4.
- Extensions — capacidades del agente. Built-in (filesystem, shell) + servidores MCP externos.
- Recipes / Subagents — composición de flujos y delegación de tareas.
CLI vs Desktop
CLI (goose)
Para el día a día de desarrollo desde la terminal:
goose session # nueva sesión interactiva
goose session --name fix-1 # con nombre persistente
goose run <recipe.yaml> # ejecutar un recipe
Funciona en macOS, Linux y Windows. Es lo que usan equipos serios — más rápido, scriptable, integrable con CI.
Desktop
Aplicación nativa con UI gráfica. Algunos features extra:
- Sandbox opcional en macOS (limita I/O y red).
- Customización del sidebar.
- Integración con MCP-UI para servidores que tienen UI propia.
- Project switcher visual.
Punto medio entre Cursor (IDE-first) y la CLI: tenés UI sin perder la naturaleza agentic.
Conceptos esenciales antes de seguir
Provider
El modelo y cómo lo invocás. Si usás Claude Code provider, Goose llama a la CLI de Claude Code en background; si usás OpenAI-compat, hace requests HTTP directos.
Session
Una conversación con estado entre vos y el agente. Persiste history, context, herramientas activas. Podés tener múltiples sesiones nombradas en paralelo.
Project
Un directorio + configuración asociada (modelo, extensiones, instrucciones persistentes). El equivalente a un workspace.
Recipe
Un archivo YAML que define una tarea reutilizable: prompt, herramientas requeridas, parámetros, validación.
Extension
Una capability que el agente puede usar. Pueden ser:
- Built-in (filesystem, shell).
- MCP servers (cualquiera del ecosistema MCP).
Subagent
Una instancia separada del agente que ejecuta una tarea sin contaminar tu sesión principal. Útil para investigación paralela.
El mantra de Goose
A diferencia de “AI codes for you” (Cursor) o “Claude debugs with you” (Claude Code), Goose se posiciona como:
Your open source AI agent.
El énfasis está en:
- Open source: podés inspeccionarlo, forkearlo, auditarlo.
- Agent: no es chat, es operación con herramientas y permisos.
- Yours: tu modelo, tu config, tu data.
Si esa narrativa te resuena, el resto del tutorial te va a parecer una secuencia lógica. Si preferís magia y menos config, alternativas como Cursor te van a ser más cómodas.
¿Qué viene?
En el próximo capítulo instalamos Goose (CLI + Desktop) y validamos que arranca correctamente, listos para conectar el primer modelo.