日本語
ドキュメント
ACPサポート

ACP サポート

ACP 互換エディターで OpenCode を使用します。

OpenCode は Agent Client Protocol (opens in a new tab) または (ACP) をサポートしているため、互換性のあるエディターや IDE で直接使用できます。

Tip: ACP をサポートするエディターとツールのリストについては、ACP progress report (opens in a new tab) を参照してください。

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


設定

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

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

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


Zed

コマンドパレットで zed: acp registry を実行し、Zed ACP レジストリ (opens in a new tab)から OpenCode をインストールします。

代わりにカスタムの OpenCode 実行ファイルを使用する場合は、Zed (opens in a new tab) の設定 (~/.config/zed/settings.json) に追加します。

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

これを開くには、コマンドパレットの agent: new thread アクションを使用します。

keymap.json を編集してキーボードショートカットをバインドすることもできます。

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

JetBrains IDE

documentation (opens in a new tab) に従って、JetBrains IDE (opens in a new tab) acp.json に追加します:

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

これを開くには、AI Chat エージェントセレクターで新しい「OpenCode」エージェントを使用します。


Avante.nvim

Avante.nvim (opens in a new tab) 設定に追加:

{
  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 (opens in a new tab) で OpenCode を ACP エージェントとして使用するには、以下を Neovim 構成に追加します。

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

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

環境変数 (OPENCODE_API_KEY など) を渡す必要がある場合、詳細については、CodeCompanion.nvim ドキュメントの「アダプターの構成: 環境変数 (opens in a new tab)」を参照してください。

サポート

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

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

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

文書の出典(MIT)