Spaced-repetition flashcard system on Feishu Bitable.
基于飞书多维表格的间隔复习学习卡片系统。
Full design details: references/system-design.md
完整设计文档: references/system-design.md
This skill requires Feishu (Lark) Bitable access. Ensure the following before use:
本技能依赖 飞书多维表格。使用前请确认以下条件:
OpenClaw Feishu plugin configured — The openclaw-lark plugin must be installed and connected to a Feishu tenant. See OpenClaw Feishu setup docs.
OpenClaw 飞书插件已配置 — 需安装 openclaw-lark 插件并连接到飞书租户。
User OAuth authorization — The user must grant Bitable read/write permissions when prompted (standard Feishu OAuth flow, handled automatically by OpenClaw).
用户 OAuth 授权 — 用户需在首次使用时授权多维表格读写权限(OpenClaw 自动处理)。
Bitable app scope — The Feishu app needs scopes: bitable:app, bitable:app:readonly. These are standard in the OpenClaw Feishu plugin.
多维表格权限范围 — 飞书应用需开通 bitable:app、 bitable:app:readonly 权限(OpenClaw 飞书插件标配)。
No additional API keys or credentials are needed — authentication is handled by the OpenClaw Feishu plugin's existing OAuth infrastructure.
无需额外 API 密钥 — 认证由 OpenClaw 飞书插件的 OAuth 基础设施统一处理。
Create a Bitable app with one table containing these fields.
创建一个飞书多维表格,包含以下字段。
FieldTypeNote概念名Text (primary)Card title / 卡片标题阶段SingleSelectMajor phase / 大阶段站点SingleSelectChapter/unit / 章节类型SingleSelecte.g. 核心概念 / 隐喻 / 转变工具 / 关键问题正面(问题)TextQuestion / 问题背面(答案)TextAnswer / 答案我的理解TextLearner's own notes / 学习者笔记
FieldTypeNote掌握程度SingleSelect未学习 / 初步了解 / 基本掌握 / 深度理解学习顺序NumberSequential order for first pass / 首轮学习顺序首次学习时间DateTimeFirst study timestamp (ms) / 首次学习时间戳上次复习DateTimeLast study timestamp (ms) / 上次学习时间戳下次复习时间DateTimeNext review date (ms) / 下次复习日期学习次数NumberTotal attempts / 总答题次数连续答对次数NumberStreak — drives interval / 连对次数,决定间隔答错次数NumberCumulative errors / 累计答错最近得分NumberLast score (1-5) / 最近得分
First pass through all cards in order by 学习顺序. Goal: build a mental map of the entire knowledge base.
按学习顺序首轮过一遍,建立全局地图感。
After first pass. Schedule by 下次复习时间. Mix in remaining new cards.
首轮完成后按复习时间调度,穿插新卡。
Cross-topic quizzes, scenario-based questions, reverse prompts (give answer → guess concept).
跨章节混合抽问、情境题、反向提问(给答案猜概念)。
text
1. Read all cards from Bitable
2. Compute recent accuracy (last 5 scores) → determine new:review ratio
3. Select cards:
- Review: 下次复习时间 <= today, sorted by overdue days
- New: 学习次数 = 0, sorted by 学习顺序
4. Mix per ratio, present one at a time
5. After each answer: score → show answer → update Bitable
text
第 X 题(复习/新卡)
> [概念名] | [阶段] | [站点] | [类型]
[正面问题]
User can say "讲讲" to skip answering and see the explanation directly (score = 0).
用户可说"讲讲"跳过作答,直接看答案(计 0 分)。
Target ~85% accuracy for optimal learning speed (Wilson et al., Nature Communications, 2019).
目标保持 85% 正确率以获得最优学习速度。
Recent accuracyNew:ReviewLogic> 90%3:1Too easy, add new / 太轻松,加新卡80–90%2:1Optimal zone / 最优区间70–80%1:1More review / 多复习< 70%1:2Consolidate first / 先巩固
Accuracy = proportion of scores >= 4 in last 5 attempts.
正确率 = 最近 5 次中得分 >= 4 的比例。
Interval based on consecutive correct answers (连续答对次数):
StreakInterval01 day11 day23 days37 days414 days530 days6+90 days
After each answer, immediately update the card record:
每题答完立即更新卡片记录:
text
学习次数 += 1
最近得分 = score
上次复习 = today
首次学习时间 = today (if null)
if score >= 4: 连续答对次数 += 1
elif score <= 2: 连续答对次数 = 0; 答错次数 += 1 (if score > 0)
else (score == 3): streak unchanged
intervals = [1, 1, 3, 7, 14, 30, 90]
下次复习时间 = today + intervals[min(streak, 6)] days (if score >= 4)
today + 1 day (otherwise)
掌握程度:
streak >= 5 → 深度理解
streak >= 3 → 基本掌握
studied → 初步了解
When creating cards from a book:
从书籍生成卡片时:
CommandAction继续学习 / continueDefault 3 cards, dynamic ratio / 默认 3 张,动态配比来 N 张 / give me NSpecific count / 指定数量讲讲 / explainShow answer directly / 直接看答案学习进度 / progressShow overall stats / 显示整体进度薄弱点 / weak pointsList cards with most errors / 列出高错卡片