SuperAPI AI 工具集

session-closeout

办公与效率

查看项目

更新于 10-23 10:07

技能介绍

用途

session-closeout 用于结束一个运行在 Orca IDE 终端中的 Claude Code 会话,使其日后可被找到、可被理解,并可选地关闭终端以释放内存。它解决三类需求:只给会话起一个召回名称;命名并关闭本会话终端;或将整个工作区暂停(后者不由本技能完成,需用户在 Orca 中手动执行工作区 Sleep)。

主要能力

命名:命名会写入 Claude Code 自身 /rename 所写的两类会话记录(custom-title 与 agent-name),并回读文件尾部确认写入成功。

运行中工作检测:脚本组合三类来源判断是否有未完成工作——代理进程树下仍在运行的 Bash 工具 shell、转录记录中的后台命令与后台代理(含会话级 CronCreate、尚未到期的 ScheduleWakeup)、以及 Orca 对该标签页的状态记录。任一来源发现运行中工作即视为未结束。

安全关闭:带 --close 时,标签页仅在本轮对话结束且本会话启动的所有工作完成后关闭;由分离的 watcher 先等待 Orca 的 tui-idle 信号,再轮询直至各来源清空,超时(--settle-timeout,默认 1800 秒)则放弃关闭、保留标签页并移除标记。若用户在关闭前输入新提示,关闭取消。

标记与恢复:有运行中工作时标签标题加 [running] 前缀,watcher 在工作结束后移除;工作区状态与注释在必要时标记并精确还原。输出 JSON 给出 claude --resume <id> 恢复命令,并按转录记录的起始文件夹给出可用的恢复方式。

使用方式

在待关闭的会话内通过 Claude Code 的 Bash 工具运行脚本:

CLOSE=<本技能目录>/scripts/orca-closeout "$CLOSE" # 显示会话、名称、终端、运行中工作、恢复命令 "$CLOSE" --title "Area: outcome, state (dates)" [--tab-title "Short label"] [--dry-run] "$CLOSE" --title "…" --close [--min-wait 5] [--settle-timeout 1800] [--force] [--dry-run]

脚本从 CLAUDE_CODE_SESSION_ID 识别会话,从 ORCA_TERMINAL_HANDLE 识别终端。--force 会在本轮结束后立即关闭并终止运行中工作,不建议用于仅为了关闭标签页。

名称规则

名称总长不超过 96 个字符,前 25-30 个字符应包含区分本会话的关键词,推荐格式为 <领域>: <做了什么> - <状态> (<日期或区间>)。不要写密钥或个人隐私,因为名称会被索引、展示并可能同步到配对设备。

适用场景与限制

适用于需要留存交接记录、按名称检索历史会话、释放终端内存的日常收尾。限制包括:--tab-title、--close 及相关标记依赖 Orca 环境,普通终端下仅命名与运行中工作报告可用;关闭前若存在 /loop 或会话级 cron,关闭会等待至超时;watcher 无法从会话内部观察,需事后查看 close_log;会话转录中大量既有缺陷细节(如具体 bug 编号、参数细节)属于原资料记载,此处不逐条展开。本技能默认不主动替用户关闭终端,关闭与否取决于用户要求。