Back to Opencode

ACP podrška

packages/web/src/content/docs/bs/acp.mdx

1.14.393.5 KB
Original Source

OpenCode podržava Agent Client Protocol (ACP), što vam omogućava da ga koristite direktno u kompatibilnim uređivačima i IDE-ovima.

:::tip Za listu uređivača i alata koji podržavaju ACP, pogledajte ACP izvještaj o napretku. :::

ACP je otvoreni protokol koji standardizira komunikaciju između uređivača koda i AI coding agenata.


Konfiguracija

Da biste koristili OpenCode putem ACP-a, konfigurirajte svoj uređivač da pokrene naredbu opencode acp.

Naredba pokreće OpenCode kao ACP-kompatibilan podproces koji komunicira sa vašim uređivačem preko JSON-RPC-a kroz stdio.

Ispod su primjeri za popularne uređivače koji podržavaju ACP.


Zed

Dodajte u svoju Zed konfiguraciju (~/.config/zed/settings.json):

json
{
  "agent_servers": {
    "OpenCode": {
      "command": "opencode",
      "args": ["acp"]
    }
  }
}

Da biste ga otvorili, koristite akciju agent: new thread u Command Palette.

Također možete vezati prečicu na tastaturi uređivanjem vašeg keymap.json:

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

JetBrains IDE-ovi

Dodajte u svoj JetBrains IDE acp.json prema dokumentaciji:

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

Da biste ga otvorili, koristite novog "OpenCode" agenta u AI Chat agent selektoru.


Avante.nvim

Dodajte u svoju Avante.nvim konfiguraciju:

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

Ako trebate proslijediti varijable okruženja:

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

CodeCompanion.nvim

Da koristite OpenCode kao ACP agenta u CodeCompanion.nvim, dodajte sljedeće u svoju Neovim konfiguraciju:

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

Ova konfiguracija postavlja CodeCompanion da koristi OpenCode kao ACP chat agenta.

Ako trebate proslijediti varijable okruženja (kao što je OPENCODE_API_KEY), pogledajte Configuring Adapters: Environment Variables u dokumentaciji CodeCompanion.nvim.

Podržane funkcije

OpenCode radi isto kroz ACP kao i u terminalu. Podržane su sve funkcije:

:::note Neke ugrađene komande kao što su /undo i /redo trenutno nisu podržane. :::

  • Ugrađeni alati (operacije sa datotekama, naredbe terminala, itd.)
  • Prilagođeni alati i slash komande
  • MCP serveri konfigurisani u vašoj OpenCode konfiguraciji
  • Pravila specifična za projekat AGENTS.md
  • Prilagođeni formateri i linteri
  • Agenti i sistem dozvola