Phiên
Pi lưu các cuộc hội thoại dưới dạng phiên để bạn có thể tiếp tục làm việc, phân nhánh từ các lượt trước đó và truy cập lại các đường dẫn trước đó.
Lưu trữ phiên
Các phiên tự động lưu vào ~/.pi/agent/sessions/, được sắp xếp theo thư mục làm việc. Mỗi phiên là một tệp JSONL có cấu trúc dạng cây.
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 sessionSử dụng /session ở chế độ tương tác để xem tệp phiên hiện tại, ID phiên, số lượng tin nhắn, mã thông báo và chi phí.
Để biết định dạng tệp JSONL và Trình quản lý phiên API, hãy xem Session Format.
Lệnh phiên
| Yêu cầu | Sự miêu tả |
|---|---|
/resume |
Duyệt và chọn các phiên trước |
/new |
Bắt đầu một phiên mới |
/name <name> |
Đặt tên hiển thị phiên hiện tại |
/session |
Hiển thị thông tin phiên |
/tree |
Điều hướng hiện tại session tree |
/fork |
Tạo phiên mới từ tin nhắn của người dùng trước đó |
/clone |
Sao chép nhánh hoạt động hiện tại vào một phiên mới |
/compact [prompt] |
Tóm tắt bối cảnh cũ hơn; xem Compaction |
/export [file] |
Xuất phiên sang HTML |
/share |
Tải lên dưới dạng riêng tư GitHub ý chính với liên kết HTML có thể chia sẻ |
Tiếp tục và xóa phiên
/resume mở bộ chọn phiên tương tác cho dự án hiện tại. pi -r mở cùng một bộ chọn khi khởi động.
Trong bộ chọn bạn có thể:
- tìm kiếm bằng cách gõ
- chuyển đổi hiển thị đường dẫn bằng Ctrl+P
- chuyển đổi chế độ sắp xếp bằng Ctrl+S
- lọc các phiên được đặt tên bằng Ctrl+N
- đổi tên bằng Ctrl+R
- xóa bằng Ctrl+D, sau đó xác nhận
Khi có sẵn, pi sử dụng trash CLI để xóa thay vì xóa vĩnh viễn các tệp.
Phiên đặt tên
Sử dụng /name <name> để đặt tên phiên mà con người có thể đọc được:
/name Refactor auth moduleĐặt tên khi khởi động bằng --name hoặc -n:
pi --name "Refactor auth module"
pi --name "CI audit" -p "Review this build failure"Các phiên được đặt tên dễ tìm thấy hơn trong /resume và pi -r.
Phân nhánh với /tree
Phiên được lưu trữ dưới dạng cây. Mọi mục nhập đều có id và parentId và vị trí hiện tại là lá đang hoạt động. /tree cho phép bạn chuyển đến bất kỳ điểm nào trước đó và tiếp tục từ đó mà không cần tạo tệp mới.

Hình dạng ví dụ:
├─ 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..."Kiểm soát cây
| Chìa khóa | Hoạt động |
|---|---|
| ↑/↓ | Điều hướng các mục hiển thị |
| ←/→ | Trang lên/xuống |
| Ctrl+←/Ctrl+→ hoặc Alt+←/Alt+→ | Gấp/mở hoặc nhảy giữa các đoạn nhánh |
| Shift+L | Đặt hoặc xóa nhãn trên mục đã chọn |
| Shift+T | Chuyển đổi dấu thời gian của nhãn |
| Đi vào | Chọn mục nhập |
| Thoát/Ctrl+C | Hủy bỏ |
| Ctrl+O | Chế độ lọc chu kỳ |
Các chế độ lọc là: mặc định, không có công cụ, chỉ dành cho người dùng, chỉ được gắn nhãn và tất cả. Định cấu hình mặc định với treeFilterMode trong Settings.
Hành vi lựa chọn
Chọn người dùng hoặc tin nhắn tùy chỉnh:
- Di chuyển lá tới thư gốc của thư đã chọn.
- Đặt văn bản tin nhắn đã chọn vào trình chỉnh sửa.
- Cho phép bạn chỉnh sửa và gửi lại, tạo một nhánh mới.
Chọn một trợ lý, công cụ, nén hoặc mục nhập không phải của người dùng khác:
- Di chuyển lá đến mục đó.
- Để trống trình soạn thảo.
- Cho phép bạn tiếp tục từ thời điểm đó.
Việc chọn thông báo của người dùng gốc sẽ đặt lại lá về cuộc trò chuyện trống và đặt lời nhắc ban đầu vào trình chỉnh sửa.
/tree, /fork và /clone
| Tính năng | /tree |
/fork |
/clone |
|---|---|---|---|
| đầu ra | Cùng một tập tin phiên | Tệp phiên mới | Tệp phiên mới |
| Xem | Toàn cây | Bộ chọn tin nhắn của người dùng | Chi nhánh hoạt động hiện tại |
| sử dụng điển hình | Khám phá các lựa chọn thay thế tại chỗ | Bắt đầu phiên mới từ lời nhắc trước đó | Sao chép công việc hiện tại trước khi tiếp tục |
| Bản tóm tắt | Tóm tắt chi nhánh tùy chọn | Không có | Không có |
Sử dụng /tree khi bạn muốn giữ các lựa chọn thay thế cùng nhau. Sử dụng /fork hoặc /clone khi bạn muốn có một tệp phiên riêng biệt.
Tóm tắt chi nhánh
Khi /tree chuyển từ nhánh này sang nhánh khác, pi có thể tóm tắt nhánh bị bỏ rơi và đính kèm bản tóm tắt đó vào vị trí mới. Điều này bảo tồn bối cảnh quan trọng từ đường dẫn bạn đã rời đi mà không phát lại toàn bộ nhánh.
Khi được nhắc, hãy chọn một trong:
- không có tóm tắt
- tóm tắt với lời nhắc mặc định
- tóm tắt với hướng dẫn tập trung tùy chỉnh
Xem Compaction để biết branch summarization móc bên trong và móc mở rộng.
Định dạng phiên
Các tệp phiên là JSONL và chứa các mục nhập thông báo, thay đổi mô hình, thay đổi ở cấp độ tư duy, nhãn, rút gọn, tóm tắt nhánh và mục mở rộng.
Để biết trình phân tích cú pháp, tiện ích mở rộng, cách sử dụng SDK và Trình quản lý phiên đầy đủ API, hãy xem Session Format.