Przejdź do głównej zawartości

ACP

Używanie OpenCode z protokołem Agent Client Protocol (ACP).

OpenCode obsługuje Agent Client Protocol (ACP), który umożliwia korzystanie z OpenCode bezpośrednio w edytorach i środowiskach IDE.

ACP to otwarty standard, który ujednolica komunikację między edytorami kodu a agentami kodującymi AI.


Konfiguracja

Aby używać OpenCode przez ACP, skonfiguruj swój edytor tak, aby uruchamiał polecenie opencode acp.

Uruchamia to OpenCode jako podproces zgodny z ACP, który komunikuje się z edytorem za pomocą JSON-RPC przez stdio.

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


Zed

Dodaj do konfiguracji Zed (~/.config/zed/settings.json):

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

Aby użyć, wybierz agent: new thread w Palecie poleceń (Command Palette).

Możesz także przypisać skrót klawiszowy, edytując keymap.json:

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

JetBrains IDE

Dodaj do swojego JetBrains IDE plik acp.json zgodnie z dokumentacją:

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

Następnie wybierz „OpenCode” w selektorze agentów AI Chat.


Avante.nvim

Dodaj do konfiguracji Avante.nvim:

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

Jeśli potrzebujesz przekazać klucz API:

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

CodeCompanion.nvim

Aby używać OpenCode jako agenta ACP w CodeCompanion.nvim, dodaj następującą konfigurację do Neovim:

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

Ta konfiguracja sprawia, że CodeCompanion używa OpenCode jako agenta ACP do czatu.

Jeśli wymagany jest OPENCODE_API_KEY, zapoznaj się z sekcją Konfigurowanie adapterów: Zmienne środowiskowe w dokumentacji CodeCompanion.nvim, aby uzyskać szczegółowe informacje.

Wsparcie

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

  • Narzędzia wbudowane (operacje na plikach, terminal itp.)
  • Niestandardowe narzędzia i polecenia z ukośnikiem
  • Serwery MCP zdefiniowane w konfiguracji OpenCode
  • Zasady projektu z AGENTS.md
  • Niestandardowe formatery i lintery
  • Agenci systemowi i uprawnienia