---
title: ACP support
description: Brug OpenCode i enhver ACP-kompatibel editor.
---

OpenCode understøtter [Agent Client Protocol](https://agentclientprotocol.com) eller (ACP), så du kan bruge det direkte i kompatible editorer og IDE'er.

:::tip
For en liste over editorer og værktøjer, der understøtter ACP, tjek [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now).
:::

ACP er en åben protokol, der standardiserer kommunikation mellem kodeeditorer og AI-kodningsagenter.

---

## Konfigurer

For at bruge OpenCode via ACP, konfigurer din editor til at køre kommandoen `opencode acp`.

Kommandoen starter OpenCode som en ACP-kompatibel underproces, der kommunikerer med din editor over JSON-RPC via stdio.

Nedenfor er eksempler på populære editorer, der understøtter ACP.

---

### Zed

Føj til din [Zed](https://zed.dev)-konfiguration (`~/.config/zed/settings.json`):

```json title="~/.config/zed/settings.json"
{
  "agent_servers": {
    "OpenCode": {
      "command": "opencode",
      "args": ["acp"]
    }
  }
}
```

For at åbne den skal du bruge handlingen `agent: new thread` i **Kommandopaletten**.

Du kan også binde en tastaturgenvej ved at redigere din `keymap.json`:

```json title="keymap.json"
[
  {
    "bindings": {
      "cmd-alt-o": [
        "agent::NewExternalAgentThread",
        {
          "agent": {
            "custom": {
              "name": "OpenCode",
              "command": {
                "command": "opencode",
                "args": ["acp"]
              }
            }
          }
        }
      ]
    }
  }
]
```

---

### JetBrains IDE'er

Tilføj til din [JetBrains IDE](https://www.jetbrains.com/) acp.json i henhold til [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html):

```json title="acp.json"
{
  "agent_servers": {
    "OpenCode": {
      "command": "/absolute/path/bin/opencode",
      "args": ["acp"]
    }
  }
}
```

For at åbne den skal du bruge den nye 'OpenCode'-agent i AI Chat-agentvælgeren.

---

### Avante.nvim

Føj til din [Avante.nvim](https://github.com/yetone/avante.nvim)-konfiguration:

```lua
{
  acp_providers = {
    ["opencode"] = {
      command = "opencode",
      args = { "acp" }
    }
  }
}
```

Hvis du har brug for at videregive miljøvariabler:

```lua {6-8}
{
  acp_providers = {
    ["opencode"] = {
      command = "opencode",
      args = { "acp" },
      env = {
        OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
      }
    }
  }
}
```

---

### CodeCompanion.nvim

For at bruge OpenCode som en ACP-agent i [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), skal du tilføje følgende til din Neovim-konfiguration:

```lua
require("codecompanion").setup({
  interactions = {
    chat = {
      adapter = {
        name = "opencode",
        model = "claude-sonnet-4",
      },
    },
  },
})
```

Denne konfiguration sætter CodeCompanion til at bruge OpenCode som ACP-agent til chat.

Hvis du har brug for at sende miljøvariabler (som `OPENCODE_API_KEY`), henvises til [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) i CodeCompanion.nvim-dokumentationen for alle detaljer.

## Support

OpenCode fungerer på samme måde via ACP som i terminalen. Alle funktioner understøtter:

:::note
Nogle indbyggede slash-kommandoer som `/undo` og `/redo` er i øjeblikket ikke understøttet.
:::

- Indbyggede værktøjer (filoperationer, terminalkommandoer osv.)
- Brugerdefinerede værktøjer og slash-kommandoer
- MCP-servere konfigureret i din OpenCode-konfiguration
- Projektspecifikke regler fra `AGENTS.md`
- Brugerdefinerede formatere og linters
- Agenter og tilladelsessystem
