157 lines
3.8 KiB
Plaintext
157 lines
3.8 KiB
Plaintext
---
|
|
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.
|