Capitulo 18: IDE y ACP
Capitulo 18: IDE y ACP
< Volver al Indice del Tutorial
OpenCode funciona en cualquier IDE que tenga una terminal integrada. No necesitas plugins ni extensiones especiales. Ademas, el Agent Client Protocol (ACP) permite una integracion mas profunda entre el editor y el agente.
IDE Integration
Compatibilidad Universal
OpenCode es una aplicacion de terminal. Esto significa que funciona en cualquier IDE que soporte una terminal embebida:
- VS Code / VS Codium
- Cursor
- Zed
- Neovim / Vim
- Emacs
- JetBrains (IntelliJ, WebStorm, PyCharm, etc.)
- Sublime Text (con terminal plugin)
Quick Launch
OpenCode soporta un atajo global para invocarlo rapidamente:
| Sistema | Atajo |
|---|---|
| macOS | Cmd + Esc |
| Windows / Linux | Ctrl + Esc |
Este atajo abre OpenCode en un split de terminal dentro de tu IDE, permitiendote alternar entre codigo y agente sin cambiar de ventana.
Workflow con VS Code
El flujo de trabajo tipico en VS Code:
- Abre el proyecto normalmente en VS Code
- Abre la terminal integrada (
Ctrl + backtick) - Ejecuta
opencodeen la terminal - Trabaja en tu codigo en el editor
- Cuando necesites asistencia AI, cambia a la terminal de OpenCode
- Usa
@archivo.tspara referenciar archivos que estas editando - OpenCode edita los archivos y VS Code detecta los cambios automaticamente
VS Code refresca los archivos modificados externamente, asi que los cambios de OpenCode aparecen inmediatamente en el editor.
Workflow con Cursor
Cursor incluye su propio agente AI integrado. OpenCode lo complementa para escenarios donde necesitas:
- Un agente con acceso a herramientas de sistema (bash, MCP servers)
- Soporte para modelos que Cursor no ofrece (Ollama, modelos locales)
- Automatizacion mas compleja con multiples pasos
- Modo no interactivo para pipelines
Ambos pueden coexistir sin conflicto. Usa Cursor AI para ediciones rapidas inline y OpenCode para tareas que requieren exploracion profunda del codebase.
Workflow con Neovim
Para usuarios de Neovim, OpenCode se integra naturalmente:
- Abre un split de terminal con
:terminal - Ejecuta
opencodeen el split - Navega entre ventanas con
Ctrl+W - OpenCode edita archivos que Neovim recarga automaticamente
Agent Client Protocol (ACP)
ACP es un protocolo estandarizado para la comunicacion entre un IDE (o cualquier cliente) y un agente AI. Funciona de manera similar a como LSP estandarizo la comunicacion entre editores y Language Servers.
Conceptos Clave
- Protocolo: comunicacion via stdin/stdout usando nd-JSON (newline-delimited JSON)
- Direccion: el IDE envia peticiones, el agente responde
- Transporte: no requiere red, usa pipes del sistema operativo
- Formato: cada mensaje es una linea JSON independiente
Iniciar el Servidor ACP
opencode acp
Este comando arranca OpenCode en modo ACP. En lugar de mostrar la TUI, escucha en stdin y responde en stdout. El IDE se encarga de enviar y recibir los mensajes JSON.
Diferencia entre ACP y MCP
Es importante no confundir ambos protocolos:
| Aspecto | ACP | MCP |
|---|---|---|
| Proposito | Comunicacion IDE ↔ Agente | Comunicacion Agente ↔ Herramientas |
| Direccion | El IDE invoca al agente | El agente invoca herramientas |
| Transporte | stdin/stdout | stdin/stdout o HTTP/SSE |
| Quien lo inicia | El IDE | El agente |
| Ejemplo | VS Code pide “refactoriza esto” | El agente consulta una base de datos |
En resumen: ACP es la interfaz entre tu editor y OpenCode. MCP es la interfaz entre OpenCode y las herramientas externas que usa.
Editores con Soporte ACP
Los editores que implementan el protocolo ACP pueden ofrecer una integracion mas rica:
- Enviar selecciones de codigo directamente al agente
- Mostrar respuestas del agente inline en el editor
- Aplicar diffs sugeridos con un click
- Sincronizar el contexto del archivo activo automaticamente
Tabla Resumen de Metodos de Integracion
| Metodo | Caso de Uso | Setup |
|---|---|---|
| Terminal en IDE | Uso general, cualquier IDE | Ninguno, solo ejecutar opencode |
| Quick Launch | Acceso rapido con atajo | Configurar keybind del sistema |
| ACP | Integracion profunda IDE ↔ agente | opencode acp + editor compatible |
opencode web | Acceso desde navegador/dispositivos | opencode web en el servidor |
opencode serve | Integracion programatica | opencode serve --port 4096 |
Cada metodo tiene su lugar. La terminal en IDE es el mas universal y no requiere configuracion. ACP ofrece la experiencia mas integrada pero depende del soporte del editor.
Siguiente: Capitulo 19: SDK y Server Mode —>