コンテンツにスキップ

巻き戻しと分岐の方法

Reyn のタイムトラベルは、過去のチェックポイントへ巻き戻し、必要に応じてその時点から分岐できる機能です。本ガイドでは利用可能なコマンドと UI を説明します。

内部の仕組みについては タイムトラベルのコンセプト を参照してください。

Rewind ピッカーを開く

/rewind

TUI 上でインタラクティブなチェックポイントピッカーが開き、現在の分岐上のチェックポイントが一覧表示されます。各行には以下が表示されます:

カラム 説明
seq チェックポイントのグローバルシーケンス番号
time チェックポイントが作成されたタイムスタンプ
kind 境界の種類: turn / plan-step

↑ / ↓ で移動し、Enter で選択します(行の選択は、その行の /rewind <seq> を入力した場合とまったく同じ動作です)。Esc を押すと巻き戻さずに閉じます。

--connect(リモートクライアント)経由では、同じチェックポイントがプレーンなテキストリストとして表示されます。ピッカーはローカルのリージョンであり、ワイヤ上には載らないためです。その場合は /rewind <seq> で巻き戻してください。

特定の seq へ巻き戻す

/rewind <N>

ピッカーを開かずに seq N へ直接巻き戻します。agent の会話状態が seq N の時点に復元されます。ユーザーのワークスペースファイルは HEAD のままです — Reyn がタイムトラベルするのは自身の .reyn/ 状態のみです。

巻き戻しと fork-switch

/rewind <N> は統合された checkout なので、同じコマンドが両方向をカバーします:

  • 現在の分岐 上の seq: undo(現在の分岐を巻き戻す)。
  • 非アクティブな分岐 上の seq: fork-switch(その分岐をアクティブ化する)。

ピッカーが一覧するのは 現在の分岐 のチェックポイントのみです。破棄済み分岐上の seq へ行くには、その seq を /rewind <N> に直接渡してください。

Web 編集 (Phase 2d)

Reyn を Web インターフェース(AG-UI SSE / A2A)経由で利用する場合、/rewind は同じチェックポイントピッカーを開きます。分岐元のチェックポイントを選択すると、Web 編集フローは元のメッセージを提示し、編集版を再入力して送信できます。Web 側ではインラインのプリフィルに対応していないため、置き換えるテキストを直接入力します。送信すると、巻き戻したチェックポイントから新しい fork が作成されます。

保留中の機能

機能 ステータス
新しい fork-and-edit 分岐を作る、ターン内編集(ctrl+t)付きの /rewind ✅ Phase 2c, landed
ピッカーの分岐 ツリービュー(現在の分岐だけでなく破棄済み分岐のチェックポイントも) ⏳ not yet wired — 非アクティブ分岐の seq への fork-switch は /rewind <N> で可能
ピッカーを開く Esc Esc ダブルタップのショートカット ⏳ not yet wired — /rewind で開いてください
AG-UI SSE / A2A Web 面での /rewind ピッカー; AskUserMessage UX による Web 編集 ✅ Phase 2d, landed

保持ウィンドウ設定(retention: keep_generations: N、古いチェックポイントを GC するための設定)——検討の結果、配線しないと決定(#3987、2026-08-11): WAL/generation の GC は既定の live-only floor で正しく動作しており、毎チャットターン境界でスロットル付きで実行され、無制限growthのリスクはありません。retention: 設定ブロックが追加していたはずのものは、liveより深いundoウィンドウという能力だけで、設定できない状態のまま誰からも要望が出ていませんでした。RetentionPolicy.from_config は死んだまま残さず削除しました。

関連情報