Поддержка ACP
Используйте OpenCode в любом ACP-совместимом редакторе.
OpenCode поддерживает Agent Client Protocol (opens in a new tab) (ACP), позволяя использовать его напрямую в совместимых редакторах и IDE.
Список редакторов и инструментов, поддерживающих ACP, смотрите в отчёте о прогрессе ACP (opens in a new tab).
ACP — это открытый протокол, стандартизирующий коммуникацию между редакторами кода и AI-агентами для написания кода.
Конфигурация
Чтобы использовать OpenCode через ACP, настройте ваш редактор на выполнение команды opencode acp.
Команда запускает OpenCode как ACP-совместимый подпроцесс, который общается с вашим редактором через JSON-RPC по stdio.
Ниже приведены примеры для популярных редакторов, поддерживающих ACP.
Zed
Добавьте в конфигурацию Zed (opens in a new tab) (~/.config/zed/settings.json):
{
"agent_servers": {
"OpenCode": {
"command": "opencode",
"args": ["acp"]
}
}
}Чтобы открыть, используйте действие agent: new thread в Палитре команд.
Вы также можете привязать сочетание клавиш, отредактировав keymap.json:
[
{
"bindings": {
"cmd-alt-o": [
"agent::NewExternalAgentThread",
{
"agent": {
"custom": {
"name": "OpenCode",
"command": {
"command": "opencode",
"args": ["acp"]
}
}
}
}
]
}
}
]JetBrains IDE
Добавьте в acp.json вашей JetBrains IDE (opens in a new tab) согласно документации (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 так же, как в терминале. Все функции поддерживаются:
Некоторые встроенные slash-команды, такие как /undo и /redo, в настоящее время не поддерживаются.
- Встроенные инструменты (операции с файлами, команды терминала и т.д.)
- Пользовательские инструменты и slash-команды
- MCP-серверы, настроенные в конфигурации OpenCode
- Правила проекта из
AGENTS.md - Пользовательские форматтеры и линтеры
- Система агентов и разрешений