Lewati ke konten

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.

Entri manifest
./undo.ts
Permukaan runtime
Slash command

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_call dan tool_result untuk tool edit dan write.
  • 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 / pathDeskripsi
/undoBatalkan turn terakhir yang terlacak.
/undo --forcePaksa undo saat konfirmasi biasanya diperlukan.

Bukti 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

PerintahDeskripsi
/undoBatalkan turn user terakhir dan kembalikan perubahan edit/write yang terlacak.
/undo --forceKembalikan perubahan terlacak meskipun file telah dimodifikasi sejak checkpoint.
/undo-statusTampilkan 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 edit dan write yang 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 /new atau /tree sebagai gantinya.
  • File yang lebih besar dari 512 KiB pada saat write asli tidak dapat dikembalikan dari konten yang tersimpan.
  • /undo tanpa --force menolak 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.

Source evidence

Selesai version: 0.10.0