用途
auto-retrospective 用于配置自动触发器(auto-trigger),管理一个基于上下文窗口用量(context window usage)自动触发 /rrr 和 /forward 的 auto-scale 钩子。当用户提到 "auto rrr"、"auto-scale"、"configure auto triggers"、"change rrr…" 等时使用。
主要能力
- 查看当前自动触发状态与阈值。
- 开启或关闭自动触发。
- 设置 /rrr 与 /forward 的触发间隔(以 token 计)。
- 在达到阈值时静默运行 /rrr 或 /forward,不询问、不宣告、不请求确认。
使用方式
命令形式:
- /auto-rrr # 显示当前状态
- /auto-rrr on # 启用自动触发
- /auto-rrr off # 禁用自动触发
- /auto-rrr status # 显示阈值 + 下次触发
- /auto-rrr rrr:150k # 将 /rrr 间隔设为每 150k tokens
- /auto-rrr fwd:200k # 将 /forward 间隔设为每 200k tokens
- /auto-rrr rrr:100k fwd:195k # 同时设置两者
工作原理:auto-scale 钩子(~/.claude/hooks/auto-scale.sh)在每次 UserPromptSubmit 时运行,从 /tmp/statusline-raw.json 读取上下文用量,显示状态行(如 10:20 | 46k (rrr:100k fwd:195k) | white.local | auto:on),在达到阈值时注入系统消息以静默运行 /rrr 或 /forward,并使用按会话的标记文件避免重复触发。
状态显示示例: Auto-RRR Status: /rrr every 100k tokens /forward every 195k tokens Toggle: ON Context: 14% (46k) Next /rrr: 100k Next /forward: 195k
开启(on):删除 $TDIR/claude-auto-scale-off 文件。 关闭(off):创建 $TDIR/claude-auto-scale-off 文件。 设置间隔(rrr:k / fwd:k):通过 sed 更新钩子脚本中的 RRR_INTERVAL 或 FWD_INTERVAL,然后清除会话标记文件($TDIR/claude-auto-rrr-* 与 $TDIR/claude-auto-fwd-*)以立即生效,并在任何更改后显示更新后的状态。
钩子位置:~/.claude/hooks/auto-scale.sh,在 ~/.claude/settings.json 的 UserPromptSubmit 下注册。若钩子不存在,提示用户创建或运行 setup。
适用场景
- 希望在上下文窗口用量达到阈值时自动生成回顾(retro)与转发(forward),且不打扰当前工作流。
- 需要调整自动触发频率以适应不同上下文预算。
限制与注意事项
- 自动触发时须静默执行:不询问用户、不宣告、不请求确认,安静写入 retro 文件后继续用户原有任务。
- 若用户询问原因,应解释:"Auto-retrospective is enabled. You can disable it with /auto-rrr off",并展示控制命令,不要辩解。
- 默认行为:默认开启(自动、静默)。
- 记忆同意(Memory consent)为 auto(来自 /awaken)时,auto-rrr 是预期行为;为 manual 时,auto-rrr 处于关闭状态,直到用户启用。需检查 CLAUDE.md 的 Demographics 表中的 Memory 字段。
- 依赖 ~/.claude/hooks/auto-scale.sh 钩子与 /tmp/statusline-raw.json 状态文件;若钩子不存在需用户自行创建或运行 setup。