🧠 艾宾浩斯记忆曲线复习系统
快速实现、立即使用 —— 按记忆曲线自动提醒复习对话内容、技术知识、项目进度
📋 系统说明
工作原理
- 添加复习点 —— 从对话、技术文档、项目进度中提取知识点
- 自动排期 —— 按艾宾浩斯曲线计算最佳复习时间
- 定时提醒 —— 每 30 分钟检查一次,到点发送飞书消息
- 渐进复习 —— 8 个复习周期,从 5 分钟到 15 天
艾宾浩斯复习间隔
| 次数 | 间隔时间 | 说明 |
| 1 | 5 分钟 | 初次记忆后快速复习 |
| 2 | 30 分钟 | 短期记忆巩固 |
| 3 | 12 小时 | 跨天复习 |
| 4 | 1 天 | 24 小时后 |
| 5 | 2 天 | 48 小时后 |
| 6 | 4 天 | 长期记忆开始 |
| 7 | 7 天 | 一周后 |
| 8 | 15 天 | 半月后,进入长期记忆 |
🚀 快速使用
1️⃣ 手动添加复习点
| # 添加一个技术问题
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "智守项目的第 1 月里程碑是什么时候?"
# 添加项目进度
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "CodePilot 总预算$7,270,主要开支:服务器、API、营销"
# 添加对话内容
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "艾宾浩斯曲线的 8 个复习间隔"
|
2️⃣ 查看复习状态
| node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js list
|
输出示例:
| 复习点总数:5
待复习:3
已完成:2
🔔 待复习项目:
1. [project] 智守项目的第 1 月里程碑是什么时候?...
第 1 次复习 - 掌握度:0%
2. [tech] 艾宾浩斯曲线的 8 个复习间隔...
第 2 次复习 - 掌握度:50%
|
3️⃣ 完成复习
收到飞书提醒后,回复: - ✅ 掌握了 → 调用 complete <id> 80(高分,延后复习) - ❌ 忘记了 → 调用 complete <id> 20(低分,提前复习) - ⏰ 提醒我 → 1 小时后再提醒(手动修改下次复习时间)
| # 完成复习,掌握度 80%
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js complete rev_1773524031013_kx9dyaucv 80
|
4️⃣ 立即检查(测试用)
| node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js check
|
📦 自动化配置
Cron 定时任务
系统已配置每 30 分钟自动检查:
| # 查看 cron 配置
crontab -l | grep ebbinghaus
# 重新配置(如需要)
/home/admin/.openclaw/workspace/scripts/setup-ebbinghaus-cron.sh
|
日志查看
| # 实时查看日志
tail -f /home/admin/.openclaw/workspace/logs/ebbinghaus-cron.log
# 查看最近 20 条
tail -n 20 /home/admin/.openclaw/workspace/logs/ebbinghaus-cron.log
|
🔧 高级用法
批量添加复习点
创建脚本自动从文档提取:
| #!/bin/bash
# 从项目文档提取复习点
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "智守项目里程碑:2026-04-12 立项与需求确认"
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "智守项目里程碑:2026-05-13 硬件设计与验证"
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "CodePilot 里程碑:2026-04-12 基础建设完成"
node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js add "CodePilot 里程碑:2026-05-13 核心功能完成"
|
从对话历史自动提取
| // 调用 sessions_history API 获取对话
// 使用 AI 提取关键技术点和项目信息
// 批量添加到复习系统
|
按类型筛选
| # 查看技术类复习点
node -e "
const db = require('/home/admin/.openclaw/workspace/memory/review-db.json');
db.reviews
.filter(r => r.type === 'tech')
.forEach(r => console.log(r.content));
"
|
📊 数据结构
复习点存储在 /home/admin/.openclaw/workspace/memory/review-db.json:
| {
"reviews": [
{
"id": "rev_1773524031013_kx9dyaucv",
"content": "智守项目的第 1 月里程碑是什么时候?",
"type": "project",
"source": "projects/zhishou/README.md",
"createdAt": 1773524031013,
"nextReviewAt": 1773524331013,
"reviewCount": 0,
"lastReviewAt": null,
"mastery": 0,
"status": "pending"
}
],
"config": {
"enabled": true
}
}
|
字段说明
type: 复习类型 dialog - 对话内容 tech - 技术知识 project - 项目进度 mastery: 掌握程度 0-100 status: pending - 待复习 completed - 已完成所有周期 archived - 已归档
🎯 后续优化方向
短期(1-2 周)
中期(1 个月)
长期(3 个月+)
🐛 故障排查
问题:收不到复习提醒
-
检查 cron 是否运行:
| crontab -l | grep ebbinghaus
|
-
检查日志:
| tail -f /home/admin/.openclaw/workspace/logs/ebbinghaus-cron.log
|
-
手动测试:
| node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js check
|
问题:复习点不更新
检查数据文件权限:
| ls -la /home/admin/.openclaw/workspace/memory/review-db.json
|
问题:飞书消息发送失败
检查 openclaw 命令是否可用:
📞 帮助
| node /home/admin/.openclaw/workspace/scripts/ebbinghaus-review.js help
|
创建时间: 2026-03-15
版本: v0.1.0(MVP)
维护: OpenClaw 自动化系统