第 12 章 · 内置技能:/ahoy、/bearings、/afk、/stow、/updatefirstmate
本章目标:掌握 FirstMate 自带的五个用户可调用技能——会话回顾、舰队摘要、离开模式、知识清扫与自更新,学会在日常运营中组合使用它们。
12.1 技能调用方式总览
FirstMate 出厂自带五个面向船长的内置技能(user-invocable built-in skills)。不同 harness 的调用前缀略有差异:
# Claude Code 与 Grok 使用斜杠形式
> /ahoy
> /bearings file include PRs
# Codex 使用 $ 前缀,名称相同
> $afk
> $stow五个技能的分工可以用一张表概括:
| 技能 | 一句话定位 |
|---|---|
/ahoy | 回顾发生了什么 + 引导你处理未决事项 |
/bearings | 生成当前舰队状态的四段式摘要 |
/afk | 你离开时的自动值班模式 |
/stow | 把对话中的持久知识清扫落盘 |
/updatefirstmate | 安全地自我更新到最新版本 |
这五个技能都以 SKILL.md 形式存放在 .agents/skills/ 目录下(afk、ahoy、bearings、stow、updatefirstmate),由 firstmate 在对应触发点加载执行。
12.2 /ahoy:回到驾驶舱的第一件事
当你回到终端,想知道「我离开的这段时间发生了什么、有什么需要我拍板的」,就敲 /ahoy。它做三件事:
1. RECAP 回顾自上一条真实 captain 消息以来的可见会话事件
2. DECISIONS 列出可见但未获回答的 captain 决策
3. GUIDE 按 agent 判断的影响顺序,一次一个地引导决策第三个环节尤其贴心:不是把一堆问题甩到你脸上,而是逐个引导——先处理影响最大的,你答完一个再进入下一个。
/ahoy 还有一个特殊分支:如果它是本次会话的第一条真实 captain 消息(比如刚启动会话就敲了 /ahoy),它会退化为调用 Bearings 生成摘要,因为此时没有「上次消息以来」的事件可以回顾。
12.3 /bearings:舰队的四段式摘要
/bearings 从本地舰队状态和已注册 secondmate 状态中生成一份简洁的四段式聊天摘要。它是纯只读操作,适合快速了解全局。
它支持两个可组合的变体:
# 基础形式:仅聊天输出摘要
> /bearings
# 变体一:附带实时 PR 富化(仍保持仅聊天)
> /bearings include PRs
# 变体二:写入当日报告文件并在摘要中链接
> /bearings file
# 组合:写入文件 + PR 富化
> /bearings file include PRs使用 file 变体时,报告会被完整重建为当天的日期文件:
data/
└── status-report-2026-08-23.md # data/status-report-<YYYY-MM-DD>.md底层支撑脚本是 bin/fm-bearings-snapshot.sh——它把结构化的舰队快照投影成紧凑的 bearings 视图,默认 local-only,只有显式传 --include-prs 才会发起对外的 PR 富化请求。还有一个交互式升级版 /bearings lavish 舰队面板,由 bin/fm-bearings-board.sh 构建并武装。
12.4 /afk:离开模式的自动值班
/afk 是最接近「自动驾驶」的技能。当你需要离开键盘(Away From Keyboard)时启用它,firstmate 会切换到分级处理的值班形态:
/afk 运行时的职责划分:
例行通知 ──► sub-supervisor 用 bash 自行处理(不打扰你)
captain 相关事件 ──► 攒成批量摘要(batched digests)上报
交付卡死 ──► 主动告警(配合 wedge-alarm 活跃提醒)三个关键行为:
- sub-supervisor 自处理:routine notifications 由 bash 层的 sub-supervisor 直接消化,不消耗你的注意力也不消耗 token;
- 批量上报:真正 captain 相关的事件不逐条轰炸,而是攒批后以 digest 形式呈现;
- 卡死告警:如果交付(delivery)卡住得不到推进,系统会主动升级告警——这正是第 11 章 watcher 中 wedge 处理逻辑的用户侧入口。卡死告警的通知渠道可通过
config/wedge-alarm配置,默认在 macOS 上使用通知中心(若可用)。
配套脚本形成了完整的生命周期:bin/fm-afk-launch.sh 负责进入与回滚,bin/fm-afk-start.sh 提供前台守护入口,bin/fm-afk-return.sh 负责确定性返回——关闭值班态、整理补看证据,并在存在 firstmate 必须处理的阻塞项时设置闸门。
12.5 /stow 与 /updatefirstmate
/stow:会话知识清扫
长对话里积累了很多只存在于聊天记录中的持久知识:你随口说的工作偏好、项目事实、踩过的坑、达成的决定、未完成的下一步。/stow 负责把这些清扫落盘:
/stow 的五类清扫目标:
1. user preferences 你顺口提过但没写进配置的工作偏好
2. project facts 构建/测试/部署等任何人后续都需要的事实
3. operational gotchas 踩坑记录与非常规成因
4. standing decisions 本会话做出的应当延续的决定
5. undone next steps 尚未落到任何地方的待办它的记忆管理哲学是「紧凑的运营地图,而非不断膨胀的日志」:条目分层(tiered)、跨 pass 衰减(decay),陈旧材料退入冷存档(cold archival)而非直接删除。每个 home 有 startup memory 预算约束(如默认物化为约 7,500 token),超出时会强制决策而不是静默突破。如果你有注册的 secondmates,清扫结果还会级联到它们那里。
最重要的使用时机:主动重置或长时间离开之前。官方明确建议 intentional reset 前 run /stow,确保下一个会话能 reconcile 并继续(见第 11.5 节)。公共安装版 skills/stow 还支持路由到外部系统(如 issue tracker),但必须经过显式指令规则授权。
/updatefirstmate:安全自更新
> /updatefirstmate
# 行为:fast-forward-only 拉取 origin 最新版本,
# 更新自身与 secondmates,然后重读指令并 nudge secondmates底层是 bin/fm-update.sh:严格 fast-forward-only 的拉取策略保证本地不会被强推的历史覆盖;更新完成后 firstmate 重读自己的指令材料,并对本地或远程的 secondmate homes 发起提示同步。
本章小结
- 五个内置技能覆盖日常运营闭环:
/ahoy回顾引导决策、/bearings四段式全局摘要、/afk离开值班、/stow知识落盘、/updatefirstmate快进式自更新。 - Claude/Grok 用斜杠前缀,Codex 用
$前缀,名称一致。 /bearings的file变体重建data/status-report-<YYYY-MM-DD>.md并链接,include PRs变体增加实时富化;两者可组合。/afk的分级处理:例行通知 bash 自消化、captain 事件批量上报、交付卡死主动告警;返回时由fm-afk-return.sh做确定性收尾。/stow是重启与压缩前的保险动作:五类知识分类归档、衰减加冷存档、受预算约束并向 secondmates 级联。
🧪 随堂测验
点击你认为正确的选项。答错时会展示正确答案与原因解析。
1. 在 Codex 中调用离开模式技能的正确写法是?
2. /ahoy 作为会话的第一条真实 captain 消息被调用时会发生什么?
3. 关于 /bearings 的变体,正确的是?
4. 为什么官方建议在主动重置会话之前先运行 /stow?
🛠️ 动手实践
- 启动你的 firstmate 会话后依次运行
/ahoy和/bearings,对照本章描述确认:/ahoy 是否逐个引导未决决策?/bearings 的摘要是否呈现四个段落?把两者的实际输出片段贴进笔记并标注差异。 - 使用
/bearings file include PRs生成一份带 PR 富化的当日报告,打开data/status-report-YYYY-MM-DD.md检查内容结构;随后再跑一次不带参数的/bearings,对比聊天输出与文件版本的异同。 - 设计一次离开演练:给舰队下达一个耗时数分钟的 scout 任务后立即
/afk,离开观察告警是否在任务完成后以 digest 形式出现;返回时执行确定性收尾流程,记录 sub-supervisor 自动处理了哪些事件、哪些被升级给了你。