← 返回
未分类 中文

Adaptive Learning

Create adaptive learning flashcard apps from course materials (URLs, PDFs, or folders). Uses FSRS (Free Spaced Repetition Scheduler) and Bayesian Knowledge T...
从课程材料(网址、PDF或文件夹)创建自适应学习闪卡应用,使用FSRS(自由间隔重复调度器)和贝叶斯知识追踪。
weishuz weishuz 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 425
下载
💾 1
安装
1
版本
#latest

概述

Adaptive Learning Skill

Create self-contained, browser-based adaptive learning apps from any course material.

Architecture

  • FSRS (ts-fsrs): Per-card spaced repetition scheduling (Stability, Difficulty, Retrievability)
  • BKT: Per-topic Bayesian Knowledge Tracing for mastery estimation
  • Two modes: Breadth-first (cover all topics, weakest first) / Depth-first (drill one topic deep)
  • Pure frontend: HTML + CSS + JS, works offline via file://, no server needed

Workflow

1. Gather Course Material

From a URL:

1. Fetch the course page, extract topic list and resource links
2. Download HW/Discussion/Lecture PDFs to ~/COURSE_NAME/

From a local folder:

1. List files, identify PDFs and documents
2. Read/parse to understand topics and content

2. Generate Question Bank

Create questions.json with this schema:

[{
  "id": "unique-id",
  "topic": "Topic Name",
  "topicIndex": 0,
  "difficulty": 1,
  "question": "Supports $LaTeX$ via KaTeX",
  "answer": "Supports $LaTeX$ and \\n for line breaks",
  "tags": ["tag1", "tag2"]
}]

Guidelines:

  • 5-8 questions per topic minimum, across 3 difficulty levels
  • Difficulty 1 (基础): Definitions, "what is", simple complexity questions
  • Difficulty 2 (中等): Apply algorithms, analyze examples, describe procedures
  • Difficulty 3 (高级): Proofs, novel problem design, optimization, "why" questions
  • Use LaTeX ($...$ inline, $$...$$ block) for math
  • Use \\n for line breaks in question/answer text
  • topicIndex controls topic ordering (0-based)

3. Build the App

Run the bundler script:

bash SKILL_DIR/scripts/generate-course.sh <course-id> <questions.json> <output-dir>

Then register the course in engine.js COURSE_REGISTRY:

{ id: 'course-id', name: 'Course Name', desc: 'Description', school: 'School', term: 'Term' }

4. Verify

Open /index.html in a browser. Verify:

  • Course appears in selector
  • Cards render with KaTeX math
  • Flip/rating/FSRS scheduling works
  • Mode toggle (breadth/depth) works

Framework Files (assets/framework/)

FilePurpose
---------------
index.htmlMain page with course selector + learning UI
style.cssDark theme, responsive styles
engine.jsFSRS + BKT engine, question selection, state management
ts-fsrs.umd.jsFSRS algorithm library (UMD build of ts-fsrs)

Key Features

  • FSRS scheduling: Cards show Stability/Difficulty values; review intervals adapt to performance
  • BKT mastery: Per-topic mastery percentage in progress drawer
  • Configurable: Target retention (70-97%), daily new card limit
  • localStorage: All progress persists across sessions
  • Keyboard shortcuts: Space=flip, 1=Good, 2=Hard, 3=Again, f=follow-up, n=next-topic
  • KaTeX: Full LaTeX math rendering
  • Drag & drop: Import any questions.json directly in the UI
  • Multi-course: One framework, multiple course data packs

Adding to Existing Installation

To add a new course to an existing adaptive-learning setup at ~/adaptive-learning/:

  1. Save questions.json to ~/adaptive-learning/courses//
  2. Generate preload: bash scripts/generate-course.sh questions.json ~/adaptive-learning/framework/
  3. Add to COURSE_REGISTRY in engine.js

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 07:03 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

education

Interview Simulator

wscats
模拟各类职位和经验水平的面试,提供定制化的技术、行为及案例问题,并给予详细反馈与评分。
★ 23 📥 22,016
education

Thinking Partner

itsflow
通过提问探索复杂问题的协作思考伙伴
★ 49 📥 9,942
education

Language Learning Tutor

chipagosfinest
AI语言导师,通过对话、词汇练习、语法课程、抽认卡及沉浸式练习,助您学习任意语言。适用于学习新语言、练词汇、学语法、翻译、会话练习、旅行准备、习语俚语或改善发音。支持包括中、英、日、韩、法、德、西等在内的100多种语言。
★ 30 📥 8,894