正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。
ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。

GitLab Duo CLIの使用

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab Duo CLIは2つのモードで使用できます:

  • インタラクティブモード: GitLab UIまたはエディタ拡張機能内のGitLab Duo Chatと同様のチャットエクスペリエンスを提供します。ビルドモードとプランモードをサポートします。
  • ヘッドレスモード: Runner、スクリプト、その他の自動化されたワークフローで非インタラクティブに使用できます。

前提条件

インタラクティブモード

GitLab Duo CLIをインタラクティブモードで使用するには:

  1. セットアップに応じて、インタラクティブモードを開始するコマンドを入力します:

    shell
    glab duo cli
    shell
    duo
  2. ターミナルウィンドウにプロンプト>が表示されます。プロンプトの後に質問またはリクエストを入力し、Enterを押します。

    例:

    What is this repository about?
    
    Which issues need my attention?
    
    Help me implement issue 15.
    
    The pipelines in MR 23 are failing. Please help me fix them.

GitLab Duo CLIの処理中にレスポンスをキャンセルするには、Escapeを押します。GitLab Duo CLIは現在の操作を停止し、プロンプトに戻ります。

プロンプトの履歴を表示するには↑キーを使用します。履歴を検索するにはControl+Rを使用します。

ビルドモードとプランモードを切り替える

インタラクティブモードでは、作業中にGitLab Duo CLIを次の2つのモードに切り替えることができます:

モード権限仕組み
ビルドモード(デフォルト)読み取り/書き込みGitLab Duoはタスクを実行し、プロジェクトに変更を加えることができます。
プランモード読み取り専用GitLab Duoは、変更を加えることなくプロジェクトを分析し、プランを作成できます。

たとえば、最初にプランモードでGitLab Duoと問題について検討します。準備ができたらビルドモードに切り替え、プランを実装するようにGitLab Duoに指示します。

GitLab Duo CLIでは、現在のモードが>プロンプトの下に表示します。モードを切り替えるには、Tabを押します。

スラッシュコマンド

インタラクティブモードでは、スラッシュコマンドを使用してGitLab Duo CLIを設定したり、アクションを実行したりできます。プロンプトにスラッシュコマンドを入力し、Enterを押します。

次のスラッシュコマンドを使用できます:

コマンド説明
/copyGitLab Duoの最後のレスポンスをクリップボードにコピーします。
/doctorGitLab Duo CLI環境の診断情報を表示します。
/exitGitLab Duo CLIを終了します。
/feedbackバグレポートまたは機能リクエストを送信します。
/goal目標達成に向けたセッションを開始します。
/help利用可能なスラッシュコマンドのリストを表示します。
/mcp設定済みのMCPサーバーとそのステータスを表示します。
/model現在のセッションで使用するAIモデルを切り替えます。
/new新しいチャットセッションを開始します。
/sessionsセッションを参照、検索、切り替えます。
/settings設定パネルを開きます。
/skills現在のプロジェクトで利用可能なAgent Skillsを一覧表示します。

独自のスラッシュコマンドを作成することもできます。詳細については、カスタムスラッシュコマンドを参照してください。

設定

設定を変更するには:

  1. インタラクティブモードで/settingsと入力し、Enterを押します。
  2. 矢印キーを使用して、設定のリスト内を移動します。
  3. 選択した設定を変更するには、EnterまたはSpaceを押します。
  4. パネルを閉じるには、Escapeを押します。

変更内容はセッション間で保持されます。

次の設定を使用できます:

設定説明
TelemetryGitLab Duoの改善に役立てるため、匿名の使用状況データを送信します。
Enable global skills(実験的機能)~/.agents/skills/と~/.gitlab/duo/skills/からユーザーレベルのAgent Skillsを検出します。変更を有効にするには再起動が必要です。
Notificationsシステム通知(autoまたはdisabled)を制御します。
セッション開始時に作業アイテムを表示新しいセッションを開始すると、開いている作業アイテムが表示されます。
提案されたプロンプトを/goalセッションとして実行提案されたプロンプトを、通常のチャットメッセージではなく/goalセッションとして実行します。変更を有効にするには再起動が必要です。
テーマテーマ設定を変更します。オプションには、auto、dark、light、dark high contrast、およびlight high contrastがあります。

システム通知

ターミナルウィンドウがフォーカスされていないときにセッションでユーザーの確認や対応が必要になると(たとえば、タスクが完了した場合や、ツールの承認が必要な場合)、GitLab Duo CLIはシステム通知を送信できます。

通知は、設定パネルにある通知設定によって制御されます:

  • auto(デフォルト): ターミナルがフォーカスされていない場合に、システム通知を送信します。
  • disabled: システム通知を送信しません。

ツールの承認

GitLab Duoがツールを使用する必要がある場合、使用を開始する前に承認を求めるプロンプトが表示されます。たとえば、ファイルを読み取る場合やコマンドを実行する場合などです。

次のオプションがあります:

  • 承認: GitLab Duoはツールを1回使用できます。
  • セッションで承認: GitLab Duoは、セッションの残りの期間、指定された引数でツールを使用できます。別の引数を使用する場合は、追加の承認が必要です。
  • 拒否: GitLab Duoはツールを使用できません。

セッションで承認オプションを使用するには、管理者がグループまたはインスタンスでこのオプションを有効にする必要があります。詳細については、ツールの承認を参照してください。

ヘッドレスモード

ヘッドレスモードは、制御されたサンドボックス環境で注意して使用してください。

非インタラクティブモードでワークフローを実行するには、セットアップに応じたコマンドを使用します:

glab duo cli runを使用します:

shell
glab duo cli run --goal "Your goal or prompt here"

たとえば、ESLintコマンドを実行し、エラーをGitLab Duo CLIに渡して解決させることができます:

shell
glab duo cli run --goal "Fix these errors: $eslint_output"

duo runを使用します:

shell
duo run --goal "Your goal or prompt here"

たとえば、ESLintコマンドを実行し、エラーをGitLab Duo CLIに渡して解決させることができます:

shell
duo run --goal "Fix these errors: $eslint_output"

ヘッドレスモードを使用すると、GitLab Duo CLIは次のように動作します:

  • 手動によるツール承認をバイパスし、すべてのツールの使用を自動的に承認します。
  • 以前の会話からのコンテキストを保持しません。runコマンドを実行するたびに、新しいワークフローが開始されます。

モデルを選択する

インタラクティブモードまたはヘッドレスモードで使用するモデルを選択できます。

インタラクティブモードの場合

選択したモデルはセッション間で保持され、コンテキストを失うことなく、会話の途中でモデルを切り替えることができます。

前提条件:

  • GitLab Duo CLI 8.76.0以降。

インタラクティブモードでモデルを選択するには:

  1. インタラクティブモードで/modelと入力し、Enterを押します。
  2. 矢印キーを使用して利用可能なモデルのリストをスクロールするか、モデル名を入力してリストを絞り込みます。
  3. モデルを選択し、Enterを押してそのモデルに切り替えます。

ヘッドレスモードの場合

選択したモデルはセッション間で保持されません。

前提条件:

  • GitLab Duo CLI 8.68.0以降。

ヘッドレスモードでモデルを選択するには:

  1. モデルのgitlab_identifierを確認します。

  2. GitLab Duo CLIを実行するときに、--modelオプションまたはGITLAB_DUO_MODEL環境変数をgitlab_identifierの値に設定します。

    --modelオプションを使用します:

    shell
    glab duo cli --model <gitlab_identifier_for_the_model>

    GITLAB_DUO_MODEL環境変数を使用します:

    shell
    GITLAB_DUO_MODEL=<gitlab_identifier_for_the_model> glab duo cli

    たとえば、GPT-5-Codex - OpenAIを使用するには:

    shell
    glab duo cli --model gpt_5_codex
    shell
    GITLAB_DUO_MODEL=gpt_5_codex glab duo cli

    --modelオプションを使用します:

    shell
    duo --model <gitlab_identifier_for_the_model>

    GITLAB_DUO_MODEL環境変数を使用します:

    shell
    GITLAB_DUO_MODEL=<gitlab_identifier_for_the_model> duo

    たとえば、GPT-5-Codex - OpenAIを使用するには:

    shell
    duo --model gpt_5_codex
    shell
    GITLAB_DUO_MODEL=gpt_5_codex duo

セッションを切り替える

GitLab Duo Chatセッションには、会話履歴とワークフローのデータが保存されます。セッションは、GitLab Duo CLI、GitLab UI、およびエディタ拡張機能で共有されます。

たとえば、ブラウザで会話を開始し、ターミナルでその会話を続けることができます。

セッションを参照して切り替えるには:

  1. インタラクティブモードで/sessionsと入力し、Enterを押します。
  2. 矢印キーを使用して利用可能なセッションのリストをスクロールするか、テキストを入力してリストを絞り込みます。
  3. セッションを選択し、Enterを押します。

ヘッドレスモードでセッションを切り替えるには、--existing-session-idオプションを使用します。

Model Context Protocol(MCP)接続

GitLab Duo CLIをローカルまたはリモートのMCPサーバーに接続するには、GitLab IDE拡張機能と同じMCP設定を使用します。手順については、MCPサーバーを設定するを参照してください。

トラブルシューティング

GitLab Duo CLIを使用する際、次の問題に遭遇する可能性があります。

証明書エラー

証明書エラーが発生する可能性があります:

Error: unable to verify the first certificate
Error: self-signed certificate in certificate chain

これらのエラーは、組織がHTTPS傍受プロキシなどでカスタム認証局(CA)を使用している場合に発生します。

証明書エラーを解決するには、次のいずれかの方法を使用します:

  • システム証明書ストアを使用する(推奨):

    1. CA証明書がオペレーティングシステムの証明書ストアにインストールされている場合は、それを使用するようにNode.jsを設定します。これにはNode.js 22.15.0、23.9.0、または24.0.0以降が必要です。

    2. GitLab Duo CLIをコンテナ内で実行する場合は、ホストシステムのストアではなく、コンテナのシステムストアにCA証明書をインストールします。

      shell
      export NODE_OPTIONS="--use-system-ca"
  • CA証明書ファイルを指定する:

    1. 古いバージョンのNode.jsを使用している場合、またはCA証明書がシステムストアにない場合は、Node.jsに証明書ファイルを直接指定します。ファイルはPEM形式である必要があります。

    2. GitLab Duo CLIをコンテナで実行する場合は、コンテナ内の場所を指すパスを設定します。証明書ファイルを提供するには、ボリュームマウントを使用します。

      shell
      export NODE_EXTRA_CA_CERTS=/path/to/custom-ca.pem

証明書エラーを無視する

証明書エラーが引き続き発生する場合は、証明書の検証を無効にできます。

証明書の検証を無効にすることはセキュリティ上のリスクとなります。本番環境で検証を無効にしないでください。

証明書エラーは潜在的なセキュリティ漏洩を警告するため、検証の無効化が安全であると確信できる場合にのみ、証明書の検証を無効にしてください。

前提条件:

  • ブラウザで証明書チェーンを検証した、または管理者がこのエラーを無視しても安全であることを確認した。

証明書の検証を無効にするには:

shell
export NODE_TLS_REJECT_UNAUTHORIZED=0