Skip to main content

セッション データ GitHub Copilot CLI(コマンドラインインターフェース) について

          Copilot CLI (コパイロット CLI) は、すべてのセッションをローカルに記録します。 以前のセッションを再開したり、CLI との対話について Copilot 質問したり、 `/chronicle` スラッシュ コマンドを使用してセッションベースの分析情報を得ることができます。

はじめに

          Copilot CLI (コパイロット CLI)を使用するたびに、プロンプト、Copilotの応答、使用されたツール、変更されたファイルの詳細など、セッションに関する完全なデータセットがローカル コンピューターに記録されます。 これは時間の経過と同時に、これまでに何に取り組んだか、どのように作業してきたか、そして Copilot が自分のために何をしたかの豊富な歴史を築き上げてきました。

このセッション データは、次のいくつかの機能を利用します。

  • セッションの再開: 前のセッションで中断した場所を選択できます。
  • 履歴に関する質問: 過去の作業について Copilot 質問できます。セッション データにクエリを実行して回答します。

          `/chronicle`スラッシュ・コマンド**: セッション履歴から導き出されたスタンドアップ・レポート、パーソナライズされたヒント、およびプロセスカスタム命令を改善するための提案を生成する専用のサブコマンドのセット。

この概念的な記事では、セッション データの格納方法と、それを利用してワークフローを強化する方法について説明します。 セッションの再開、CLI セッションに関する Copilot の質問、および /chronicle スラッシュ コマンドの使用に関する実用的なガイドについては、 GitHub Copilot CLI(コマンドラインインターフェース) セッション データの使用 を参照してください。

メモ

お客様のセッション履歴に関する質問に対して、/chronicleコマンドと Copilot が回答する機能は、現在は試験的な機能であり、お客様が /experimental on スラッシュ コマンドまたは --experimental コマンド ライン オプションを使用した場合にのみ使用できます。

セッション データの格納方法

すべての Copilot CLI (コパイロット CLI) セッションは、コンピューター上の ~/.copilot/session-state/ ディレクトリ内の一連のファイルとして保持されます。 各セッションのデータには、セッションの完全なレコードが含まれています。 これらのファイルを使用すると、対話型 CLI セッションを再開できます。

セッション ファイルに加えて、 Copilot CLI (コパイロット CLI) はセッション ストアと呼ばれるローカル SQLite データベースに構造化セッション データを格納します。 このデータは、セッション ファイルに格納されている完全なデータのサブセットです。 セッション ストアは、 /chronicle スラッシュ コマンドの機能であり、 Copilot が過去の作業について質問に答えることもできます。

プライバシーとデータのローカリティ

すべてのセッション データは、ホーム ディレクトリにローカルに格納され、ユーザー アカウントでのみアクセスできます。 Copilot では、CLI との対話について質問するとき、または /chronicle スラッシュ コマンドを使用するときに、コンピューター上でこのデータが読み取られます。 前のプロンプト、コンテキスト データ、受信した応答などのセッション データは、通常の Copilot CLI (コパイロット CLI) 操作と同様に、AI モデルに送信される場合があります。

特定の CLI セッションのデータを削除する場合は、関連するセッション ディレクトリを ~/.copilot/session-state/から削除できます。 ~/.copilot/session-state/の下にあるすべてのデータを削除することで、すべてのセッション データをクリアできます。 これを行った後、セッション ストアのインデックスを手動で再作成する必要があります。 この記事の後半にあるセッション ストアのインデックス再作成を参照してください。

          `/chronicle`スラッシュ コマンドについて

          `/chronicle SUBCOMMAND` コマンドは、セッション ストア内のデータを使用して、Copilot CLI (コパイロット CLI)の使用に関する分析情報と提案を提供します。

対話型 CLI セッションでは、次のコマンドを入力できます。

  • /chronicle standup: ブランチ名、プル要求リンク、状態チェックなど、最近の CLI セッションで作業した内容を要約した短いレポートを生成します。
  • /chronicle tips: Copilot CLI (コパイロット CLI) をより効果的に使用するためのパーソナライズされたヒントを提供します。
  • /chronicle improve: セッション履歴を分析して、 Copilot が意図を誤解した可能性があるパターンや、前後に多くの行き来があったパターンを特定し、将来 Copilot 理解するのに役立つカスタム命令を生成します。
  • /chronicle reindex: セッション履歴ファイルからセッション ストアを再構築します。

          `/chronicle`とセッション データの利点
  • 自己改善ワークフロー: improve サブコマンドは、カスタム命令を調整するのに役立つフィードバック ループを作成します。 時間の経過とともに、エージェントは特定のプロジェクトに対してより効果的になります。

  • 簡単なスタンドアップ レポート: 昨日行ったことを手動で再構築する代わりに、 /chronicle standup は実際のセッション データからスタンドアップの概要を生成します。

  • パーソナライズされたコーチング: tips サブコマンドは、 Copilot CLI (コパイロット CLI) ができることと実際に使用する方法の両方を知っている個人的な生産性コーチとして機能します。 使用可能な機能と現在のワークフローのギャップを埋めることができます。

  • コーディング履歴に話しかける: セッション ストアを使用すると、過去のセッションで役立つ可能性がある質問 (先週行ったバグ修正の再現から、時間の経過に伴うプロンプト パターンの分析まで) に Copilot 回答できます。

  • ローカルとプライベート: すべてのセッション データ (生の JSONL ファイルと SQLite セッション ストアの両方) は、コンピューター上にとどまります。 Copilot CLI (コパイロット CLI)セッションで発生する通常の AI モデルの相互作用を超えてアップロードまたは共有されることはありません。 データを完全に制御でき、いつでも削除できます。

これらの機能を使用する必要がある場合

  • 1 日の開始時: /chronicle standup last 3 days を実行して、最近作業した内容と作業していた CLI セッションを通知します。
  • 定期的に、レベルを上げるには、毎週 2 回 /chronicle tips 実行して、不足している可能性がある機能やワークフローの改善点を検出します。

          Copilotが同じ間違いを犯し続ける場合**: `/chronicle improve`を実行してパターンを識別し、それを修正するためのカスタム命令を生成します。
  • 過去の作業を思い出すには:"支払い API に関連する作業を行いましたか" のような自由形式の質問をします。 Copilotは履歴を検索します。
  • 前の作業を続行するには: copilot --continue または copilot --resume を使用して、中断した場所を選択します。

セッション ストアのインデックスを再作成する

セッション ストアは、CLI セッション中に増分的に設定されます。 セッションのデータは、 ~/.copilot/session-state/のセッション固有のサブディレクトリ内のディスクに書き込まれます。 これは、セッション中、およびセッションの終了時にも定期的に発生します。

ディスク上のセッション ファイルからセッション ストアのインデックスを再作成することはできますが、通常、これを行う必要はありません。

インデックスの再作成が必要になる場合があります。

  • 古いセッションのインデックス作成: セッション ストアが存在する前に作成されたディスク上の古いセッション ファイルがある場合、インデックスの再作成によってセッション ストアにそれらのセッションのデータが設定されます。
  • セッションの削除: 履歴からセッションを削除する場合は、セッション ディレクトリを削除してから、セッション ストアのインデックスを再作成できます。
  • セッションの移行/回復: セッション ファイルを別のマシンに移動した場合、またはバックアップから復元した場合でも、セッション ストア ファイル (~/.copilot/session-store.db) も移動または復元しない場合は、reindex コマンドを使用してセッション ストアを再作成できます。
  • ファイルの破損: セッション ストア ファイル (~/.copilot/session-store.db) が破損した場合、または誤って削除された場合は、セッション ファイルからセッション ストアを回復できます。
  • 予期しない終了: セッション内のデータがメモリからセッションストアに書き込まれる前に、セッションがクラッシュや停電などで予期せず終了した場合、終了前にセッションファイルとしてディスクにデータが書き込まれていた場合は、その欠落したデータをセッションストアに再設定することができるかもしれません。

セッション ストアのインデックスを再作成するには、対話型 CLI セッションで次のスラッシュ コマンドを使用します。

Copilot prompt
/chronicle reindex

詳細については、次を参照してください。