跨会话任务追踪
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-session-tracker。
技能介绍
问题:会话死掉,进度一起蒸发
多步 Agent 任务最怕的不是单步失败,而是会话提前结束:上下文顶满、超时、工具报错、连接断开。更糟的是元崩溃——整段对话被清空,新开的 Agent 连「该去看磁盘上的 worklog」都不知道。手写 worklog.md 往往格式随意、维护断续,也没有可机器恢复的步骤状态。
这套技能在做什么
session-tracker 把状态每次变更立刻落盘到默认目录 SESSION_DIR(如 .session/),核心包括:
state.json/todo.json:任务元数据、文件清单与持久 TODO(可与 TodoWritesync,以 tracker 为准,只增改不删)worklog.jsonl:一行一条 JSON,自动记录init、step_start/step_done、file_*、fs_activity、ping、stuck_alert等,进程半路死掉也只丢最后一行- 文件系统扫描:周期性对比
download/、upload/、.session/、skills/等目录的 size、mtime、atime,有读写就算活着,避免 Agent 长时间静默却被误判卡死 - 双层卡死检测:先靠 FS 活动;若无活动再比
microdump_curr/microdump_prev;连续 3 次无变化则stuck_alert - v2.1 Gridman 元崩溃恢复:
SESSION_ACTIVE哨兵、init时孤儿会话警告、crash-detect报告与resume续跑建议
推荐顺序里强调:任何新任务前先 crash-detect;中断后新会话先 resume,再按 step / file / ping / log / done 走完整链路;长操作无文件变更时用 ping 重置卡死计数。
适用边界
- 依赖约定好的项目目录布局与后台
monitor进程;路径与SESSION_DIR需与真实工程一致。 - 自动「读文件」靠 atime/relatime,挂载选项或批量读可能信号不准。
- 恢复质量取决于你是否按流程写 step/file/log;跳过
done会留下哨兵,需用crash-detect人工判断是崩溃还是未收尾。
使用场景
- 多步改代码或跑技能时上下文即将顶满,需要在每步前后写 step/file 以便下次会话用 resume 接着做
- 长耗时技能调用或 API 轮询期间无文件变更,用 ping 避免 monitor 误判 stuck
- 整段对话因元崩溃被清空,新 Agent 先 crash-detect 再根据 worklog 决定是否续跑原任务
- 本地维护 download/upload 目录的批处理 Agent,靠 FS 扫描确认任务仍在推进而非静默卡死
适合人员
- 用 Cursor/Claude 等 Agent 做跨文件重构、常因超时或断连中断,需要磁盘级续跑清单的工程师
- 在 TodoWrite 里拆多步任务、希望 todo.json 与 sync 在会话死后仍能对齐状态的自动化脚本维护者
- 负责长跑 Agent 任务、需要 stuck_alert 与后台 monitor 发现「无 FS 活动且无心跳」真卡死的 SRE 或平台同学
- 多轮对话里会改文件名或并行读写多份产物,需要 file --rename 与文件清单一致才能安全恢复的集成测试编写者