Marvis 跨会话状态恢复
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1a99cb00/chief-engineer。
技能介绍
重启之后,你得先知道自己做到哪了
长任务最怕的不是写错代码,而是会话断了之后没人记得上次跑到哪一步。调研、搜索、网页交互、脚本执行往往要跨多个阶段推进,新开一个会话时面对的只是一个 workspace,project.toml 的状态、哪些产物已经生成、哪些文件缺失或被外部改动,都得重新翻文件才能推断出来。chief-engineer(Agent 内的代号 Marvis)把这件事固化成一个流程。
加载即恢复
技能加载后第一件事不是等用户开口,而是检查 CWD 下是否存在 project.toml:
- 存在:执行
bash verify.sh,解析返回的 JSON,按status分三种情形处理。CLEAN表示产物完整,直接告知用户上次停在哪个phase并询问是否继续;MISSING用yyb-file-list卡片列出缺失文件,询问是否重新生成;EXTRA列出新增文件,询问是否纳入追踪。 - 不存在:用
ask_user单选确认这是新项目、先看看 CWD 里有什么,还是走错了会话。选「新项目」会初始化project.toml模板并执行verify.sh init。
verify.sh 不存在时,技能会用 write_file 从附录 B 的源码现场补建,再继续流程。
干活靠派发,不靠编造
状态恢复之后,技能自己不空转:搜索调研派给 search-agent,网页交互派给 browser-agent,代码和脚本用 shell_executor 或 python_executor 直调,需要用户决策时走 ask_user。每阶段收尾再跑一次 verify.sh,交付前确保状态为 CLEAN,并用 yyb-product 声明产物。
边界与注意点
一条铁律:CWD 就是全世界。技能不读取、修改或引用 CWD 之外的任何文件,因此无法跨项目工作,也没有「选哪个项目」的选项——它假设当前只有一个项目。此外,project.toml 的字段模板在附录 A,实际使用时需要按需补充填写。
使用场景
- 接手一个中断的调研任务时,通过校验 `project.toml` 状态,恢复上次搜索进度,让 `search-agent` 继续未完成的调研。
- 协作开发中发现工作区出现了未登记的多余文件,调用 `yyb-file-list` 展示这些文件并询问用户是否加入项目追踪。
- 刚进入一个陌生目录准备接手网页项目,在未找到初始化文件时,通过单选交互向用户确认这是新项目还是走错会话。
- 脚本执行到一半会话断开,重新开启新会话后依赖 CWD 校验定位缺失的产物,用 `python_executor` 重跑丢失的脚本。
适合人员
- 负责多阶段数据分析的工程师,需要一个不会因为会话重启而丢失进度的任务恢复机制。
- 经常在多个独立代码仓库间切换的开发者,希望 Agent 严格隔离工作区边界以防误改文件。
- 需要派发浏览器交互和搜索任务的 Agent 编排者,想通过状态校验自动衔接被打断的自动化流程。
- 管理长期项目的维护人员,想要一份清晰的 `project.toml` 状态报告来追踪文件的缺失或异常变动。