Skip to content

Recipes 与会话恢复

“显示”菜单可把当前标签保存成 .asterrecipe,或重新打开 Recipe。Recipe 可保存 tab/window 作用域、完整嵌套分屏及比例、Pane 类型、目录、文件、可选命令和内容级别,不保存 PID、令牌或文件描述符。每次打开都会生成新的 Pane 身份,因此同一 Recipe 可安全重复使用。外部 Recipe 必须是受大小限制的普通文件,引用的编辑资源也有累计预算。

外部 Recipe 的命令默认先完整列出全部命令并确认,不会隐藏第 21 条及后续内容;可在“设置 → Recipes”选择从不重放、一次确认、逐条确认或仅对相同 SHA-256 内容信任。信任跟随文件内容而非路径,文件修改后必须重新确认。“逐条确认”会在每条命令真正写入终端前提供运行、跳过和停止选项。命令只在 Shell Integration 已就绪且停在空闲 Prompt 时串行发送,上一条收到完成标记后才发送下一条。

“设置 → Shell → 会话恢复”决定退出并重新打开 Aster 时,各终端 Pane 里正在运行的东西如何回来:

  • 恢复复用器会话:快照时前台是 tmux / screen,重启后在首个 Prompt 自动执行 tmux attach -t <会话>screen -r <会话>(解析不出会话名时用无参附着)。
  • 恢复 Code Agent 会话:Claude / Codex / OpenCode 以原生 --resume 重连(与“智能体”页是同一开关)。
  • 终端恢复协议(OSC 88):程序可以声明自己重启后应如何被拉起。printf '\e]88;query\a' 会收到 \e]88;supported;v=1\aprintf '\e]88;restart=nvim .\a' 声明恢复命令,\e]88;clear\a 撤销。声明只写入工作区快照,恢复时作为普通输入发送,不会被解释执行。
  • 恢复时重新运行进程:“不重启 / 仅白名单内 / 所有运行中的进程”。白名单按逗号分隔、按命令前缀匹配(npm run 匹配 npm run dev)。

优先级为 OSC 88 声明 > 复用器 > 普通进程;绑定了 Agent 会话的 Pane 只走 Agent 重连。恢复命令都在 Shell 首个 Prompt 出现时发送,用户在此之前输入任何内容即取消;开关在发送时读取,改完设置无需重新退出一次。

误关 Pane 或标签后按 ⇧⌘T 可按最近关闭顺序逐个恢复。关闭历史跨正常退出和崩溃保留;正常退出会恢复主窗口和仍打开的附加窗口,连续崩溃三次会绕过可能损坏的快照并打开干净 Shell。可序列化布局会恢复,但不会持久化 PID、文件描述符或只读等临时状态。

MIT License · 不含遥测,不上传数据