---
title: Wsparcie AKP
description: przetwarzanie OpenCode w procesorze komunikatu z ACP.
---

OpenCode obsługi [Protokół klienta agenta](https://agentclientprotocol.com) lub (ACP), dzięki któremu można przejść do oprogramowania bezpośrednio w zainstalowanych edytorach i środowisku IDE.

:::tip
Lista edytorów i narzędzi obsługujących ACP w [raportu sprzętu ACP](https://zed.dev/blog/acp-progress-report#available-now).
:::

ACP do otwierania dokumentów, które standaryzują treść między edytorami kodu a agentem kodującym AI.

---

## Skonfiguruj

Aby wybrać OpenCode przez ACP, skonfiguruj edytor tak, aby wybrać opcję `opencode acp`.

Uruchomienie OpenCode jako podproces oprogramowania z ACP, który komunikuje się z edytorem poprzez JSON-RPC poprzez stdio.

Poniżej znajdują się przykłady procesorów obsługujących ACP.

---

### Zeda

Dodaj do konstrukcji [Zed](https://zed.dev) (`~/.config/zed/settings.json`):

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

Aby przejść do akcji, `agent: new thread` w **Palecie redakcji**.

Można także po skrócie skrótowym, edytując `keymap.json`:

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

---

### IDE JetBrains

Dodaj do swojego [JetBrains IDE](https://www.jetbrains.com/) acp.json zgodnie z [dokumentacją](https://www.jetbrains.com/help/ai-assistant/acp.html):

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

Aby przejść do nowego agenta „OpenCode” w selektorze agenta AI Chat.

---

### Avante.nvim

Dodaj do konstrukcji [Avante.nvim](https://github.com/yetone/avante.nvim):

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

Jeśli chcesz zachować bezpieczeństwo:

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

---

### CodeCompanion.nvim

Aby OpenCode jako agenta ACP w [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), dodaj dodatkowe elementy, aby otrzymać konstrukcje Neovim:

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

Ta konfiguracja CodeCompanion wymaga OpenCode jako agenta ACP dla czatu.

Jeśli jesteś zarejestrowany jako `OPENCODE_API_KEY`, zapoznaj się z sekcją [Konfigurowanie adapterów: Zmienne przebieg](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) w dokumentacji CodeCompanion.nvim, aby uzyskać szczegółowe informacje.

## Wsparcie

OpenCode działa tak samo przez ACP, jak w terminalu. Obsługiwane są wszystkie funkcje:

:::note
początek źródła ukośnikowego, takie jak `/undo` i `/redo`, nie są aktualne pobierane.
:::

- Wbudowane narzędzie (operacje na plikach, rozwiązanie terminala itp.)
- Niestandardowe narzędzie i polecenie ukośnikowe
- Serwery MCP skonfigurowane w konfiguracji OpenCode
- Zasady dotyczące projektu od `AGENTS.md`
- Niestandardowe formatory i lintery
- Agentów systemowych i uprawnień
