Undo per turn
Extension undo mengembalikan perubahan file dari user turn terbaru. Ia melacak tool call edit dan write serta dapat membatalkannya satu turn demi satu turn, mengembalikan percakapan ke pesan user sebelumnya.
Dibundel bersama Selesai
Dimuat otomatis bersama Selesai; tidak diperlukan npm install per ekstensi.
Penyiapan dan prasyarat
- Extension ini dibundel bersama Selesai. Dimuat otomatis; tidak perlu diinstal terpisah.
- Berfungsi dalam satu sesi Selesai. Undo menggunakan working directory saat ini dari sesi untuk menyelesaikan path relatif.
- Memerlukan sesi interaktif dengan TUI untuk input slash command.
Yang disiapkan
- Mengamati event
tool_calldantool_resultuntuk tooleditdanwrite. - Membangun checkpoint per user turn yang menyimpan inverse edit, konten file asli, dan hash SHA-256 dari state file setelah perubahan.
- Mendeteksi Bash command bermutasi melalui analisis pola tetapi tidak melacak efek filesystem-nya.
Yang dapat dikonfigurasi
Undo melacak edit, write, dan shell command bermutasi per turn. Retensi dan ukuran buffer sudah tetap.
Tidak ada konfigurasi user
Kemampuan ini tidak mengekspos pengaturan yang dapat diedit user. Perilakunya dikontrol oleh command dan aturan runtime yang didokumentasikan di bawah.
Kontrol command, tool, dan shortcut
| Kunci / path | Deskripsi |
|---|---|
/undo | Batalkan turn terakhir yang terlacak. |
/undo --force | Paksa undo saat konfirmasi biasanya diperlukan. |
Bukti source
src/extensions/undo.tsUndo source
Yang dapat dilakukan
- Membatalkan user turn terbaru dan mengembalikan perubahan file yang terlacak.
- Melihat berapa banyak operasi terlacak yang tertunda dengan
/undo-status. - Memaksa restore meskipun file berubah sejak checkpoint dengan
/undo --force.
Perintah, tool, dan shortcut
| Perintah | Deskripsi |
|---|---|
/undo | Batalkan turn user terakhir dan kembalikan perubahan edit/write yang terlacak. |
/undo --force | Kembalikan perubahan terlacak meskipun file telah dimodifikasi sejak checkpoint. |
/undo-status | Tampilkan ringkasan checkpoint terlacak untuk sesi ini. |
Saat menjalankan /undo, Selesai menavigasi tree sesi ke parent dari pesan user saat ini, mengembalikan prompt editor, dan menghapus checkpoint setelah replay.
Batasan dan keamanan
- Hanya efek tool
editdanwriteyang dikembalikan. Bash command bermutasi ditandai tetapi tidak di-revert; Anda harus membatalkannya secara manual. - Undo tidak dapat membatalkan prompt root di tempat. Untuk prompt pertama, gunakan
/newatau/treesebagai gantinya. - File yang lebih besar dari 512 KiB pada saat
writeasli tidak dapat dikembalikan dari konten yang tersimpan. /undotanpa--forcemenolak mengembalikan file yang hash SHA-256 saat ini tidak lagi cocok dengan hash pasca-perubahan yang tercatat saat tool call asli.- Checkpoint disimpan dalam memori untuk sesi; hilang ketika sesi berakhir.