上下文压缩前自动落盘,跨项目汇总,每天早上用一份回顾开启今天。四个组件,一个目录,零基础设施。
一天里四个时刻。两个你主动触发,两个自动跑。四个全部写到同一个地方。
读过去 36h 的摘要卡片,提炼一份回顾,主动问你 2-3 个关于今天的具体问题。就这样 — 后面的对话从这里继续。
每次 Claude Code 压缩会话时,hook 静默把压缩前的摘要存到 ~/.claude/summaries/。你完全无感,但东西都在。
扫描所有项目过去 24h 的会话,写一张跨项目总账卡片。完成一个阶段、想留节点时用它。
你忘了。它没忘。cron 在 18:00 无头模式自动跑,不管你白天有没有手动触发,当天的汇总都会落盘。
四个全部写到 ~/.claude/summaries/,命名 <YYYYMMDD-HHMMSS>-<source>-<id>.md。frontmatter 里也带 source — 直接 grep 就行。
压缩前给上下文拍快照。PostCompact 输入里直接带 Claude 生成的摘要 — 不用额外调模型,落盘就行。
跨会话汇总。只取过去 24h 的消息 — 一个横跨多天的会话只贡献最近 24h 的部分。用当前会话的模型。
无头模式 claude -p。失败也落盘 — 早上看到一片空白不知道是没活动还是脚本挂了,这是设计上不允许的。
读摘要卡片(已经提炼过一次),二次提炼成回顾,最后抛出 2-3 个可决策的问题。不是总结 — 是对话的起点。
或者直接 clone 仓库,让 Claude Code 帮你装。README 里有现成的 prompt。
在仓库根目录执行:
# commands 和 hooks 拷到 ~/.claude/
cp commands/*.md ~/.claude/commands/
cp hooks/*.sh ~/.claude/hooks/
chmod +x ~/.claude/hooks/*.sh
mkdir -p ~/.claude/summaries
合并到 ~/.claude/settings.json:
{
"hooks": {
"PostCompact": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "bash \"$HOME/.claude/hooks/compact-summary-card.sh\"",
"timeout": 15
}]
}]
}
}
每天 18:00 — 改成你想要的时间:
(crontab -l 2>/dev/null; \
echo "0 18 * * * /bin/bash $HOME/.claude/hooks/daily-summary-cron.sh >> $HOME/.claude/summaries/cron.log 2>&1") \
| crontab -
⚠ cron 环境的 PATH 极简 — 编辑 daily-summary-cron.sh 第 14 行,把 claude 和 jq 所在路径加进去。