Dream
DocumentationDownload
チャット

変更の確認と復元

エージェントの返信が変更されたファイルを確認し、チェックポイントから選択されたファイルを元に戻す。

変更チェックポイントが有効になっている場合、Dreamは各エージェントの返答の前にプロジェクトファイルをスナップショットに取り、返答が終了した際に再度スナップショットを取る。これらのチェックポイントを使用して、返答がどのファイルを変更したかを確認し、異なるアプローチを取る必要がある場合に選択したファイルを元に戻すことができる。

チェックポイントがどのように機能するか#

  • チェックポイントは、Dreamのアプリケーションデータ内のプライベートストアにプロジェクトのワークツリー(未追加ファイルを含む)を記録します。自身のリポジトリにコミット、スタッシュ、ブランチを作成することはありません。また、Gitリポジトリではないフォルダでも動作します。
  • プロジェクトの .gitignore が無視するパスおよび node_modules、dist、build、coverage などの一般的なビルドフォルダは、一切キャプチャされません。
  • Dream は、ユーザーが送信するメッセージごとに変更前のスナップショットを1回取得し、応答が完了したとき、またはユーザーが停止したときに変更後のスナップショットを取得します。
  • チェックポイントは、Dreamにgit実行可能ファイルが存在していることを必要とする。キャプチャが失敗するか、または時間がかかる場合、返信はチェックポイントなしで進み、そのチェックポイントのレビュー制御は表示されない。

チェックポイントはデフォルトで有効です。無効にするには、設定 → 一般を開き、チャットメッセージを検索し、変更チェックポイントを無効にします。

設定 → 一般で「チェックポイントの変更を有効にする」を設定して、各返信の周辺のファイルをキャプチャします。

返信の変更を確認する#

  1. 応答が終了するまで待つ。
  2. アシスタントのメッセージにマウスを合わせて、この返答のファイル変更を表示、メッセージのフッターにある時計アイコンをクリックします。
  3. この返答での変更を確認してください。各行はパス、ステータス(追加、削除、変更、または名前が変更されました)および行数を示しています。
  4. 行を展開して差分を確認する。

このダイアログは、その応答の前と後のスナップショットを比較します。他の応答やあなたの編集による変更は含まれません。応答が中断された場合、ダイアログは開いたときに後状態がキャプチャされたことを記述します。

返信後に再度ファイルが変更された(後続の返信、ターミナルコマンド、またはエディタによる変更を含む)場合、後で編集済みバッジが表示されます。バイナリファイルは差分を表示せずリストされます。

ファイルを復元する#

  1. 復元したいファイルを選択してください。後続の編集が行われていないファイルはデフォルトで選択されます。すべてのファイルを含めるには すべて選択 を使用してください。
  2. 復元をクリックします。ボタンは選択されたファイルの数を表示します。
  3. 復元済み がマークされた行を確認した後、閉じる をクリックしてください。

復元は、選択されたファイルにおける返答の変更を元に戻す一方で、そのファイルに後続で行われた関連のない編集は保持する。返答が作成したファイルは削除され、返答が削除したファイルは再び作成され、リネームされたファイルは元のパスに戻される。

後で編集が返信の変更と重なる場合、Dreamはそのファイルを変更せずに残し、警告を表示します。上書きして復元を選択して、ファイルを返信前の完全な内容に上書きし、その後の編集を破棄します。

復元はダイアログから取り消せません。復元を行う前に、影響を受けるファイルから必要な後続の作業をコピーしてください。ファイルを復元しても会話内のメッセージは削除されません;アゲントに復元したことを伝え、その後に続けるように指示してください。

Restoreはファイル操作であり、Git操作ではありません。変更を確認するためには後に変更を開き、同じファイルを復元する前にエディタのドラフトを保存してください。

チェックポイントのストレージ#

チェックポイントは、そのチャットが存在する限り常に利用可能です。設定 → アーカイブ済みチャットからチャットを永続的に削除するとそのチェックポイントも削除され、ワークツリープロジェクトを完了または削除するとそのプロジェクトのチェックポイントも削除されます。チャットをアーカイブするとチェックポイントは保持されます。

異なるアプローチを試すためにこれまでの会話の内容を維持しながら、以前のメッセージからブランチを分岐させる操作を組み合わせる。ブランチを分岐させるだけではメッセージがコピーされるが、ファイルは変更されない。