Skills session-archiver
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aqbjqtd/session-archiver" ~/.claude/skills/clawdbot-skills-session-archiver && rm -rf "$T"
manifest:
skills/aqbjqtd/session-archiver/SKILL.mdsource content
Session Archiver
自动归档对话历史到每日 memory,保留 user + assistant 消息。双保险触发:cron 每小时 + /new 时 spawn。
核心要点
- 双保险触发 — cron 每小时自动运行 + /new 时 spawn subagent,确保不遗漏
- 去重 — marker + memory 内容双保险,避免重复归档
- 归档内容 — user + assistant 消息,彻底剥离元数据
- 自动清理 — 保留最近 30 天日志,超出自动删除
- 洞察提炼 — 自动提取值得沉淀的洞察候选,供下次会话审查
- 零感知 — cron 归档静默不通知用户;/new 时 spawn 也不阻塞主窗口
- 零配置 — 首次运行自动集成到 AGENTS.md,无需手动修改
快速集成
无需手动操作。 脚本首次运行时自动检测 AGENTS.md 并追加集成内容(搜索
session-archiver 关键词判断是否已集成)。
自动写入的内容为 Session Startup 第 5、6 步:
- 第 5 步:spawn 后台 subagent 运行归档脚本
- 第 6 步:主 agent 审查洞察候选文件
脚本位置
- 归档脚本:
scripts/session-auto-archive.js - 洞察提取:
scripts/extract-insights.js
执行方式
机制 1:cron 每小时兜底(主流程)
通过 OpenClaw cron 系统部署,每小时执行一次 isolated subagent 运行归档脚本。delivery=none,静默运行不通知用户。
机制 2:/new 时即时触发(补充)
Session Startup 第 5 步 spawn 后台 subagent 运行归档脚本,确保即时性。
双保险:两者共享同一个去重 marker(memory/.last_archived_session),不会重复归档。
工作流程
- 扫描
找最新~/.openclaw/agents/main/sessions/
文件.reset.* - 去重 A:检查 marker 文件
- 去重 B:检查 memory 文件是否已有该 sessionId
- 解析 JSONL,提取 user + assistant 消息
- 彻底剥离 Conversation info 元数据
- 短时内容相似去重(hash 前 80 字符)
- 追加到
memory/YYYY-MM-DD.md - 更新 marker
- 自动清理 — 删除 30 天前的 memory 文件
- 洞察提炼 — 分析归档内容,结果写入
memory/.insights-candidates-YYYY-MM-DD.md
去重机制
| 检查点 | 文件 | 说明 |
|---|---|---|
| marker | memory/.last_archived_session | 记录上次处理的 sessionId |
| memory 内容 | memory/YYYY-MM-DD.md | 搜索「来源 session: id」 |
洞察候选文件
分析归档内容,识别 6 类值得提炼的信息:
| 类型 | 说明 |
|---|---|
| 🤕 纠正 | 用户纠正了 AI 的行为 |
| 🔄 自我修正 | AI 承认错误或改进 |
| 📌 决策 | 形成了明确结论或建议 |
| 💡 偏好 | 用户表达了明确偏好 |
| ⚙️ 工作流变化 | 任务分工、工具选择发生变化 |
| 📝 教训 | 需要记住避免重蹈的规则 |
输出到
memory/.insights-candidates-YYYY-MM-DD.md,主 agent 在下次 Session Startup 时审查,决定是否吸收进 self-improving 文件。
注意事项
- 仅沉淀 text 内容,图片/文件不内联存储
- 长期重要内容需人工迁移至 MEMORY.md
- 主窗口永远不直接运行脚本,只 spawn subagent
- cron 归档和 /new spawn 共享 marker,不会重复归档
- 洞察提炼为辅助功能,找不到候选时静默退出