チェックポイント機能
Qwen Code にはチェックポイント機能が搭載されており、AI ツールによるファイル変更が行われる前に、プロジェクトの状態のスナップショットを自動的に保存します。これにより、ツール実行前の状態に即座に戻れることを保証された状態で、安心してコード変更の検証や適用を行えます。
仕組み
ファイルシステムを変更するツール(write_file や edit など)を承認すると、CLI が自動的に「チェックポイント」を作成します。このチェックポイントには以下の情報が含まれます:
- Git スナップショット: ホームディレクトリ(
~/.qwen/history/<project_hash>)にある専用のシャドウ Git リポジトリにコミットが作成されます。このスナップショットは、その時点でのプロジェクトファイルの完全な状態をキャプチャします。プロジェクト固有の Git リポジトリには一切影響を与えません。 - 会話履歴: その時点までのエージェントとの会話全体が保存されます。
- ツール呼び出し: 実行されようとしていた特定のツール呼び出しも保存されます。
変更を元に戻したい場合や単に戻りたい場合は、/restore コマンドを使用できます。チェックポイントを復元すると、以下の処理が行われます:
- プロジェクト内のすべてのファイルが、スナップショットに記録された状態に復元されます。
- CLI 内の会話履歴が復元されます。
- 元のツール呼び出しが再度提案されるため、再実行、修正、または無視を選択できます。
Git スナップショットや会話履歴を含むすべてのチェックポイントデータは、ローカルマシンに保存されます。Git スナップショットはシャドウリポジトリに保存され、会話履歴とツール呼び出しはプロジェクトの一時ディレクトリ内の JSON ファイルに保存されます(通常は ~/.qwen/tmp/<project_hash>/checkpoints に配置されます)。
機能の有効化
チェックポイント機能はデフォルトで無効になっています。有効にするには、コマンドラインフラグを使用するか、settings.json ファイルを編集します。
コマンドラインフラグを使用する
Qwen Code を起動する際に --checkpointing フラグを指定すると、現在のセッションでチェックポイント機能を有効にできます:
qwen --checkpointingsettings.json ファイルを使用する
すべてのセッションでデフォルトでチェックポイントを有効にするには、settings.json ファイルを編集する必要があります。
settings.json に以下のキーを追加します:
{
"general": {
"checkpointing": {
"enabled": true
}
}
}/restore コマンドの使用
有効化すると、チェックポイントは自動的に作成されます。チェックポイントを管理するには、/restore コマンドを使用します。
利用可能なチェックポイントの一覧表示
現在のプロジェクトに保存されているすべてのチェックポイントの一覧を表示するには、以下を実行します:
/restoreCLI が利用可能なチェックポイントファイルの一覧を表示します。これらのファイル名は通常、タイムスタンプ、変更対象のファイル名、実行予定のツール名で構成されています(例:2025-06-22T10-00-00_000Z-my-file.txt-write_file)。
特定のチェックポイントの復元
プロジェクトを特定のチェックポイントに復元するには、一覧からチェックポイントファイルを使用します:
/restore <checkpoint_file>例:
/restore 2025-06-22T10-00-00_000Z-my-file.txt-write_fileコマンドを実行すると、ファイルと会話はチェックポイント作成時の状態に即座に復元され、元のツールプロンプトが再度表示されます。