Files
tf_code/packages/web/src/content/docs/ja/acp.mdx

156 lines
4.2 KiB
Plaintext

---
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` のプロジェクト固有のルール
- カスタムフォーマッタとリンター
- エージェントと権限システム