File size: 4,256 Bytes
0dbc9de | 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 157 158 159 160 | ---
title: Support ACP
description: Utilisez OpenCode dans n’importe quel éditeur compatible ACP.
---
OpenCode prend en charge le [Agent Client Protocol](https://agentclientprotocol.com) (ACP), vous permettant de l'utiliser directement dans les éditeurs et IDE compatibles.
:::tip
Pour obtenir une liste des éditeurs et des outils prenant en charge ACP, consultez le [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now).
:::
ACP est un protocole ouvert qui standardise la communication entre les éditeurs de code et les agents de codage AI.
---
## Configuration
Pour utiliser OpenCode via ACP, configurez votre éditeur pour exécuter la commande `opencode acp`.
La commande démarre OpenCode en tant que sous-processus compatible ACP qui communique avec votre éditeur via JSON-RPC sur stdio.
Vous trouverez ci-dessous des exemples d'éditeurs populaires prenant en charge ACP.
---
### Zed
Installez OpenCode depuis le [registre ACP de Zed](https://zed.dev/docs/ai/external-agents#registry) en exécutant `zed: acp registry` dans la palette de commandes.
Pour utiliser plutôt un exécutable OpenCode personnalisé, ajoutez-le à votre configuration [Zed](https://zed.dev) (`~/.config/zed/settings.json`) :
```json title="~/.config/zed/settings.json"
{
"agent_servers": {
"OpenCode": {
"type": "custom",
"command": "opencode",
"args": ["acp"]
}
}
}
```
Pour l'ouvrir, utilisez l'action `agent: new thread` dans la **Palette de commandes**.
Vous pouvez également associer un raccourci clavier en modifiant votre `keymap.json` :
```json title="keymap.json"
[
{
"bindings": {
"cmd-alt-o": [
"agent::NewExternalAgentThread",
{
"agent": {
"custom": {
"name": "OpenCode",
"command": {
"command": "opencode",
"args": ["acp"]
}
}
}
}
]
}
}
]
```
---
### IDE JetBrains
Ajoutez `acp.json` à votre [IDE JetBrains](https://www.jetbrains.com/) conformément à la [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html) :
```json title="acp.json"
{
"agent_servers": {
"OpenCode": {
"command": "/absolute/path/bin/opencode",
"args": ["acp"]
}
}
}
```
Pour l'ouvrir, utilisez le nouvel agent « OpenCode » dans le sélecteur d'agent AI Chat.
---
### Avante.nvim
Ajoutez à votre configuration [Avante.nvim](https://github.com/yetone/avante.nvim) :
```lua
{
acp_providers = {
["opencode"] = {
command = "opencode",
args = { "acp" }
}
}
}
```
Si vous devez transmettre des variables d'environnement :
```lua {6-8}
{
acp_providers = {
["opencode"] = {
command = "opencode",
args = { "acp" },
env = {
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
}
}
}
}
```
---
### CodeCompanion.nvim
Pour utiliser OpenCode comme agent ACP dans [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), ajoutez ce qui suit à votre configuration Neovim :
```lua
require("codecompanion").setup({
interactions = {
chat = {
adapter = {
name = "opencode",
model = "claude-sonnet-4",
},
},
},
})
```
Cette configuration configure CodeCompanion pour utiliser OpenCode comme agent ACP pour le chat.
Si vous devez transmettre des variables d'environnement (comme `OPENCODE_API_KEY`), reportez-vous à [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) dans la documentation CodeCompanion.nvim pour plus de détails.
## Prise en charge
OpenCode fonctionne de la même manière via ACP que dans le terminal. Toutes les fonctionnalités sont prises en charge :
:::note
Certaines commandes slash intégrées telles que `/undo` et `/redo` ne sont actuellement pas prises en charge.
:::
- Outils intégrés (opérations sur les fichiers, commandes de terminal, etc.)
- Outils personnalisés et commandes slash
- Serveurs MCP configurés dans votre configuration OpenCode
- Règles spécifiques au projet à partir de `AGENTS.md`
- Formateurs et linters personnalisés
- Système d'agents et d'autorisations
|