1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
---
title: Soporte ACP
description: Utilice OpenCode en cualquier editor compatible con ACP.
---
OpenCode admite el [Agent Client Protocol](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.
---
## Configuración
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"]
}
}
}
}
]
}
}
]
```
---
### JetBrains IDEs
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")
}
}
}
}
```
---
### CodeCompanion.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.
## Soporte
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.
|