--- 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