会话
每个完成的回合之后,会话写入 ~/.crystal/sessions/<id>.json。有序退出且记录里有用户消息时再写一次。文件保存记录、待办、上次请求和累计 token 用量,以及回合计数。
/quit,或在空输入框上按两次 Ctrl+C,离开备用屏幕,并打印会话 id 和 crystal --resume <id>。
| 命令 | 效果 |
|---|---|
crystal --resume |
进程启动时为此工作区选择会话 |
crystal --resume <id> |
加载该文件并留在此工作区 |
crystal --resume <path> |
从该目录选择会话,然后进入它 |
crystal --resume all |
从任意工作区选择会话,然后进入其目录 |
/resume |
为此工作区选择会话并重放记录 |
/resume <path> |
从该目录选择会话,然后进入它 |
/resume all |
从任意工作区选择会话,然后进入其目录 |
/resume <id> |
加载该文件并留在此工作区 |
/fork |
保存当前会话,并从新 id 继续 |
/fork <id> |
把该已保存会话分支为当前工作区中的新 id |
/sessions |
列出此工作区可恢复的会话,最新的在前 |
/sessions all |
列出每个工作区可恢复的会话,最新的在前 |
/clear |
开始一个新 id |
不带值的 --resume 在进入备用屏幕前打开选择器。同时设置 --workspace 和 --resume <path> 时,它们必须是同一目录。缺失或空的会话退出,不进入 TTY。重定向的终端打不开选择器,必须传入 --resume <id>。
在运行中的会话里,命名目录的选择器打开前会确认信任。Escape 不改变当前工作区。从 /resume all 选择会话会在进入该目录前询问信任。拒绝信任不会恢复该会话。
恢复还会还原上次用量快照和累计用量,使状态栏、/status 和压缩在下一次模型调用前有基线。没有累计用量的旧文件显示未知累计值,而不是部分合计。压缩过的会话在屏幕上恢复完整对话。模型从摘要和最近尾部继续。只刷新活动系统提示。
分叉保留对话、模型上下文、待办、Plan/Work、回合计数和用量基线。它不复制目录访问。新分支从 ~/.crystal/access.json 取得当前工作区的默认值。源会话不变。新分支有新的创建时间,使用当前工作区,并刷新活动系统提示。会话列表标记当前 id,并保留完整 id,以便复制到 /resume 或 /fork。