Русский
Документация
Поддержка ACP

Поддержка ACP

Используйте opencode в любом ACP-совместимом редакторе.

opencode поддерживает Agent Client Protocol (opens in a new tab) (ACP), что позволяет использовать его непосредственно в совместимых редакторах и IDE.

Tip: Список редакторов и инструментов, поддерживающих ACP, можно найти в отчете о ходе работы ACP (opens in a new tab).

ACP — это открытый протокол, который стандартизирует взаимодействие между редакторами кода и ИИ-агентами.


Настройка

Чтобы использовать opencode через ACP, настройте свой редактор для запуска команды opencode acp.

Команда запускает opencode как ACP-совместимый подпроцесс, который взаимодействует с вашим редактором через JSON-RPC через stdio.

Ниже приведены примеры популярных редакторов, поддерживающих ACP.


Zed

Установите OpenCode из реестра ACP Zed (opens in a new tab), выполнив zed: acp registry в палитре команд.

Чтобы вместо этого использовать собственный исполняемый файл OpenCode, добавьте его в конфигурацию Zed (opens in a new tab) (~/.config/zed/settings.json):

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

Чтобы открыть его, используйте действие agent: new thread в Палитре команд.

Вы также можете привязать сочетание клавиш, отредактировав свой keymap.json:

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

IDE JetBrains

Добавьте в свою JetBrains IDE (opens in a new tab) acp.json в соответствии с документацией (opens in a new tab):

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

Чтобы открыть его, используйте новый агент opencode в селекторе агентов AI Chat.


Avante.nvim

Добавьте в свою конфигурацию Avante.nvim (opens in a new tab):

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

Если вам нужно передать переменные среды:

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

CodeCompanion.nvim

Чтобы использовать opencode в качестве агента ACP в CodeCompanion.nvim (opens in a new tab), добавьте в конфигурацию Neovim следующее:

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

Эта конфигурация настраивает CodeCompanion для использования opencode в качестве агента ACP для чата.

Если вам нужно передать переменные среды (например, OPENCODE_API_KEY), обратитесь к разделу Настройка адаптеров: переменные среды (opens in a new tab) в документации CodeCompanion.nvim для получения полной информации.

Поддержка

opencode через ACP работает так же, как и в терминале. Поддерживаются все функции:

Note: Некоторые встроенные команды слэша, такие как /undo и /redo, в настоящее время не поддерживаются.

  • Встроенные инструменты (файловые операции, команды терминала и т. д.)
  • Пользовательские инструменты и команды слэша
  • Серверы MCP, настроенные в вашей конфигурации opencode
  • Правила для конкретного проекта из AGENTS.md
  • Пользовательские форматтеры и линтеры
  • Агенты и система разрешений