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: 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
Ajoutez à votre configuration [Zed](https://zed.dev) (`~/.config/zed/settings.json`) :
```json title="~/.config/zed/settings.json"
{
"agent_servers": {
"OpenCode": {
"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
|