---
title: ACP Support
description: Use opencode in any ACP-compatible editor.
---

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

:::tip
ACP를 지원하는 편집기 및 도구 목록의 경우 [ACP 진행 보고서](https://zed.dev/blog/acp-progress-report#available-now)를 확인하십시오.
:::

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

---

## 구성

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

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

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

---

##### Zed를

[Zed] (https://zed.dev) 구성 (`~/.config/zed/settings.json`)에 추가 :

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

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

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

```json title="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):

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

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

---

#### Avante.nvim의

[Avante.nvim] (https://github.com/yetone/avante.nvim) 구성에 추가하십시오:

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

환경 변수를 전달해야 하는 경우:

```lua {6-8}
{
  acp_providers = {
    ["opencode"] = {
      command = "opencode",
      args = { "acp" },
      env = {
        OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
      }
    }
  }
}
```

---

#### CodeCompanion.nvim

opencode를 [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim)에서 ACP 에이전트로 사용하려면 Neovim config에 다음을 추가하십시오.

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

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

환경 변수 (`OPENCODE_API_KEY`와 같은)를 전달해야하는 경우, CodeCompanion.nvim 문서에서 [Configuring Adapters: Environment variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key)를 참조하십시오.

## 지원

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

:::note
`/undo` 및 `/redo`와 같은 일부 내장 슬래시 명령은 현재 지원되지 않습니다.
:::

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