| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- ---
- title: ACP-Unterstützung
- description: Verwenden Sie OpenCode in jedem ACP-kompatiblen Editor.
- ---
- OpenCode unterstützt [Agent Client Protocol](https://agentclientprotocol.com) oder (ACP), sodass Sie es direkt in kompatiblen Editoren und IDEs verwenden können.
- :::tip
- Eine Liste der Editoren und Tools, die ACP unterstützen, finden Sie unter [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now).
- :::
- ACP ist ein offenes Protokoll, das die Kommunikation zwischen Code-Editoren und AI-Coding-Agenten standardisiert.
- ---
- ## Konfiguration
- Um OpenCode über ACP zu verwenden, konfigurieren Sie Ihren Editor für die Ausführung des Befehls `opencode acp`.
- Der Befehl startet OpenCode als ACP-kompatiblen Unterprozess, der über stdio über JSON-RPC mit Ihrem Editor kommuniziert.
- Nachfolgend finden Sie Beispiele für beliebte Editoren, die ACP unterstützen.
- ---
- ### Zed
- Fügen Sie Ihrer [Zed](https://zed.dev)-Konfiguration (`~/.config/zed/settings.json`) Folgendes hinzu:
- ```json title="~/.config/zed/settings.json"
- {
- "agent_servers": {
- "OpenCode": {
- "command": "opencode",
- "args": ["acp"]
- }
- }
- }
- ```
- Um es zu öffnen, verwenden Sie die Aktion `agent: new thread` in der **Befehlspalette**.
- Sie können auch eine Tastenkombination binden, indem Sie Ihren `keymap.json` bearbeiten:
- ```json title="keymap.json"
- [
- {
- "bindings": {
- "cmd-alt-o": [
- "agent::NewExternalAgentThread",
- {
- "agent": {
- "custom": {
- "name": "OpenCode",
- "command": {
- "command": "opencode",
- "args": ["acp"]
- }
- }
- }
- }
- ]
- }
- }
- ]
- ```
- ---
- ### JetBrains IDEs
- Fügen Sie zu Ihrem [JetBrains IDE](https://www.jetbrains.com/) acp.json gemäß [Dokumentation](https://www.jetbrains.com/help/ai-assistant/acp.html) hinzu:
- ```json title="acp.json"
- {
- "agent_servers": {
- "OpenCode": {
- "command": "/absolute/path/bin/opencode",
- "args": ["acp"]
- }
- }
- }
- ```
- Um es zu öffnen, verwenden Sie den neuen Agenten „OpenCode“ in der AI Chat Agent Selector.
- ---
- ### Avante.nvim
- Fügen Sie Ihrer [Avante.nvim](https://github.com/yetone/avante.nvim)-Konfiguration Folgendes hinzu:
- ```lua
- {
- acp_providers = {
- ["opencode"] = {
- command = "opencode",
- args = { "acp" }
- }
- }
- }
- ```
- Wenn Sie Umgebungsvariablen übergeben müssen:
- ```lua {6-8}
- {
- acp_providers = {
- ["opencode"] = {
- command = "opencode",
- args = { "acp" },
- env = {
- OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
- }
- }
- }
- }
- ```
- ---
- ### CodeCompanion.nvim
- Um OpenCode als ACP-Agent in [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim) zu verwenden, fügen Sie Folgendes zu Ihrer Neovim-Konfiguration hinzu:
- ```lua
- require("codecompanion").setup({
- interactions = {
- chat = {
- adapter = {
- name = "opencode",
- model = "claude-sonnet-4",
- },
- },
- },
- })
- ```
- Diese Konfiguration richtet CodeCompanion so ein, dass OpenCode als ACP-Agent für den Chat verwendet wird.
- Wenn Sie Umgebungsvariablen (wie `OPENCODE_API_KEY`) übergeben müssen, finden Sie ausführliche Informationen zu [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) in der Dokumentation zu CodeCompanion.nvim.
- ## Unterstützung
- OpenCode funktioniert über ACP genauso wie im Terminal. Alle Funktionen werden unterstützt:
- :::note
- Einige integrierte Slash-Befehle wie `/undo` und `/redo` werden derzeit nicht unterstützt.
- :::
- - Integrierte Tools (Dateioperationen, Terminalbefehle usw.)
- - Benutzerdefinierte Tools und Slash-Befehle
- - MCP-Server, die in Ihrer OpenCode-Konfiguration konfiguriert sind
- - Projektspezifische Regeln von `AGENTS.md`
- - Benutzerdefinierte Formatierer und Linters
- - Agenten- und Berechtigungssystem
|