コンテンツにスキップ

ACP サポート

OpenCode は Agent Client Protocol (ACP) をサポートしており、互換性のあるエディタや IDE で直接使用できます。

ACP は、コードエディタと AI コーディングエージェント間の通信を標準化するオープンなプロトコルです。


設定

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

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

以下は、ACP をサポートする主要なエディタの設定例です。


Zed

Zed の設定ファイル (~/.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 IDEs

JetBrains IDEドキュメント に従って、acp.json に追加します。

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

開くには、AI チャットのエージェントセレクタで新しい「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

CodeCompanion.nvim で OpenCode を ACP エージェントとして使用するには、Neovim の設定に以下を追加します。

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

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

環境変数 (OPENCODE_API_KEY など) を渡す必要がある場合は、CodeCompanion.nvim ドキュメントの Configuring Adapters: Environment Variables を参照してください。

サポート

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

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