Sesi
Pi menyimpan percakapan sebagai sesi sehingga Anda dapat melanjutkan pekerjaan, bercabang dari belokan sebelumnya, dan mengunjungi kembali jalur sebelumnya.
Penyimpanan Sesi
Sesi disimpan otomatis ke ~/.pi/agent/sessions/, diatur berdasarkan direktori kerja. Setiap sesi adalah file JSONL dengan struktur pohon.
pi -c # Continue most recent session
pi -r # Browse and select from past sessions
pi --no-session # Ephemeral mode; do not save
pi --name "my task" # Set session display name at startup
pi --session <path|id> # Use a specific session file or partial session ID
pi --fork <path|id> # Fork a session file or partial session ID into a new sessionGunakan /session dalam mode interaktif untuk melihat file sesi saat ini, ID sesi, jumlah pesan, token, dan biaya.
Untuk format file JSONL dan SessionManager API, lihat Session Format.
Perintah Sesi
| Memerintah | Keterangan |
|---|---|
/resume |
Telusuri dan pilih sesi sebelumnya |
/new |
Mulai sesi baru |
/name <name> |
Tetapkan nama tampilan sesi saat ini |
/session |
Tampilkan info sesi |
/tree |
Navigasikan session tree saat ini |
/fork |
Buat sesi baru dari pesan pengguna sebelumnya |
/clone |
Gandakan cabang aktif saat ini ke dalam sesi baru |
/compact [prompt] |
Ringkaslah konteks lama; lihat Compaction |
/export [file] |
Ekspor sesi ke HTML |
/share |
Unggah sebagai inti GitHub pribadi dengan tautan HTML yang dapat dibagikan |
Melanjutkan dan Menghapus Sesi
/resume membuka pemilih sesi interaktif untuk proyek saat ini. pi -r membuka pemilih yang sama saat startup.
Di pemilih Anda dapat:
- mencari dengan mengetik
- beralih tampilan jalur dengan Ctrl+P
- beralih mode pengurutan dengan Ctrl+S
- filter ke sesi bernama dengan Ctrl+N
- ganti nama dengan Ctrl+R
- hapus dengan Ctrl+D, lalu konfirmasi
Jika tersedia, pi menggunakan trash CLI untuk menghapus alih-alih menghapus file secara permanen.
Sesi Penamaan
Gunakan /name <name> untuk menetapkan nama sesi yang dapat dibaca manusia:
/name Refactor auth moduleTetapkan nama saat startup dengan --name atau -n:
pi --name "Refactor auth module"
pi --name "CI audit" -p "Review this build failure"Sesi bernama lebih mudah ditemukan di /resume dan pi -r.
Bercabang dengan /tree
Sesi disimpan sebagai pohon. Setiap entri memiliki id dan parentId, dan posisi saat ini adalah daun aktif. /tree memungkinkan Anda melompat ke titik sebelumnya dan melanjutkan dari sana tanpa membuat file baru.

Contoh bentuk:
├─ user: "Hello, can you help..."
│ └─ assistant: "Of course! I can..."
│ ├─ user: "Let's try approach A..."
│ │ └─ assistant: "For approach A..."
│ │ └─ user: "That worked..." ← active
│ └─ user: "Actually, approach B..."
│ └─ assistant: "For approach B..."Kontrol Pohon
| Kunci | Tindakan |
|---|---|
| ↑/↓ | Navigasi entri yang terlihat |
| ←/→ | Halaman atas/bawah |
| Ctrl+←/Ctrl+→ atau Alt+←/Alt+→ | Lipat/buka atau lompat di antara segmen cabang |
| Shift+L | Menetapkan atau menghapus label pada entri yang dipilih |
| Shift+T | Alihkan stempel waktu label |
| Memasuki | Pilih entri |
| Melarikan diri/Ctrl+C | Membatalkan |
| Ctrl+O | Mode filter siklus |
Mode filter adalah: default, tanpa alat, hanya pengguna, hanya berlabel, dan semuanya. Konfigurasikan default dengan treeFilterMode di Settings.
Perilaku Seleksi
Memilih pengguna atau pesan khusus:
- Memindahkan daun ke induk pesan yang dipilih.
- Menempatkan teks pesan yang dipilih di editor.
- Memungkinkan Anda mengedit dan mengirim ulang, membuat cabang baru.
Memilih asisten, alat, pemadatan, atau entri non-pengguna lainnya:
- Memindahkan daun ke entri itu.
- Biarkan editor kosong.
- Biarkan Anda melanjutkan dari titik itu.
Memilih pesan pengguna akar akan menyetel ulang daun ke percakapan kosong dan menempatkan perintah asli di editor.
/tree, /fork, dan /clone
| Fitur | /tree |
/fork |
/clone |
|---|---|---|---|
| Keluaran | File sesi yang sama | File sesi baru | File sesi baru |
| Melihat | Pohon penuh | Pemilih pesan pengguna | Cabang aktif saat ini |
| Penggunaan yang umum | Jelajahi alternatif yang ada | Mulai sesi baru dari perintah sebelumnya | Gandakan pekerjaan saat ini sebelum melanjutkan |
| Ringkasan | Ringkasan cabang opsional | Tidak ada | Tidak ada |
Gunakan /tree ketika Anda ingin menyatukan alternatif. Gunakan /fork atau /clone bila Anda menginginkan file sesi terpisah.
Ringkasan Cabang
Ketika /tree berpindah dari satu cabang ke cabang lainnya, pi dapat meringkas cabang yang ditinggalkan dan melampirkan ringkasan tersebut di posisi baru. Ini mempertahankan konteks penting dari jalur yang Anda tinggalkan tanpa memutar ulang keseluruhan cabang.
Saat diminta, pilih salah satu dari:
- tidak ada ringkasan
- rangkum dengan prompt default
- rangkum dengan instruksi fokus khusus
Lihat Compaction untuk branch summarization kait internal dan ekstensi.
Format Sesi
File sesi berukuran JSONL dan berisi entri pesan, perubahan model, perubahan tingkat pemikiran, label, pemadatan, ringkasan cabang, dan entri ekstensi.
Untuk parser, ekstensi, penggunaan SDK, dan SessionManager API lengkap, lihat Session Format.