- name
- study-memory
- description
- 学习记录与日历回顾。记录 quiz-generator、paper-quick-read、mindmap-generator 等学习型 skill 的成果到 records/(JSON 格式);当这些 skill 完成后可自动追加学习记录,也可随时查询并生成日历型 Single HTML,按日期展示学习记录热力图和详情。教育培训领域。
# 学习记忆 — Study Memory
本 skill 面向教育培训场景的学习记录与回顾。
## 核心功能
1. **记录学习**:保存每次测验/学习的结构化记录到 `records/` 目录(JSON 格式)
2. **跨 skill 联动**:quiz-generator、paper-quick-read、mindmap-generator 完成后自动保存学习成果,不修改这些 skill 本身
3. **测验回填**:quiz-generator 生成题目后先记录 `generated`,批改后用错题 payload 更新为 `completed`
4. **日历回顾**:生成一个日历型 Single HTML,按日期展示学习记录、测验状态、阅读报告和导图成果
## 工作流程
### 1. 记录学习
当用户完成 quiz-generator 测验、论文速读、思维导图/知识框架整理,或明确要求保存学习成果后,调用本 skill 记录。
**触发方式**:用户说"记录今天的学习""帮我记录一下""save study record"等。
Agent 应向用户确认记录内容(课题、得分、题数等),然后调用:
```bash
python /data/agent_data/skills/study-memory/scripts/record.py \
--type quiz \
--topic "矩阵行列式" \
--score "6/8" \
--summary "掌握了行列式基本计算,交换行变号还需练习"
```
**参数说明**:
- `--type`:学习类型,如 `quiz`、`review`、`reading`、`lecture`
- `--topic`:课题/学科名称
- `--score`:得分(可选,如 `6/8` 或 `85%`)
- `--summary`:学习内容摘要
- `--tags`:可选标签,逗号分隔,如 `数学,线性代数`
- `--status`:记录状态,如 `generated`、`completed`
- `--record-id`:稳定记录 ID,用于精确更新同一条测验记录
- `--questions-json` / `--questions-file`:生成测验时的题目数组,用于保存题目快照
- `--quiz-payload` / `--quiz-payload-file`:quiz-generator 页面复制出的 `save_quiz_record` payload,用于回填得分和错题
- `--source-skill`:产生学习成果的 skill,如 `paper-quick-read`、`mindmap-generator`
- `--artifact-path`:学习成果文件路径,如速读报告 Markdown、思维导图 HTML
- `--artifact-title`:学习成果标题,如论文题名、章节名或导图标题
- `--next-action`:后续学习建议或下一步复习任务
**记录文件格式**(`records/YYYY-MM-DD.json`):
```json
{
"date": "2026-07-16",
"records": [
{
"time": "15:40:00",
"type": "quiz",
"topic": "矩阵行列式",
"score": "6/8",
"summary": "掌握了行列式基本计算,交换行变号还需练习",
"tags": ["数学", "线性代数"],
"status": "completed",
"question_count": 8,
"correct_count": 6,
"wrong_count": 2,
"wrong_items": []
}
]
}
```
同一天多次普通记录会追加到同一文件的 `records` 数组。
### 2. quiz-generator 联动
当 Agent 调用 `quiz-generator` 生成题目时,同时调用本 skill 创建一条待回填记录:
```bash
python /data/agent_data/skills/study-memory/scripts/record.py \
--type quiz \
--topic "矩阵行列式" \
--summary "已生成矩阵行列式随堂测验,等待学生批改结果。" \
--tags "数学,线性代数,quiz-generator" \
--status generated \
--questions-file /data/agent_data/workspace/questions.json
```
当用户从 quiz-generator 页面复制 `save_quiz_record` payload 后,保存到临时 JSON 文件并调用:
```bash
python /data/agent_data/skills/study-memory/scripts/record.py \
--quiz-payload-file /data/agent_data/workspace/quiz-record-payload.json
```
回填规则:
- 优先按 `--record-id` 找到已有记录并更新
- 未传 `--record-id` 时,查找同一天、同课题、`status=generated` 的最新 quiz 记录
- 找到后更新 `status=completed`、`score`、`correct_count`、`wrong_count`、`wrong_items` 和原始 `quiz_record`
- 找不到已有记录时,创建一条新的 completed 记录
- 不修改 `quiz-generator` 的 records;本 skill 保存的是学习日历记录
### 3. paper-quick-read 联动
当 Agent 使用 `paper-quick-read` 完成论文速读报告后,应在同一轮自动调用本 skill 保存一条 `reading` 记录。无需修改 `paper-quick-read`,由 Agent 根据报告上下文提取字段。
推荐记录内容:
- `type=reading`
- `topic`:论文标题;标题未知时使用研究主题
- `summary`:用 1-2 句概括 GAP-Claim-Evidence、推荐度和精读建议
- `tags`:`论文速读,paper-quick-read`,可附加学科或研究方向
- `source-skill=paper-quick-read`
- `artifact-title`:论文题名或速读报告标题
- `artifact-path`:若报告已保存为文件则写入路径;仅在对话中输出时可省略
- `next-action`:是否值得精读、需要追问的问题或复现实验建议
示例:
```bash
python /data/agent_data/skills/study-memory/scripts/record.py \
--type reading \
--topic "Attention Is All You Need" \
--summary "完成论文速读:核心主张是用自注意力替代循环结构;推荐度 5 星,值得精读方法与实验部分。" \
--tags "论文速读,paper-quick-read,深度学习" \
--source-skill paper-quick-read \
--artifact-title "Attention Is All You Need 速读报告" \
--next-action "精读模型结构与实验对比,整理三个可复现问题。"
```
### 4. mindmap-generator 联动
当 Agent 使用 `mindmap-generator` 生成知识框架、复习提纲、学习计划、查漏补缺清单或交互式思维导图后,应在同一轮自动调用本 skill 保存一条 `review` 或 `planning` 记录。无需修改 `mindmap-generator`,由 Agent 根据导图/提纲上下文提取字段。
推荐记录内容:
- `type=review`:知识框架、复习提纲、查漏补缺;`type=planning`:课程学习计划
- `topic`:学科 + 章节范围,如 `高中物理:力学`
- `summary`:概括已形成的知识框架、重点/必考/难点、待补缺内容
- `tags`:`思维导图,mindmap-generator`,可附加学科、章节或考试标签
- `source-skill=mindmap-generator`
- `artifact-title`:导图、提纲或计划标题
- `artifact-path`:生成的 Single HTML 或 Markdown 文件路径
- `next-action`:优先复习节点、计划首日任务或补缺顺序
示例:
```bash
python /data/agent_data/skills/study-memory/scripts/record.py \
--type review \
--topic "高中物理:牛顿运动定律" \
--summary "完成牛顿运动定律知识框架与考点标注,重点是受力分析和牛顿第二定律应用,难点是连接体问题。" \
--tags "物理,思维导图,mindmap-generator" \
--source-skill mindmap-generator \
--artifact-title "牛顿运动定律考点思维导图" \
--artifact-path "/data/agent_data/workspace/mindmap.html" \
--next-action "先复习受力分析,再完成连接体问题专项练习。"
```
### 5. 自动记录规则
- 当 `quiz-generator`、`paper-quick-read` 或 `mindmap-generator` 在当前对话中完成交付后,Agent 应自动调用本 skill 写入一条学习记录,除非用户明确说不要记录。
- 自动记录只写入 `study-memory/records/`,不修改上述三个 skill 的文件或输出逻辑。
- 字段应从刚完成的交付内容中提取;如果缺少关键字段,优先用合理概括补全,避免打断用户。
- 不要保存敏感个人信息、API Key、账号、密码或未经用户同意的隐私内容。
### 6. 生成日历回顾
用户说"生成学习日历""查看学习记录""study calendar"等时,生成日历 HTML。
```bash
python /data/agent_data/skills/study-memory/scripts/calendar.py \
--month 2026-07 \
--output /data/agent_data/workspace/study-calendar.html
```
**参数说明**:
- `--month`:月份,格式 `YYYY-MM`,默认当前月
- `--output`:输出 HTML 路径
**日历页面功能**:
- 月历视图,每天有记录则显示颜色标记(热力色阶)
- 点击某天弹出当日学习详情(课题、类型、状态、得分、摘要、错题)
- 统计面板:学习天数、记录数、已批改测验、待回填测验、错题/未作答数
- 完全自包含 Single HTML,离线可用
### 7. 查询统计
用户说"学习统计""学习了多少天"等时,Agent 直接读取 `records/` 目录汇总统计,不必生成 HTML。
## 输出
- 日历 HTML 通过 `chat_send_file` 发送给用户
- 记录保存成功后简要确认
## 注意事项
- 本 skill 独立于 quiz-generator、paper-quick-read、mindmap-generator,不修改这些 skill
- 记录可由用户手动触发,也可在上述学习型 skill 完成后由 Agent 自动触发
- `records/` 目录下的 JSON 文件按日期命名,同一天追加不覆盖
- 日历 HTML 不需要网络,纯前端渲染
- 若某月无记录,日历页仍会生成但标记为空
عرض على GitHub