會議
Pi 將對話儲存為會話,以便您可以繼續工作、從先前的回合分支並重新訪問先前的路徑。
會話存儲
會話自動儲存到~/.pi/agent/sessions/,依工作目錄組織。每個會話都是一個具有樹狀結構的JSONL檔案。
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 session在互動模式下使用 /session 查看目前會話檔案、會話 ID、訊息計數、令牌和成本。
對於JSONL檔案格式和SessionManagerAPI,請參閱Session Format。
會話命令
| 命令 | 描述 |
|---|---|
/resume |
瀏覽並選擇先前的會話 |
/new |
開始新會話 |
/name <name> |
設定目前會話顯示名稱 |
/session |
顯示會話訊息 |
/tree |
導航當前session tree |
/fork |
根據先前的用戶訊息建立新會話 |
/clone |
將目前活動分支複製到新會話中 |
/compact [prompt] |
總結舊的背景;見Compaction |
/export [file] |
將會話匯出為 HTML |
/share |
上傳為私人 GitHub 要點,並帶有可共享的 HTML 鏈接 |
恢復和刪除會話
/resume 開啟目前專案的互動式會話選擇器。 pi -r 在啟動時開啟相同的選擇器。
在選擇器中您可以:
- 透過輸入搜尋
- 使用 Ctrl+P 切換路徑顯示
- 使用 Ctrl+S 切換排序模式
- 使用 Ctrl+N 過濾命名會話
- 使用 Ctrl+R 重新命名
- 使用 Ctrl+D 刪除,然後確認
如果可用,pi 使用 trash CLI 進行刪除,而不是永久刪除檔案。
命名會話
使用 /name <name> 設定人類可讀的會話名稱:
/name Refactor auth module使用 --name 或 -n 設定啟動時的名稱:
pi --name "Refactor auth module"
pi --name "CI audit" -p "Review this build failure"命名會話在 /resume 和 pi -r 中更容易找到。
使用 /tree 進行分支
會話儲存為樹。每個條目都有一個id和parentId,目前位置是活動葉子。 /tree 讓您跳到任何先前的點並從那裡繼續,而無需建立新檔案。

形狀範例:
├─ 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..."樹控件
| 鑰匙 | 行動 |
|---|---|
| ↑/↓ | 導航可見條目 |
| ←/→ | 向上/向下翻頁 |
| Ctrl+←/Ctrl+→ 或 Alt+←/Alt+→ | 折疊/展開或在分支段之間跳躍 |
| Shift+L | 設定或清除所選條目上的標籤 |
| Shift+T | 切換標籤時間戳 |
| 進入 | 選擇條目 |
| 退出/Ctrl+C | 取消 |
| Ctrl+O | 循環過濾模式 |
濾鏡模式有:預設、無工具、僅使用者、僅標記和全部。在 Settings 中配置預設值 treeFilterMode。
選擇行為
選擇用戶或自訂訊息:
- 將葉移動到所選訊息的父級。
- 將選定的訊息文字放置在編輯器中。
- 允許您編輯並重新提交,建立新分支。
選擇助手、工具、壓縮或其他非使用者條目:
- 將葉子移到該條目。
- 將編輯器留空。
- 讓您從那一點繼續。
選擇根用戶訊息會將葉重設為空對話,並將原始提示放置在編輯器中。
/tree、/fork、/clone
| 特徵 | /tree |
/fork |
/clone |
|---|---|---|---|
| 輸出 | 相同的會話文件 | 新會話文件 | 新會話文件 |
| 看法 | 滿樹 | 使用者訊息選擇器 | 目前活動分支 |
| 典型用途 | 探索現有的替代方案 | 從先前的提示開始新會話 | 在繼續之前複製當前工作 |
| 概括 | 選用分支摘要 | 沒有任何 | 沒有任何 |
當您想將替代方案保留在一起時,請使用 /tree。當您需要單獨的會話文件時,請使用 /fork 或 /clone。
分支摘要
當 /tree 從一個分支切換到另一個分支時,pi 可以總結廢棄的分支並將該摘要附加到新位置。這可以保留您離開的路徑中的重要上下文,而無需重播整個分支。
出現提示時,選擇以下選項之一:
- 沒有總結
- 使用預設提示進行總結
- 使用自訂焦點說明進行總結
請參閱 Compaction 了解 branch summarization 內部構件和延長鉤。
會議形式
會話檔案為JSONL,包含訊息條目、模型變更、思維層級變更、標籤、壓縮、分支摘要及擴充條目。
有關解析器、擴充、SDK用法和完整的 SessionManager API,請參閱Session Format。