チェックポイント機能
Qwen Code には、AI パワードツールによるファイル変更の直前にプロジェクトの状態を自動的に保存する「チェックポイント機能」が備わっています。これにより、コード変更を安全に試行・適用でき、ツール実行前の状態へ即座に復元できるようになります。
動作の仕組み
ファイルシステムを変更するツール(例:write_file や edit)を承認すると、CLI は自動的に「チェックポイント」を作成します。このチェックポイントには以下の情報が含まれます。
- Git スナップショット: あなたのホームディレクトリ内にある特別なシャドウ Git リポジトリ(
~/.qwen/history/<project_hash>)にコミットが作成されます。このスナップショットは、その時点でプロジェクト内のすべてのファイルの状態を完全に記録します。これは、ユーザー自身のプロジェクトの Git リポジトリには一切影響を与えません。 - 会話履歴: エージェントとのこれまでの会話全体が保存されます。
- ツール呼び出し: 実行直前だった特定のツール呼び出しも保存されます。
変更を元に戻したい場合や単に以前の状態に戻りたい場合は、/restore コマンドを使用できます。チェックポイントを復元すると、以下の操作が実行されます。
- プロジェクト内のすべてのファイルが、スナップショットで記録された状態に復元されます。
- CLI 内の会話履歴が復元されます。
- 元のツール呼び出しが再提案され、再度実行したり、内容を編集したり、無視したりできます。
Git スナップショットおよび会話履歴を含むすべてのチェックポイントデータは、ローカルマシン上に保存されます。Git スナップショットはシャドウリポジトリ内に保存され、会話履歴およびツール呼び出しは、プロジェクトの一時ディレクトリ(通常は ~/.qwen/tmp/<project_hash>/checkpoints)内の JSON ファイルに保存されます。
機能の有効化
チェックポイント機能はデフォルトで無効になっています。これを有効にするには、コマンドラインフラグを使用するか、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このコマンドを実行すると、ファイルと会話が即座にそのチェックポイントが作成された時点の状態に復元され、元のツールプロンプトが再表示されます。