--- 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ń