Skip to content

Repository files navigation

Smart Question Tutor — 智学助手

AI-powered, spaced-repetition study plugin for Obsidian

Obsidian Release TypeScript AI

English | 中文


English

What is it?

Smart Question Tutor turns your Obsidian Markdown notes into an active-study machine. It reads your local knowledge base, uses AI (local Ollama or any OpenAI-compatible API) to generate quiz questions, records wrong answers into a spaced-repetition review loop, builds a knowledge-tag graph, and lets you export to Markdown / Word / PDF.

Features

AI Question Generation

  • Generate quizzes from any Markdown note with 5 question types: single choice, multiple choice, true/false, fill-in-the-blank, short answer.
  • Supports Ollama (local, private) and OpenAI-compatible endpoints (DeepSeek, etc.) via custom base URL, model, API key and temperature.
  • AI auto-extracts knowledge tags and writes [[wikilinks]] so everything appears in your Obsidian graph view.
  • Customize per-type counts, run in batch over multiple files, and sort results by source / tag / date.

Full Exam Recognition

  • Extract every question from a complete exam paper or question bank via AI, preserving original question types and formatting.
  • Large files are chunked (15,000 chars per chunk, 2,000 overlap) to avoid truncation.
  • Existing answers are kept as-is; missing answers are auto-generated by the AI.
  • Handles Markdown, txt, RTF, docx, PDF and images.

Answering Mode

  • Start answering any generated result or saved question file in one click.
  • Instant grading with the correct answer and explanation.
  • Objective questions are auto-scored; subjective questions can be manually marked correct/wrong — missed ones go straight to the wrong-answer book.

Wrong Answer Book (SM-2 spaced repetition)

  • Answer correctly → interval advances; answer wrong → resets to day 1.
  • Three interval presets per module — Slow / Standard / Fast — with Chinese hints for each phase of exam prep.
  • Wrong answers carry [[knowledge tags]] and sync into the knowledge folder for the graph.
  • Automatic review reminders when the plugin loads.

Study Notes

  • Generate condensed study notes from any Markdown file, any existing question/wrong-answer/note.
  • Notes participate in the same spaced-repetition review schedule.
  • Search, filter and export.

Review Dashboard

  • One unified list of every due review item (wrong answers + questions + notes), filterable and sortable by source / tag / date.
  • One-click Done per item advances it to the next review cycle.

Learning Heatmap

  • GitHub-style annual contribution graph on the Home tab.
  • Horizontal scrollbar, auto-positioned to today; follows the sidebar width, always staying pinned to the current day.
  • Color intensity tiers by activity count.

Knowledge Graph

  • A single knowledge-tag index folder; each tag gets an auto-generated MOC note with 相关题目 / 相关笔记 / 相关错题 sections.
  • Rebuild the index on demand: it scans every folder's tags, recreates all index notes, and cleans up stale ones in one pass.
  • Handwritten notes in the knowledge folder are never touched.

Export

  • Export to Markdown, Word (.docx) or PDF.
  • Answer-free exports are available for self-testing.

Repository

GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor


Installation

From Obsidian Community Plugins

  1. Open SettingsCommunity pluginsBrowse
  2. Search for Smart Question Tutor
  3. Click Install, then Enable

Manual Installation (GitHub Release)

Download the main.js, manifest.json and styles.css from the latest Release, then copy them into:

your-vault/.obsidian/plugins/smart-quiz-tutor/
├── main.js
├── manifest.json
└── styles.css

Then enable the plugin in SettingsCommunity pluginsInstalled plugins.


Quick Start

  1. Configure AI — open SettingsSmart Question Tutor; choose Ollama or OpenAI and set the API URL, model, and API key (if needed).
  2. Generate questions — click the ribbon icon to open the sidebar; in the 题目 tab pick a Markdown source file, choose question types & counts, click Generate.
  3. Start answering — click 开始答题 after generation finishes.
  4. Review mistakes — wrong answers are auto-saved with spaced-repetition scheduling; open the 错题 tab to review now.
  5. Track progress — check the 复习 tab for due items, or read the heatmap on 首页.

Commands

Command Action
打开智学助手侧边栏 Open the main sidebar
基于当前文档生成试题 Open the generator for the active file
识别当前文件试卷 Run full-exam recognition on the active file
查看错题本 Open the wrong-answer list
查看题目生成历史记录 Open generation history
重建知识点索引 Rebuild all knowledge-index MOC notes

Hotkeys

Hotkey Action
Ctrl+Q Open the generator for the current document

Customizable in SettingsHotkeys.


Settings

Core

Setting Description Default
接口类型 Ollama or OpenAI-compatible Ollama
接口地址 API service URL http://127.0.0.1:11434
模型名称 AI model qwen2:7b
API Key Required only for hosted providers (empty)
Temperature Randomness (0–2) 0.1
根文件夹 Parent folder for all modules 智学助手
题目文件夹 Generated-question folder 题目
错题文件夹 Wrong-answer folder 错题
笔记文件夹 Study-note folder 笔记
知识点文件夹 Knowledge-index folder 知识点
排除文件夹 Folders excluded from scanning .trash, 模板, templates

Review Interval Presets

Module Slow Standard Fast
错题 2,5,10,20,40,60 1,2,4,7,15,30 1,1,3,5,10,20
题目 10,20,40,80,120 7,15,30,60,90 4,8,18,40,60
笔记 3,8,20,45,80 2,6,14,35,70 1,1,2,3,5

Interface

The sidebar has 6 tabs:

Tab Content
🏠 首页 Stats overview (4 cards) + learning heatmap + review reminders + quick actions
📝 题目 Generation settings, question files, file picker
📋 笔记 Create study notes from files, note management
❌ 错题 Wrong-answer list, detail, review, export, regeneration
📊 复习 Unified due-review dashboard with filter / sort / one-click completion
⚙️ 设置 All configuration

Tech Stack

Technology Purpose
Obsidian API Plugin platform
TypeScript Development
esbuild Bundler
docx Word document generation
SM-2 Spaced-repetition algorithm

Changelog

v2.0.0

  • Knowledge-index rebuild is now resilient — a single failed tag write no longer aborts the whole rebuild; stale index files are cleaned up in one pass.
  • Review progress persists across sessions — interval / correct-count are stored as numbers, so your spaced-repetition streak is no longer reset on reload.
  • Responsive heatmap — uses a scrollbar, auto-positions to today, and stays pinned to today as you resize the sidebar.
  • Added comprehensive test suites (knowledge index, document service, note service, fixes).

Support

If this plugin helps your studies, consider giving it a star on GitHub!

GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor

For issues and feature requests, please open an issue.


License

ISC License


中文文档

这是什么?

智学助手 把你的 Obsidian Markdown 笔记变成一台主动学习机:读取本地知识库,用 AI(本地 Ollama 或任意 OpenAI 兼容接口)生成试题,把错题纳入间隔重复的复习循环,构建知识点图谱,并可导出 Markdown / Word / PDF。

功能

🧠 AI 试题生成

  • 基于 Markdown 笔记原文,AI 自动出题,支持 5 种题型:单选 / 多选 / 判断 / 填空 / 简答。
  • 支持 Ollama(本地、离线、隐私)与 OpenAI 兼容接口(如 DeepSeek 等),可自定义接口地址、模型、API Key、Temperature。
  • AI 自动提取知识点标签并写入 [[双向链接]],融入 Obsidian 图谱视图
  • 每种题型可独立设置数量,支持多文件批量生成,结果可按源文件 / 知识点 / 时间排序。

📄 整卷识别

  • 从完整试卷 / 题集中 AI 提取全部题目,保留原题型与格式
  • 大文件自动分块处理(每块 15000 字符、重叠 2000 字符),避免内容截断。
  • 原卷已有答案原样保留,缺答案由 AI 自动补全。
  • 支持 Markdown、txt、RTF、docx、PDF 与图片。

✍️ 答题模式

  • 一键开始对刚生成的结果或已保存的题目文件答题。
  • 即时批改,展示正确答案与解析。
  • 客观题自动计分,主观题可手动标记正误;答错自动进入错题本。

📘 错题本(SM-2 间隔重复)

  • 答对 → 间隔递增;答错 → 重置为第 1 天。
  • 每个模块提供 慢速 / 标准 / 快速 三套间隔预设,并附各备考阶段的中文说明。
  • 错题携带 [[知识点标签]],自动同步到知识点文件夹,图谱可见。
  • 插件启动时自动提醒到期复习。

📓 学习笔记

  • 从任意 Markdown 文件,或已有题目 / 错题 / 笔记一键生成浓缩知识点笔记。
  • 笔记同样纳入间隔重复复习体系。
  • 支持搜索、筛选、导出。

📊 复习看板

  • 统一展示所有到期复习项(错题 + 题目 + 笔记),可按源文件 / 知识点 / 时间筛选排序。
  • 每项一键「已完成」,自动推进到下一复习周期。

📈 学习热力图

  • 首页 GitHub 风格年度活跃图。
  • 横向滑动条,自动定位到当天;随侧边栏宽度自适应,始终钉在当天
  • 颜色按活动频次分级。

🔗 知识点图谱

  • 统一的知识点索引文件夹;每个知识点自动生成 MOC 索引笔记,含 相关题目 / 相关笔记 / 相关错题 三个分区。
  • 支持一键重建知识点索引:扫描各文件夹标签、重建全部索引、并一次性清理过期索引。
  • 知识点文件夹中的手写笔记永远不会被误删。

📤 专业导出

  • 支持导出 MarkdownWord (.docx)PDF
  • 可导出无答案版用于自测。

仓库地址

GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor


安装

从 Obsidian 社区插件安装

  1. 打开 设置社区插件浏览
  2. 搜索 Smart Question Tutor
  3. 点击 安装,然后 启用

手动安装(GitHub Release 下载)

从最新 Release 下载 main.jsmanifest.jsonstyles.css,放入:

your-vault/.obsidian/plugins/smart-quiz-tutor/
├── main.js
├── manifest.json
└── styles.css

然后在 设置社区插件已安装插件 中启用。


快速开始

  1. 配置 AI — 打开 设置Smart Question Tutor,选择 Ollama 或 OpenAI,设置接口地址、模型、API Key(如需要)。
  2. 生成题目 — 点击左侧栏图标打开侧边栏,在「题目」Tab 选择 Markdown 源文件,选择题型与数量,点击「生成」。
  3. 开始答题 — 生成完成后点击「开始答题」。
  4. 复习错题 — 错题自动按间隔重复计划保存;打开「错题」Tab 可立即复习。
  5. 跟踪进度 — 在「复习」Tab 查看待复习项,或在首页查看热力图。

命令

命令 说明
打开智学助手侧边栏 打开主界面侧边栏
基于当前文档生成试题 基于当前活动文件打开出题器
识别当前文件试卷 对当前文件执行整卷识别
查看错题本 打开错题列表
查看题目生成历史记录 打开生成历史
重建知识点索引 重建所有知识点索引笔记

快捷键

快捷键 功能
Ctrl+Q 为当前文档打开出题器

可在 设置 → 快捷键 中自定义。


配置

核心设置

设置项 说明 默认值
接口类型 Ollama 或 OpenAI 兼容 Ollama
接口地址 API 服务地址 http://127.0.0.1:11434
模型名称 AI 模型 qwen2:7b
API Key 仅在托管服务需要时填写 (空)
Temperature 随机性 (0–2) 0.1
根文件夹 所有模块文件夹的父目录 智学助手
题目文件夹 生成题目保存路径 题目
错题文件夹 错题保存路径 错题
笔记文件夹 学习笔记保存路径 笔记
知识点文件夹 知识点索引保存路径 知识点
排除文件夹 不参与扫描的文件夹 .trash, 模板, templates

复习间隔预设

模块 慢速 标准 快速
错题 2,5,10,20,40,60 1,2,4,7,15,30 1,1,3,5,10,20
题目 10,20,40,80,120 7,15,30,60,90 4,8,18,40,60
笔记 3,8,20,45,80 2,6,14,35,70 1,1,2,3,5

界面

侧边栏共有 6 个 Tab

Tab 功能
🏠 首页 统计概览(4 卡片)+ 学习热力图 + 复习提醒 + 快捷操作
📝 题目 出题设置、题目文件管理、文件选择器
📋 笔记 从文件创建学习笔记、笔记管理
❌ 错题 错题列表、详情、复习、导出、重生成
📊 复习 统一改版到期复习看板,支持筛选 / 排序 / 一键完成
⚙️ 设置 所有配置项

技术栈

技术 用途
Obsidian API 插件平台
TypeScript 开发语言
esbuild 构建工具
docx Word 文档生成
SM-2 间隔重复算法

更新日志

v2.0.0

  • 知识点索引重建更可靠 — 单个标签写入失败不再中断整个重建;过期索引一次性全部清理。
  • 复习进度跨会话持久化 — 间隔 / 答对次数以数字存储,间隔重复连续记录不再因重载被重置。
  • 热力图响应式 — 使用滑动条、自动定位当天,并在调整侧边栏时始终钉在当天。
  • 新增系统化测试套件(知识点索引、文档服务、笔记服务、修复验证)。

支持

如果这个插件对你的学习有帮助,欢迎在 GitHub 上给一个 ⭐!

GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor

如有问题或建议,请 提交 Issue


许可

ISC License

About

Smart Question Tutor — AI quiz generation, SM-2 spaced repetition, wrong answer tracking, learning heatmap, exam recognition. Ollama & OpenAI compatible / 智学助手 — AI出题, SM-2间隔复习, 错题本, 热力图, 整卷识别

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages