| (同じ利用者による、間の1版が非表示) | |||
| 308行目: | 308行目: | ||
vi ~/.local/share/applications/Qt_MaintenanceTool.desktop | vi ~/.local/share/applications/Qt_MaintenanceTool.desktop | ||
<br> | <br> | ||
<syntaxhighlight lang="ini"> | |||
# Qt_MaintenanceTool.desktopファイル | # Qt_MaintenanceTool.desktopファイル | ||
| 319行目: | 320行目: | ||
Terminal=false | Terminal=false | ||
Categories=Development;Qt; | Categories=Development;Qt; | ||
</syntaxhighlight> | |||
<br> | <br> | ||
vi ~/.local/share/applications/Qt_Designer.desktop | vi ~/.local/share/applications/Qt_Designer.desktop | ||
<br> | <br> | ||
<syntaxhighlight lang="ini"> | |||
# Qt_Designer.desktopファイル | # Qt_Designer.desktopファイル | ||
| 342行目: | 345行目: | ||
X-KDE-SubstituteUID=false | X-KDE-SubstituteUID=false | ||
X-KDE-Username= | X-KDE-Username= | ||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
| 617行目: | 621行目: | ||
[表示]メインメニュー - [メニューバーを表示]チェックボックスの選択を解除する。<br> | [表示]メインメニュー - [メニューバーを表示]チェックボックスの選択を解除する。<br> | ||
メニューバーを再度表示するには、[Ctrl] + [Alt] + [M]キーを同時押下する。<br> | メニューバーを再度表示するには、[Ctrl] + [Alt] + [M]キーを同時押下する。<br> | ||
<br><br> | |||
== Qt CreatorとOpenCodeをACPで連携 == | |||
Qt Creator 20以降では、ACP Clientを使用してOpenCodeをAIエージェントとして接続できる。<br> | |||
Linux環境では、Qt CreatorからOpenCodeを起動して、Qtプロジェクトの作業ディレクトリを指定して利用する。<br> | |||
<br> | |||
==== ACPとは ==== | |||
ACP (Agent Client Protocol) は、Zed Industriesが主導するAIエージェント連携用のプロトコルである。<br> | |||
<br> | |||
LSPがエディタと言語サーバ間の通信を標準化したように、ACPはエディタとAIエージェント間の通信を標準化する。<br> | |||
現行の安定版はACP v1であり、JSON-RPC 2.0 over stdioを使用して通信する。<br> | |||
<br> | |||
主なメッセージには、初期化、セッション作成、プロンプト送信、セッション更新、キャンセル、認証、権限要求がある。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ ACPとMCPの違い | |||
! プロトコル !! 接続対象 !! 使用例 | |||
|- | |||
| ACP || IDE / エディタとAIエージェント || Qt CreatorとOpenCode<br>Jetbrains IDEとOpenCode | |||
|- | |||
| MCP || AIエージェントとツール・データ || OpenCodeとGitHubやデータベース | |||
|- | |||
| 統合構成 || ACPとMCPの両方を使用 || Qt Creator - ACP - OpenCode - MCP - 外部ツール | |||
|} | |||
</center> | |||
<br> | |||
ACPとMCPは別のプロトコルであり、互いに補完する関係にある。<br> | |||
<br> | |||
OpenCodeは、ACP ServerとしてQt Creatorから接続され、MCP Serverを通じて外部ツールやQt Creatorの機能を利用できる。<br> | |||
<br> | |||
==== 前提条件 ==== | |||
* Qt Creator 20以降 | |||
*: Qt Creator 16、17、18、19ではACP Clientを利用できない。 | |||
* OpenCode | |||
*: ACP Serverとして動作するOpenCodeをインストールする。 | |||
* AIプロバイダーの認証情報 | |||
*: OpenCodeが使用するLLMプロバイダーの認証情報を準備する。 | |||
* Qtプロジェクト | |||
*: CMake等で構成されたQtプロジェクトを用意する。 | |||
<br> | |||
==== OpenCodeのインストール ==== | |||
OpenCodeのインストールを知りたい場合は、[インストール - OpenCode]のページを参照すること。<br> | |||
<br> | |||
# ターミナルを起動する。 | |||
# インストールスクリプトを実行する。 | |||
#: <pre>curl -fsSL https://opencode.ai/install | bash</pre> | |||
# インストール後、実行ファイルの場所とバージョンを確認する。 | |||
#: <syntaxhighlight lang="text"> | |||
command -v opencode | |||
opencode --version | |||
</syntaxhighlight> | |||
# ACP Serverが起動できることを確認する。 | |||
#: <pre>opencode acp --help</pre> | |||
<br> | |||
別のインストール方法として、npmまたはHomebrewも使用できる。<br> | |||
<br> | |||
* npmを使用する場合 | |||
*: <pre>npm install -g opencode-ai</pre> | |||
* Homebrewを使用する場合 | |||
*: <pre>brew install anomalyco/tap/opencode</pre> | |||
<br> | |||
OpenCodeは、<code>opencode acp</code> コマンドでACP Serverとして動作する。<br> | |||
<code>--cwd</code> オプションで作業ディレクトリを指定、<code>--port</code> オプション や <code>--mdns</code> オプション等も利用できる。<br> | |||
<br> | |||
ACP経由では、ファイル操作、ターミナル操作、MCP Server、<u>AGENTS.md</u> ファイルの設定等を利用できる。<br> | |||
<br> | |||
ただし、<code>/undo</code> コマンド と <code>/redo</code> コマンドはACP経由ではサポートされない。<br> | |||
<br> | |||
==== Qt Creator側の設定 ==== | |||
Qt CreatorのACP Clientを有効にして、ACP ServersにOpenCodeを登録する。<br> | |||
<br> | |||
===== ACP Clientの有効化 ===== | |||
ACP Clientは、Qt Creator 20以降で利用可能な拡張機能であり、初期状態では実験的拡張機能として無効化されている場合があるため、Extensionsから有効化する。<br> | |||
<br> | |||
# Qt Creatorを起動する。 | |||
# Qt Creatorの左下にあるモードセレクターから[Extensions]を選択する。 | |||
# 拡張機能一覧から <u>ACP Client</u> を選択して、[Active]スイッチを有効にする。 | |||
# [Restart Now]ボタンを押下して、Qt Creatorを再起動する。 | |||
<br> | |||
有効化後、[ツール]メニューバー - [ACP Client]メニュー - [Show Agentic AI Chat in Side Panel]サブメニューを選択して、サイドパネルにAgentic AI Chatが表示されることを確認する。<br> | |||
<br> | |||
ACP通信の詳細を確認する場合は、[ツール]メニューバー - [ACP Client]メニュー - [Inspect ACP Client]サブメニューを選択する。<br> | |||
<br> | |||
ACP Clientの項目が表示されない場合は、Qt Creatorのバージョンと拡張機能の有効状態を確認する。<br> | |||
<br> | |||
===== ACP ServersへのOpenCode登録 ===== | |||
# Qt Creatorの設定画面を開く。 | |||
# [編集]メニューバー - [Preferences...]を選択して、画面左ペインから[AI] - 画面右ペイン[ACP Servers]タブを選択する。 | |||
# [追加]ボタンを押下して、以下に示す値を入力する。 | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
! 項目 !! 設定値 | |||
|- | |||
| Name || 任意の名前<br>例: <code>OpenCode</code> | |||
|- | |||
| Executable || OpenCodeのフルパスを推奨<br>例: <code>/home/<ユーザ名>/.local/bin/opencode</code> | |||
|- | |||
| Arguments || <code>acp</code> | |||
|- | |||
| 作業ディレクトリ || Qtプロジェクトの絶対パス | |||
|} | |||
</center> | |||
<br> | |||
プロジェクトの作業ディレクトリをコマンド引数で指定する場合は、以下に示すように設定する。<br> | |||
<br> | |||
acp --cwd /home/<ユーザ名>/projects/my-qt-project | |||
<br> | |||
OpenCodeの実際のインストール場所は、ターミナルで <code>command -v opencode</code> コマンドを実行して確認する。<br> | |||
表示されたパスをQt Creatorの <code>Executable</code> に設定して、必要に応じて <code>acp</code> を引数として登録する。<br> | |||
<br> | |||
OpenCodeからQt Creatorのビルドや実行を操作する場合は、MCP Server拡張機能も有効にする必要がある。<br> | |||
この拡張機能はACP Clientと同様に、Extensionsから有効化できる。<br> | |||
<br> | |||
# Qt Creatorの左下にあるモードセレクターから[Extensions]を選択する。 | |||
# 拡張機能一覧から <u>MCP Server</u> を選択して、[Active]スイッチを有効にする。 | |||
# [Restart Now]ボタンを押下して、Qt Creatorを再起動する。 | |||
# [編集]メニューバー - [Preferences...]メニュー - 画面左ペインから[AI] - 画面右ペインから[Qt Creator MCP Server]タブを選択して、<br>[Enable MCP Server]チェックボックスにチェックを入力する。 | |||
<br> | |||
<br> | |||
==== 接続と動作確認 ==== | |||
# Qt Creatorで対象のQtプロジェクトを開く。 | |||
# [ツール]メニューバー - [ACP Client]メニュー - [Show Agentic AI Chat in Side Panel]サブメニューを選択する。 | |||
# Agentic AI Chatで登録したOpenCodeを選択する。 | |||
# 接続が完了するまで待つ。 | |||
# <u>プロジェクトの構成を説明してください。</u> 等のプロンプトを送信する。 | |||
# OpenCodeがプロジェクトのファイルを読み取り、応答することを確認する。 | |||
<br> | |||
ビルドおよび実行もOpenCodeから操作する場合は、<u>Qt Creator MCP Server</u> 拡張機能を有効にした上で、使用するKitが正しく設定されていることを確認する。<br> | |||
<br> | |||
ACP Clientの通信状態を確認する場合は、[ツール]メニューバー - [ACP Client]メニュー - [Inspect ACP Client]サブメニューを選択して、<br> | |||
[ACP Client:]プルダウンから <u>OpenCode</u> を選択する。<br> | |||
<br> | |||
==== トラブルシューティング ==== | |||
===== ACP Clientが表示されない ===== | |||
、Qt Creatorのバージョンが20未満であるか、ACP Client拡張が無効になっている可能性がある。<br> | |||
<br> | |||
* Qt Creatorのバージョンを確認する。 | |||
* Qt Creator 20以降へ更新する。 | |||
* ACP Clientの拡張機能が有効であることを確認する。 | |||
<br> | |||
===== OpenCodeが見つからない ===== | |||
Qt Creatorから起動したプロセスに、環境変数 <code>PATH</code>が伝わっていない可能性がある。<br> | |||
<br> | |||
# ターミナルで <code>command -v opencode</code> コマンドを実行する。 | |||
# 表示されたOpenCodeの絶対パスを確認する。 | |||
# [編集]メニューバー - [Preferences...]を選択して、画面左ペインから[AI] - 画面右ペイン[ACP Servers]タブを選択して、<code>Executable</code> にOpenCodeの絶対パスを指定する。 | |||
<br> | |||
===== 接続が初期化状態で停止する ===== | |||
OpenCodeのACP Serverが起動できないか、作業ディレクトリの指定に問題がある可能性がある。<br> | |||
<br> | |||
* ターミナルで <code>opencode acp --help</code> コマンドを実行する。 | |||
* <code>--cwd</code> オプションに指定したディレクトリが存在することを確認する。 | |||
* [ツール]メニューバー - [ACP Client]メニュー - [Inspect ACP Client]サブメニューを選択して、OpenCodeの通信内容を確認する。 | |||
* ACP Serversの実行ファイルと引数を確認する。 | |||
<br> | |||
===== LLMプロバイダーの認証に失敗する ===== | |||
OpenCode側の認証情報が未設定である可能性がある。<br> | |||
<br> | |||
* OpenCodeを起動する。 | |||
* <code>/connect</code> コマンドを実行して、認証する。 | |||
* 必要に応じて、APIキーを環境変数に設定する。 | |||
<br> | |||
===== ビルドや実行ができない ===== | |||
Qt Creator MCP Server拡張機能が無効であるか、Qt CreatorのKit設定に問題がある可能性がある。<br> | |||
<br> | |||
* [編集]メニューバー - [Preferences...]を選択して、画面左ペインから[AI] - 画面右ペイン[Qt Creator MCP Server]タブを選択して、<br>[Enable MCP Server]チェックボックスにチェックを入力する。 | |||
* Qt Creatorでプロジェクトに使用するKitを確認する。 | |||
* CMake構成とコンパイラの設定を確認する。 | |||
* OpenCodeからビルドまたは実行を再試行する。 | |||
<br> | |||
==== 関連情報 ==== | |||
* [https://agentclientprotocol.com/ Agent Client Protocol公式サイト] | |||
* [https://github.com/agentclientprotocol/agent-client-protocol Agent Client Protocol GitHubリポジトリ] | |||
* [https://doc.qt.io/qtcreator/creator-how-to-use-acp-client.html Qt Creator ACP Client公式ドキュメント] | |||
* [https://opencode.ai/docs/acp/ OpenCode ACP公式ドキュメント] | |||
<br><br> | <br><br> | ||