Guía10 min

Cómo usar Windsurf (Devin Desktop): guía práctica del IDE con agente

Resumen

Windsurf ahora es Devin Desktop: IDE con Cascade y Devin Local. Esta guía cubre instalación, modos Code/Chat, reglas en .devin/rules y AGENTS.md, workflows, MCP, checkpoints y un checklist para no mezclar el agente legado con el harness nuevo.

GitHub
Escritorio de un IDE con un panel de agente, reglas del repo y un flujo de código en dos modos

Qué resuelve

Esta pieza se queda en la decisión práctica: qué instalar, qué riesgo agrega y cómo aplicarlo sin romper operación.

Si buscas "cómo usar Windsurf" en 2026, el producto que instalas ya no se llama así en la UI. Cognition rebrandó el editor a Devin Desktop: el binario de Linux es devin-desktop, el comando de terminal es el mismo y las URLs de repositorio todavía dicen windsurf. El agente que ves por defecto en pestañas nuevas es Devin Local; Cascade sigue ahí como el harness legado. Mezclar los dos es el error más caro de esta guía.

Esta pieza es el tutorial de uso. La comparativa de superficies (IDE vs CLI) está en Cursor vs Claude Code. El mapa de opciones vive en mejores agentes de código en 2026.

Qué es Windsurf / Devin Desktop, en una frase útil

Es un IDE (fork de VS Code) con dos agentes locales:

  1. Devin Local: el harness nuevo, compartido con Devin CLI. Menos tokens (hasta ~30% menos que Cascade, según la doc oficial), subagentes, sandbox de filesystem/red y modos Normal / Plan / Ask.
  2. Cascade: el agente original de Windsurf. Modos Code y Chat, tool calling con tope de 20 llamadas por prompt, memories, workflows y MCP vía ~/.codeium/windsurf/mcp_config.json.

Las pestañas nuevas arrancan en Devin Local si no elegiste un agente preferido. Restricted Mode apaga Cascade, Devin Local y cualquier otro agente ACP.

Instalar y abrir el primer repo

La guía de getting started lista descargas para Mac (OS X Yosemite+), Windows 10+ y Linux. En Debian/Ubuntu el paquete se llama devin-desktop; windsurf queda como metapaquete transicional. En onboarding deja marcada la opción de instalar el comando de terminal:

devin-desktop ~/Developer/mi-proyecto

Puedes importar keybindings de VS Code o Cursor. El login es con cuenta Devin; si el OAuth falla, pega una API key a mano. No copies esa key al chat del agente.

Cascade: Code, Chat y el techo de 20 tools

Abre Cascade con Cmd/Ctrl+L o el icono superior derecho. El texto seleccionado en editor o terminal entra solo.

ModoQué haceCuándo
CodeCrea y modifica el repoImplementar, refactor, tests
ChatPreguntas; puede proponer código para que aceptesEntender un módulo, no editar

Cascade planea en segundo plano: un agente de planning actualiza un Todo mientras tu modelo elige el siguiente paso corto. Puedes encolar mensajes con Enter mientras trabaja; Enter otra vez en caja vacía lo manda ya.

El techo documentado: hasta 20 tool calls por prompt. Si se detiene, continue reanuda… y cuenta como un crédito nuevo. Auto-Continue automatiza eso y también cobra. No lo dejes encendido en un loop de lint.

Revertir: hover sobre el prompt original y la flecha de revert. La doc avisa: los reverts son irreversibles. Un checkpoint con nombre es más seguro que revertir a ciegas.

Dos Cascades a la vez pueden correr, pero si editan el mismo archivo hay race: a veces el segundo edit falla.

Panel de agente con modos Code y Chat y una cola de mensajes

Devin Local: el default que no hereda todo de Cascade

Devin Local no persiste Memories de Cascade. MCP de Cascade (mcp_config.json) no aplica: se configura en los archivos del CLI. Workflows de Cascade no existen ahí; la doc pide migrarlos a skills con Devin: Open Cascade Migration Wizard.

Modos propios (los del CLI): Normal, Plan y Ask. Plan es investigación de solo lectura; el plan queda en ~/.devin/plans/plan-<session>.md. Si pides megaplan / ultraplan / masterplan, el agente pregunta al menos una aclaración antes de escribir el plan.

Subagentes: toggle Subagents (Preview) en Settings. Perfiles en agents/<name>.md o agents/<name>/AGENT.md. Quick Review es un subagente dedicado para feedback rápido del diff.

Sandbox: paths escribibles según permisos, Read(...) deny oculta rutas, allow/deny de dominios. En Enterprise el admin puede forzar sandbox.

Si no ves Devin Local: Command Palette → Devin User Settings → Agents → toggle on → reinicia. En Enterprise un admin debe activar Devin Local Agent en Settings → Windsurf.

Reglas, AGENTS.md, memories, workflows, skills

No son sinónimos. La tabla oficial es el contrato:

PiezaQuéActivaciónÚsala para
RulesCómo comportarsealways_on, glob, model_decision, manualpnpm not npm, convenciones
AGENTS.mdRules por ubicaciónroot = always-on; subdir = globVer AGENTS.md para coding agents
WorkflowsPasos repetiblesSolo /nombre a manoPR comments, deploy
SkillsProcedimiento + archivosEl modelo o @mentionTareas complejas; invierte aquí. Ver skills de agentes
MemoriesHechos auto-generadosRetrieval automáticoOne-offs; no es la fuente de verdad

Rutas actuales: .devin/rules/*.md (preferido) o .windsurf/rules/*.md (fallback). Global: ~/.codeium/windsurf/memories/global_rules.md (6 000 caracteres, always on). Workspace: 12 000 por archivo. Memories auto van a ~/.codeium/windsurf/memories/ y no se commitean. Para algo durable, regla o AGENTS.md.

Ejemplo de regla con glob:

---
trigger: glob
globs: **/*.test.ts
---

Usa describe/it. Mockea APIs externas. No hits de red en unit tests.

Workflows viven en .windsurf/workflows/*.md y se invocan /nombre. Cascade no los lanza solo. Devin Local no los corre: migra a skill.

MCP, ignore y lint

Cascade: marketplace o ~/.codeium/windsurf/mcp_config.json. Transportes: stdio, Streamable HTTP, SSE, con OAuth. Tope: 100 tools en total; apaga las que no uses. Deeplink windsurf://windsurf-mcp-registry?serverName=github-mcp-server. Devin Local usa la config MCP del CLI, no este JSON.

Para que Cascade no vea un path: .codeiumignore en la raíz (sintaxis tipo gitignore). Enterprise puede poner uno global en ~/.codeium/.

Auto-fix de lint viene encendido. Un edit cuyo objetivo es arreglar lints que Cascade acaba de crear puede no cobrar crédito.

Flujo de reglas, MCP y sandbox entre Cascade y Devin Local

Cuándo Windsurf y cuándo no

Usa Devin Desktop si quieres un IDE tipo VS Code con agente, importar settings de Cursor y un harness local (Devin Local) además del legado (Cascade).

Usa Cursor si tu flujo ya vive en Tab + Agent de Cursor y no quieres otro fork.

Usa un CLI (OpenCode, Claude Code, Codex) si el trabajo es headless, CI o un worktree por agente.

El curso corto para armar el primer agente, fuera del IDE, está en /curso/instalar-agente. El hub de construcción es construir agentes.

Checklist de 15 minutos

  1. Instala Devin Desktop; abre el repo con devin-desktop ..
  2. Mira el selector de agente. Si dice Cascade y querías el default nuevo, cambia a Devin Local.
  3. Pon convenciones en AGENTS.md de la raíz (corto, listas, sin "escribe buen código").
  4. Una regla glob en .devin/rules/ para tests o frontend.
  5. No copies workflows de Cascade a un tab de Devin Local; corre el Migration Wizard o reescríbelos como skill.
  6. MCP: menos de 100 tools. Tokens de GitHub en env del servidor, nunca en el prompt.
  7. .codeiumignore para .env, secrets y dumps.
  8. Tarea de prueba en Chat o Ask; si el plan cierra, Code o Normal.
  9. Checkpoint con nombre antes de un refactor grande. No confíes en revert irreversible.
  10. Diff en Git tuyo, no el del panel. Commit con paths, nunca git add ..

FAQ

¿Sigo buscando "Windsurf" o "Devin Desktop"? Ambos. Docs y changelog todavía usan Windsurf; el paquete y la UI dicen Devin Desktop.

¿Cascade desapareció? No. Sigue como agente legado. Memories, workflows y mcp_config.json son de Cascade. Devin Local es otro harness.

¿Los créditos de continue son gratis? No. Cada continue (y cada Auto-Continue) consume crédito del modelo.

¿Puedo ignorar files como en gitignore? Sí, con .codeiumignore. Gitignore no es suficiente: el agente lee disco.

Fuentes

Verificadas el 2026-09-07 en docs.devin.ai: getting started, Cascade, memories & rules, MCP, Devin Local, AGENTS.md, workflows.