工作階段
每個完成的回合之後,工作階段寫入 ~/.crystal/sessions/<id>.json;有序結束且記錄中有使用者訊息時也會再寫一次。檔案儲存記錄、待辦、上次請求和累計的提供商報告 token 用量,以及回合計數。
/quit 以及在空輸入框上按兩次 Ctrl+C 會離開備用畫面,然後印出工作階段 id 和 crystal --resume <id>。不帶值的 --resume 在進入備用畫面前開啟此工作區的選擇器。--resume <id> 載入該檔案並留在行程工作區。--resume <path> 列出該目錄,選定工作階段後進入它。--resume all 列出每個工作區,並進入所選工作階段的目錄。同時設定 --workspace 和 --resume <path> 時,它們必須指向同一目錄。缺失或空的工作階段會結束且不進入 TTY。重新導向的終端機無法開啟選擇器,必須傳入 --resume <id>。
/resume、/resume <path> 和 /resume all 在執行中的工作階段內使用相同規則。命名目錄的選擇器開啟前會確認信任。Escape 讓目前工作區保持不變。從 /resume all 選擇工作階段會在進入該工作階段目錄前詢問信任。拒絕信任不會恢復該工作階段。/resume <id> 恢復該記錄並留在目前工作區。
| 命令 | 效果 |
|---|---|
crystal --resume |
在行程啟動時為此工作區選擇一個工作階段 |
crystal --resume <id> |
載入 ~/.crystal/sessions 下的該檔案並留在此工作區 |
crystal --resume <path> |
從該目錄選擇一個工作階段,然後進入它 |
crystal --resume all |
從任意工作區選擇一個工作階段,然後進入其目錄 |
/resume |
為此工作區選擇一個工作階段並重放記錄 |
/resume <path> |
從該目錄選擇一個工作階段,然後進入它 |
/resume all |
從任意工作區選擇一個工作階段,然後進入其目錄 |
/resume <id> |
載入 ~/.crystal/sessions 下的該檔案並留在此工作區 |
/fork |
儲存目前工作階段,並從獨立的新 id 繼續 |
/fork <id> |
把該已儲存工作階段分支為目前工作區中的新 id |
/sessions |
列出目前工作區可恢復的工作階段,最新的在前 |
/sessions all |
列出每個工作區可恢復的工作階段,最新的在前 |
/clear |
開始一個新 id |
恢復還會還原上次用量快照和累計用量,使狀態列、/status 和壓縮在下一次模型呼叫前有正確的基線。沒有累計用量的舊工作階段檔案顯示未知的累計值,而不是部分合計。壓縮過的工作階段在畫面上恢復完整對話。模型從摘要和最近的尾部繼續,只重新整理活動的系統提示。
分叉保留完整對話、模型上下文、待辦、Plan/Work 模式、回合計數和用量基線。它不複製目錄存取。新分支從 ~/.crystal/access.json 接收目前工作區的預設值。來源工作階段保持不變。新分支獲得新的建立時間,使用目前工作區,並重新整理其活動系統提示。工作階段清單標記目前 id,並保留完整 id,以便複製到 /resume 或 /fork。