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):
{ "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:
[ { "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ą:
{ "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