콘텐츠로 이동

ACP Support

Use OpenCode in any ACP-compatible editor.

OpenCode는 Agent Client Protocol(ACP)을 지원하므로, ACP 호환 편집기와 IDE에서 OpenCode를 직접 사용할 수 있습니다.

ACP는 코드 편집기와 AI 코딩 에이전트 간의 통신을 표준화하는 개방형 프로토콜입니다.


구성

ACP로 OpenCode를 사용하려면, 편집기에서 opencode acp 명령을 실행하도록 config를 설정하세요.

이 명령은 OpenCode를 ACP 호환 subprocess로 시작하며, stdio 기반 JSON-RPC를 통해 편집기와 통신합니다.

아래는 ACP를 지원하는 주요 편집기 예시입니다.


Zed

Zed config(~/.config/zed/settings.json)에 다음을 추가하세요.

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

열려면 Command Palette에서 agent: new thread action을 사용하세요.

keymap.json을 수정해 키보드 단축키를 바인딩할 수도 있습니다.

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

JetBrains IDEs

JetBrains IDE에서는 documentation에 따라 acp.json에 다음을 추가하세요.

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

열려면 AI Chat agent selector에서 새 OpenCode agent를 선택하세요.


Avante.nvim

Avante.nvim config에 다음을 추가하세요.

{
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

CodeCompanion.nvim에서 OpenCode를 ACP agent로 사용하려면 Neovim config에 다음을 추가하세요.

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

이 config는 chat에서 OpenCode를 ACP agent로 사용하도록 CodeCompanion을 설정합니다.

환경 변수(OPENCODE_API_KEY 등)를 전달해야 한다면 CodeCompanion.nvim documentation의 Configuring Adapters: Environment Variables를 참고하세요.

지원

OpenCode는 ACP를 통해서도 터미널과 동일하게 동작합니다. 다음 기능을 모두 지원합니다.

  • 내장 tool(파일 작업, terminal 명령 등)
  • 사용자 정의 tool과 slash command
  • OpenCode config에 설정한 MCP 서버
  • AGENTS.md의 프로젝트별 규칙
  • 사용자 정의 formatter와 linter
  • agent 및 권한 시스템