コンテンツにスキップ
Zidooka
スポンサーリンク

OpenCodeのACP対応で何ができる? エディタ選ばずAIエージェントを使う共通プロトコル

※ この記事の内容について、業務・開発上お困りの場合は個別に対応できます(5,000円〜)。

OpenCodeには opencote acp というコマンドがあります。これは何のためにあるのか、どんなことができるのかを整理します。

ACP(Agent Client Protocol)は、エディタとAIエージェントの間の共通通信プロトコルです。Zed Industriesが中心となって策定し、OpenCodeを含む30以上のエージェントが対応しています。Zed、JetBrains、VS Code、Neovim、Emacsなど幅広いエディタで「好きなエージェント」を選んで使えるようになります。

ACPとは何か

ACPは Agent Client Protocol の略で、コードエディタ(クライアント)とAIコーディングエージェント(サーバー)の間の通信を標準化するオープンプロトコルです。

仕様はGitHubで公開されており(agentclientprotocol/agent-client-protocol)、2026年5月時点で3,200以上のスターがついています。

発想の源はLSP(Language Server Protocol)です。LSPが「どんなエディタでも同じ言語サーバーを使える」ようにしたように、ACPは「どんなエディタでも同じAIエージェントを使える」ようにするものです。

ACPは Zed Industries が中心となって策定しましたが、現在はJetBrainsやGoogle、Anthropic、OpenAIなども参加するコミュニティ主導のプロトコルになっています。

ACPの通信はJSON-RPC over stdioで行われます。エディタがエージェントをサブプロセスとして起動し、標準入出力でメッセージをやり取りします。将来的にはHTTPやWebSocketを使ったリモート接続にも対応予定です。

OpenCodeとACP

OpenCodeをACPエージェントとして起動するには、次のコマンドを使います。

opencode acp --cwd /path/to/project

このコマンドでOpenCodeはACP対応のサブプロセスとして起動し、エディタとJSON-RPCで通信します。

対応エディタでの設定例

Zed~/.config/zed/settings.json):

{
  "agent_servers": {
    "OpenCode": {
      "command": "opencode",
      "args": ["acp"]
    }
  }
}

JetBrains IDEacp.json):

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

Neovim + CodeCompanion.nvim:

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

ACP経由で使えるOpenCodeの機能

ACP経由でも、OpenCodeのほぼ全機能が利用可能です。

  • ファイルの読み書き・編集
  • ターミナルコマンドの実行
  • MCPサーバー(外部ツール連携)
  • カスタムツール・スラッシュコマンド
  • プロジェクトの AGENTS.md ルールの反映
  • カスタムフォーマッター・リンター
  • エージェント・パーミッションシステム

現時点で /undo/redo のスラッシュコマンドはACP経由では未対応です。

ACP対応エージェント一覧(抜粋)

OpenCode以外にも、多くのAIエージェントがACPに対応しています。2026年5月時点で30以上です。

他にも Aider(実装進行中)、Docker cagentKimi CLI(Moonshot AI)、Kiro CLIFactory Droid などが対応しています。

全リストは公式サイトで確認できます: https://agentclientprotocol.com/overview/agents

ACP対応クライアント(エディタ・ツール)

エディタ側のACP対応も急速に広がっています。

主要エディタ

CLI・デスクトップツール

チャット連携

ACPエージェントをDiscord、Slack、Telegramから呼び出すブリッジも登場しています。

フレームワーク連携

  • LangChain / LangGraphDeep Agents ACP で対応
  • LlamaIndexworkflows-acp アダプター
  • Koog(JetBrains)— 組み込み対応

モバイルでも Agmente(iOS)、Ferngeist(Android)、Happy(iOS/Android/Web)などのACPクライアントが登場しています。

ACPのメリット

ACPを使うことで得られる利点は3つあります。

1. エディタとエージェントの自由な組み合わせ

従来は「このエージェントはこのエディタでしか使えない」という制約がありました。ACPでは、好きなエディタで好きなエージェントを選べます。

例えば、ZedでOpenCodeを使う、JetBrainsでGemini CLIを使う、NeovimでClaude Agentを使う、といった組み合わせがすべて可能です。

2. エージェントの切り替えが容易

プロジェクトやタスクに応じてエージェントを切り替えられます。設定ファイルを書き換えるだけで、同じエディタのまま別のエージェントを呼び出せます。

3. エコシステムの拡大

ACPが共通プロトコルになったことで、新しいエージェントやクライアントが続々と登場しています。エディタ開発者は1つのプロトコルに対応するだけで、30以上のエージェントにアクセスできるようになります。

実際のユースケース

ケース1: Zed + OpenCode でターミナル不要のAI開発

ZedエディタにOpenCodeをACPで接続すると、エディタ内で直接AIに質問したり、コード生成を依頼したりできます。OpenCodeのTUIを別途起動する必要はありません。

ケース2: JetBrains + 複数エージェントの使い分け

IntelliJ IDEAにOpenCodeとGemini CLIの両方をACPで登録しておき、通常のコーディングはOpenCode、大規模リファクタリングはGemini CLIという使い分けが可能です。

ケース3: Jockeyでマルチエージェント並列実行

Jockeyを使うと、Claude Code、Gemini CLI、Codex CLIを同時に起動して、同じプロジェクトに対して並列にタスクを割り当てられます。コードレビューをClaude Codeに、テスト生成をGemini CLIに、といった分担が可能です。

ケース4: Discord/SlackからACPエージェントを呼び出す

OpenACPなどのブリッジを使えば、チームのSlackチャンネルからOpenCodeに「このPRレビューして」と依頼できます。エディタを開いていなくてもAIアシスタントを利用できます。

ACP(Agent Client Protocol)は、エディタとAIエージェントの垣根を取り払う共通プロトコルです。OpenCodeも opencode acp コマンドでACPエージェントとして動作し、Zed、JetBrains、Neovim、VS Codeなど幅広いエディタから利用できます。30以上のエージェントと多数のクライアントが対応しており、エコシステムは急速に拡大中です。

参考リンク

スポンサーリンク

ZIDOOKA!

この記事の内容について、対応できます

ZIDOOKA!では、この記事で扱っている内容に関連する技術トラブルや開発上の問題について、フリーランスとして個別対応を行っています。
「調べても解決しない」「業務で詰まっている」「社内で対応が難しい」といった場合にご相談ください。

個別対応:5,000円〜 (内容・工数により事前にお見積りします)

AI活用に関するポリシー

当サイトでは、記事の執筆支援にAIを活用する場合があります。ただし、AIに記事作成を全面的に委任することはなく、あくまでライティングの補助として利用しています。「AIを活用することで生産性が向上し、より伝わりやすいコンテンツになるならば積極的に利用すべき」という方針のもと運営しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です