콘텐츠로 이동

ACP Support

Use opencode in any ACP-compatible editor.

opencode는 Agent Client Protocol 또는 (ACP)을 지원하며, 호환 편집기 및 IDE에서 직접 사용할 수 있습니다.

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


구성

ACP를 통해 opencode를 사용하려면 opencode acp 명령을 실행하려면 편집기를 구성하십시오.

명령은 opencode를 실행하여 JSON-RPC를 통해 편집기와 통신하는 ACP 호환 하위 프로세스로 시작합니다.

아래는 ACP를 지원하는 인기있는 편집기의 예입니다.


Zed를

Zed 구성 (~/.config/zed/settings.json)에 추가 :

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

그것을 열려면 **Command Palette **에서 agent: new thread 동작을 사용하십시오.

keymap.json를 편집하여 키보드 단축키도 결합할 수 있습니다.

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

JetBrains IDEs의 특징

[JetBrains IDE]에 추가하십시오 (https://www.jetbrains.com/) [documentation]에 따라 acp.json (https://www.jetbrains.com/help/ai-assistant/acp.html):

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

그것을 열려면 AI Chat Agent selector의 새로운 ‘opencode’ 에이전트를 사용하십시오.


Avante.nvim의

Avante.nvim 구성에 추가하십시오:

{
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를 CodeCompanion.nvim에서 ACP 에이전트로 사용하려면 Neovim config에 다음을 추가하십시오.

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

이 구성은 CodeCompanion을 설정하여 채팅을 위한 ACP 에이전트로 opencode를 사용합니다.

환경 변수 (OPENCODE_API_KEY와 같은)를 전달해야하는 경우, CodeCompanion.nvim 문서에서 Configuring Adapters: Environment variables를 참조하십시오.

지원

opencode는 terminal에서 같은 ACP를 통해 작동합니다. 모든 기능은 지원됩니다:

  • 내장 도구 (파일 작업, terminal 명령 등)
  • 사용자 정의 도구 및 슬래시 명령
  • opencode config에서 설정된 MCP 서버
  • AGENTS.md의 프로젝트 별 규칙
  • 사용자 정의 포맷 및 라이터
  • 에이전트 및 권한 시스템