| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- ---
- title: ACP Soporte
- description: Utilice OpenCode en cualquier editor compatible con ACP.
- ---
- OpenCode admite el [Protocolo de cliente de agente](https://agentclientprotocol.com) o (ACP), lo que le permite usarlo directamente en editores e IDE compatibles.
- :::tip
- Para obtener una lista de editores y herramientas compatibles con ACP, consulte el [informe de progreso de ACP](https://zed.dev/blog/acp-progress-report#available-now).
- :::
- ACP es un protocolo abierto que estandariza la comunicación entre editores de código y agentes de codificación de IA.
- ---
- ## Configurar
- Para usar OpenCode a través de ACP, configure su editor para ejecutar el comando `opencode acp`.
- El comando inicia OpenCode como un subproceso compatible con ACP que se comunica con su editor a través de JSON-RPC a través de stdio.
- A continuación se muestran ejemplos de editores populares que admiten ACP.
- ---
- ### Zed
- Agregue a su configuración [Zed](https://zed.dev) (`~/.config/zed/settings.json`):
- ```json title="~/.config/zed/settings.json"
- {
- "agent_servers": {
- "OpenCode": {
- "command": "opencode",
- "args": ["acp"]
- }
- }
- }
- ```
- Para abrirlo, use la acción `agent: new thread` en la **Paleta de comandos**.
- También puedes vincular un atajo de teclado editando tu `keymap.json`:
- ```json title="keymap.json"
- [
- {
- "bindings": {
- "cmd-alt-o": [
- "agent::NewExternalAgentThread",
- {
- "agent": {
- "custom": {
- "name": "OpenCode",
- "command": {
- "command": "opencode",
- "args": ["acp"]
- }
- }
- }
- }
- ]
- }
- }
- ]
- ```
- ---
- ### IDE de JetBrains
- Agregue a su [JetBrains IDE](https://www.jetbrains.com/) acp.json de acuerdo con la [documentación](https://www.jetbrains.com/help/ai-assistant/acp.html):
- ```json title="acp.json"
- {
- "agent_servers": {
- "OpenCode": {
- "command": "/absolute/path/bin/opencode",
- "args": ["acp"]
- }
- }
- }
- ```
- Para abrirlo, use el nuevo agente 'OpenCode' en el selector de agentes de AI Chat.
- ---
- ### Avante.nvim
- Agregue a su configuración [Avante.nvim](https://github.com/yetone/avante.nvim):
- ```lua
- {
- acp_providers = {
- ["opencode"] = {
- command = "opencode",
- args = { "acp" }
- }
- }
- }
- ```
- Si necesita pasar variables de entorno:
- ```lua {6-8}
- {
- acp_providers = {
- ["opencode"] = {
- command = "opencode",
- args = { "acp" },
- env = {
- OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
- }
- }
- }
- }
- ```
- ---
- ### CódigoCompanion.nvim
- Para usar OpenCode como agente ACP en [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), agregue lo siguiente a su configuración de Neovim:
- ```lua
- require("codecompanion").setup({
- interactions = {
- chat = {
- adapter = {
- name = "opencode",
- model = "claude-sonnet-4",
- },
- },
- },
- })
- ```
- Esta configuración configura CodeCompanion para usar OpenCode como agente ACP para el chat.
- Si necesita pasar variables de entorno (como `OPENCODE_API_KEY`), consulte [Configuración de adaptadores: variables de entorno](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) en la documentación de CodeCompanion.nvim para obtener detalles completos.
- ## Apoyo
- OpenCode funciona igual a través de ACP que en la terminal. Todas las funciones son compatibles:
- :::note
- Algunos comandos de barra integrados como `/undo` y `/redo` no son compatibles actualmente.
- :::
- - Herramientas integradas (operaciones de archivos, comandos de terminal, etc.)
- - Herramientas personalizadas y comandos de barra
- - Servidores MCP configurados en su configuración OpenCode
- - Reglas específicas del proyecto de `AGENTS.md`
- - Formateadores y linters personalizados
- - Sistema de agentes y permisos.
|