用途
nav-marker 是 Navigator 中的上下文标记技能,用于创建“保存点”,在中断对话、进行高风险改动或压缩上下文之前保存当前会话状态,之后无需重新解释背景即可继续工作。
主要能力
- 创建上下文标记:生成结构化 Markdown 文件,内容包括对话摘要、已加载文档、已修改文件、当前关注点、技术决策、后续步骤。
- 捕获用户意图与认知状态:包含用户意图与目标(ToM)、用户已知内容、作出的假设、不确定区域等。
- 支持循环模式状态:记录迭代次数、阶段、状态哈希、完成指标、退出信号和停滞计数。
- 支持知识图谱状态(v6.0.0+):检查知识图谱是否存在,记录本次会话浮现的记忆、活跃概念和图查询。
- 标记命名:用户可指定名称(转为小写、空格替换为连字符),未指定时按时间戳自动生成 marker-{YYYY-MM-DD}-{HHmm}。
- 验证与日志:创建后检查文件存在且非空,计算 md5 校验和并写入 .agent/.marker-log。
使用方式
可通过自然语言触发,例如“save my progress”“create checkpoint”“mark this”“before I take a break”“save before lunch”“end of day”等;也可在上下文压缩前使用。执行步骤包括:检查/创建 .agent/.context-markers/ 目录、确定标记名称、生成标记内容、保存为 {YYYY-MM-DD-HHmm}_{name}.md、验证创建、输出确认信息。恢复时读取对应标记文件,或使用 /nav:markers 选择标记。
适用场景
- 午休、下班等中断前保存进度。
- 高风险重构或实验新方案前建立恢复点。
- 功能完成等里程碑节点。
- 上下文压缩前保留知识。
限制与注意事项
上下文较少(少于 5 条消息)时技能不建议创建标记;重复名称时可选择覆盖、追加时间戳或换名。标记文件为个人会话保存点,已被 git 忽略,团队成员之间不可见;可用 /nav:markers clean 删除。典型标记大小为 2–5k tokens。