IDEでのエージェントプラットフォームのトラブルシューティング
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise。
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ
IDEでGitLab Duo Agent Platformを使用している場合、次のイシューが発生する可能性があります。
一般的なガイダンス
まず、GitLab Duoがオンになっていることと、適切に接続されていることを確認します。
- 前提条件を満たしていることを確認してください。
- 作業するブランチがチェックアウトされていることを確認します。
- IDEで必要な設定がオンになっていることを確認します。
- 管理者モードが無効になっていることを確認してください。
ネットワークの問題
ログに/-/cable WebSocketエンドポイントではなく、HTTP/1.1の応答がGitLab Duoから表示される場合は、WebSocket接続がブロックされている可能性があります。
GitLabインスタンスは、IDEクライアントからの受信WebSocket接続を許可する必要があります。ネットワーク管理者に、これが問題と思われる場合は、WebSocketトラフィックをGitLabインスタンスに許可するように依頼してください。
VS Codeでデバッグログを表示
VS Codeでは、デバッグログを表示して、いくつかのイシューのトラブルシューティングを行うことができます。
- ローカルデバッグログを開きます:
- macOSの場合: Command+,
- WindowsおよびLinuxの場合: Control+,
- 設定GitLab: を検索します: デバッグし、有効にします。
- 言語サーバーログを開きます:
- VS Codeで、表示 > Output(出力)を選択します。
- 下部の出力パネルの右上隅で、リストからGitLab WorkflowまたはGitLab Language Serverを選択します。
- エラー、警告、接続のイシュー、または認証の問題がないか確認してください。
VS Codeの設定
リポジトリがVS Codeで適切に設定され、接続されていることを確認するために、いくつかのことを試すことができます。
GitLab Workflow拡張機能でプロジェクトを表示
まず、VS Code用のGitLab Workflow拡張機能で正しいプロジェクトが選択されていることを確認します。
- VS Codeの左側のサイドバーで、GitLab Workflow ( )を選択します。
- プロジェクトがリストされ、選択されていることを確認します。
プロジェクト名の横にエラーメッセージが表示された場合は、それを選択して、更新が必要な内容を表示します。
たとえば、複数のリポジトリがあり、1つを選択する必要がある場合や、リポジトリがまったくない場合があります。
Gitリポジトリなし
ワークスペースにGitリポジトリが初期化されていない場合は、新しいリポジトリを作成する必要があります:
- 左側のサイドバーで、Source Control(ソース管理)( )を選択します。
- Initialize Repositoryを選択します。
リポジトリが初期化されると、Source Control(ソース管理)ビューに名前が表示されます。
GitLabリモートのないGitリポジトリ
Gitリポジトリがあるかもしれませんが、GitLabに適切に接続されていません。
- 左側のサイドバーで、Source Control(ソース管理)( )を選択します。
- Source Control(ソース管理)のラベルで、右クリックしてリポジトリを選択します。
- お使いのリポジトリの横にある省略記号 ( ) を選択し、リモート > Add Remote(リモートの追加) を選択します。
- GitLabプロジェクトURLを入力します。
- 新しく追加されたリモートをアップストリームとして選択します。
複数のGitLabリモート
お使いのリポジトリには、複数のGitLabリモートが設定されている可能性があります。正しいものを選択するには:
- 左側のサイドバーで、Source Control(ソース管理)( )を選択します。
- ステータスバーで、現在のリモート名を選択します。
- リストから、適切なGitLabリモートを選択します。
- 選択したリモートが、GitLabのグループネームスペースに属していることを確認します。
複数のGitLabプロジェクト
VS Codeのワークスペースに複数のGitLabプロジェクトが含まれている場合は、使用していないすべてのプロジェクトを閉じることができます。
プロジェクトを閉じるには:
- 左側のサイドバーで、Source Control(ソース管理)( )を選択します。
- リポジトリが表示されていることを確認します。Source Control(ソース管理)のラベルで右クリックし、リポジトリを選択します。
- 閉じたいリポジトリを右クリックし、Close Repository(リポジトリを閉じる)を選択します。
SSHカスタムエイリアスを持つGitリモート
リポジトリのリモートがSSHカスタムエイリアス (たとえば、git@my-work-gitlab:group/project.gitではなくgit@gitlab.com:group/project.git) を使用している場合、GitLab Workflow拡張機能がリポジトリをGitLabプロジェクトに正しく一致させない可能性があります。
この問題を解決するには、次のいずれかの操作を実行します:
- カスタムエイリアスなしでSSHまたはHTTPを使用するようにリモートを変更します。
- GitLab Duo Agent Platformのデフォルトネームスペースを設定します。
デフォルトネームスペースを設定するには:
- プロジェクトがあるネームスペースを特定します。
- VS Codeで、ファイル > 設定 > 設定を選択します。
- GitLab > Duo Agent Platform: を検索します: デフォルトのネームスペースを入力し、ネームスペースを入力します。
グループネームスペースにないプロジェクト
GitLab Duo Agent Platformでは、プロジェクトがグループネームスペースに属している必要があります。
プロジェクトがあるネームスペースを特定するには、URLをご覧ください。
必要に応じて、プロジェクトをグループネームスペースに転送することができます。
IDEコマンドが失敗するか、無期限に実行されます
IDEでGitLab Duoチャット (エージェント型) またはソフトウェア開発フローを使用している場合、GitLab Duoがループに陥ったり、コマンドの実行が困難になったりする可能性があります。
このイシューは、Oh My ZSH!やpowerlevel10kのようなシェルテーマまたはインテグレーションを使用している場合に発生する可能性があります。GitLab Duoエージェントがターミナルを起動すると、テーマまたはインテグレーションによってコマンドが適切に実行されない可能性があります。
回避策として、エージェントから送信されたコマンドには、よりシンプルなテーマを使用してください。Issue 2070は、この動作の改善を追跡するため、この回避策は不要になりました。
.zshrcファイルを編集
VS CodeとJetBrains IDEでは、エージェントから送信されたコマンドを実行するときに、よりシンプルなテーマを使用するようにOh My ZSH!またはpowerlevel10kを設定します。IDEによって公開された環境変数を使用して、これらの値を設定できます。
このコードを含めるように~/.zshrcファイルを編集します:
# ~/.zshrc
# Path to your oh-my-zsh installation
export ZSH="$HOME/.oh-my-zsh"
# ...
# Decide whether to load a full terminal environment,
# or keep it minimal for agentic AI in IDEs
if [[ "$TERM_PROGRAM" == "vscode" || "$TERMINAL_EMULATOR" == "JetBrains-JediTerm" ]]; then
echo "IDE agentic environment detected, not loading full shell integrations"
else
# Oh My ZSH
source $ZSH/oh-my-zsh.sh
# Theme: Powerlevel10k
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Other integrations like syntax highlighting
fi
# Other setup, like PATH variablesBashシェルを編集
VS CodeまたはJetBrains IDEでは、Bashの詳細なプロンプトをオフにして、エージェントがそれらを初期化しないようにすることができます。このコードを含めるように~/.bashrcファイルまたは~/.bash_profileファイルを編集します:
# ~/.bashrc or ~/.bash_profile
# Decide whether to load a full terminal environment,
# or keep it minimal for Agentic AI in IDEs
if [[ "$TERM_PROGRAM" == "vscode" || "$TERMINAL_EMULATOR" == "JetBrains-JediTerm" ]]; then
echo "IDE agentic environment detected, not loading full shell integrations"
# Keep only essential settings for agents
export PS1='\$ ' # Minimal prompt
else
# Load full Bash environment
# Custom prompt (e.g., Starship, custom PS1)
if command -v starship &> /dev/null; then
eval "$(starship init bash)"
else
# ... Add your own PS1 variable
fi
# Load additional integrations
fi
# Always load essential environment variables and aliasesまだ問題がありますか?
支援が必要な場合は、GitLab管理者にお問い合わせください。