Поддержка 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):
{
"agent_servers": {
"OpenCode": {
"type": "custom",
"command": "opencode",
"args": ["acp"]
}
}
}Чтобы открыть его, используйте действие agent: new thread в Палитре команд.
Вы также можете привязать сочетание клавиш, отредактировав свой 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):
{
"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 - Пользовательские форматтеры и линтеры
- Агенты и система разрешений