---
title: ACP サポート
description: ACP 互換エディターで OpenCode を使用します。
---

OpenCode は [Agent Client Protocol](https://agentclientprotocol.com) または (ACP) をサポートしているため、互換性のあるエディターや IDE で直接使用できます。

:::tip
ACP をサポートするエディターとツールのリストについては、[ACP progress report](https://zed.dev/blog/acp-progress-report#available-now) を参照してください。
:::
ACP は、コードエディターと AI コーディングエージェント間の通信を標準化するオープンプロトコルです。

---

## 設定

ACP 経由で OpenCode を使用するには、`opencode acp` コマンドを実行するようにエディタを設定します。

このコマンドは、stdio 経由で JSON-RPC 経由でエディターと通信する ACP 互換のサブプロセスとして OpenCode を開始します。

以下は、ACP をサポートする一般的なエディタの例です。

---

### Zed

[Zed](https://zed.dev) 構成 (`~/.config/zed/settings.json`) に追加します。

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

これを開くには、**コマンドパレット**の `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 IDE

[documentation](https://www.jetbrains.com/help/ai-assistant/acp.html) に従って、[JetBrains IDE](https://www.jetbrains.com/) acp.json に追加します：

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

これを開くには、AI Chat エージェントセレクターで新しい「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

[CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim) で OpenCode を ACP エージェントとして使用するには、以下を Neovim 構成に追加します。

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

この構成は、OpenCode をチャットの ACP エージェントとして使用するように CodeCompanion をセットアップします。

環境変数 (`OPENCODE_API_KEY` など) を渡す必要がある場合、詳細については、CodeCompanion.nvim ドキュメントの「[アダプターの構成: 環境変数](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key)」を参照してください。

## サポート

OpenCode は、ACP 経由でもターミナル内で動作するのと同じように動作します。すべての機能がサポートされています。

:::note
`/undo` や `/redo` などの一部の組み込みスラッシュコマンドは現在サポートされていません。
:::

- 組み込みツール (ファイル操作、ターミナルコマンドなど)
- カスタムツールとスラッシュコマンド
- OpenCode 設定で構成された MCP サーバー
- `AGENTS.md` のプロジェクト固有のルール
- カスタムフォーマッタとリンター
- エージェントと権限システム
