Smart Question Tutor

unlisted

by XXJ

读取本地md知识库,调用Ollama/OpenAI兼容API自动生成试题,支持导出MD、Word、PDF,AI识别试卷、错题本、间隔复习.

1 starsUpdated 13d ago0BSD
View on GitHub

Smart Question Tutor

AI-powered, spaced-repetition study plugin for Obsidian

Obsidian Release TypeScript AI

English | 中文


English

Features

AI Question Generation

  • Auto-generate quizzes from any Markdown notes using AI (5 question types: single choice, multiple choice, true/false, fill-in-the-blank, short answer)
  • Supports Ollama (local), OpenAI-compatible APIs (DeepSeek, Claude, etc.)
  • AI auto-extracts knowledge tags and writes [[wikilinks]] for Obsidian graph view
  • Multi-file batch selection, sort by topic or date

Full Exam Recognition

  • Extract all questions from a complete exam paper or question bank via AI, preserving original formatting
  • Large file chunking (15,000 chars per chunk, 2,000 overlap) to avoid truncation
  • Retains existing answers; AI fills in missing ones

Answering Mode

  • Select any question file or a just-generated result to start answering instantly
  • Real-time grading with correct answers and explanations
  • Objective questions auto-scored; subjective questions manually markable as correct/wrong

Wrong Answer Book (SM-2 Spaced Repetition)

  • Correct → interval increases; Wrong → resets to 1 day
  • Three presets: Slow / Standard / Fast, covering every stage of exam preparation
  • Wrong answers include [[knowledge tags]], synced to knowledge folders, visible in graph view
  • Automatic review reminders on plugin startup

Study Notes

  • Create study notes from any Markdown file with AI-generated summaries and knowledge points
  • Notes are also part of the spaced repetition review system
  • Search, filter, and export supported

Review Dashboard

  • Unified view of all due review items (wrong answers + questions + notes), sorted by priority
  • One-click "Done" button per item to advance to the next review cycle
  • Sort by source file, knowledge tag, or date

Learning Heatmap

  • GitHub-style annual contribution graph showing learning activity
  • Color intensity scales by activity count (1-2 / 3-5 / 6-9 / 10+)

Knowledge Graph

  • Separate knowledge folders per module (questions / notes / wrong answers)
  • Auto-generated MOC (Map of Content) index notes
  • [[wikilinks]] at the end of every question and wrong answer for seamless Obsidian graph integration

Export

  • Export to Markdown, Word (.docx), or PDF
  • Answer-free version 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

git clone https://github.com/xxinjie21/Smart-Quiz-Tutor.git
cd Smart-Quiz-Tutor
npm install
npm run build

Copy these files into your vault:

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

Then enable the plugin in SettingsCommunity plugins.


Quick Start

  1. Configure AI — Go to SettingsSmart Question Tutor, set your AI provider (Ollama or OpenAI-compatible) and model
  2. Generate questions — Open the sidebar via the ribbon icon, select a Markdown source file in the Questions tab, choose question types and count, click Generate
  3. Start answering — Click Start Answering after generation completes
  4. Review mistakes — Wrong answers are automatically saved to the Wrong Answer Book with spaced repetition scheduling
  5. Track progress — Check the Review tab for due items, or view the heatmap on the Home tab

Commands

CommandDescription
Open Smart Question TutorOpen the main sidebar
Generate from current fileQuick quiz generation from the active document
Open Wrong Answer BookView wrong answer list
Rebuild knowledge indexRegenerate MOC notes

Hotkeys

HotkeyAction
Ctrl+QGenerate quiz from current file
Ctrl+WOpen wrong answer book

Customizable in SettingsHotkeys.


Settings

Core

SettingDescriptionDefault
API TypeOllama or OpenAIOllama
API URLAI service endpointhttp://127.0.0.1:11434
ModelAI model nameqwen2:7b
TemperatureRandomness (0-2)0.1
Root folderParent directory for all modulesSmart Question Tutor
Questions folderWhere generated questions are savedSmart Question Tutor/Questions
Wrong answers folderWrong answer storage pathSmart Question Tutor/Wrong
Notes folderStudy notes storage pathSmart Question Tutor/Notes
Exclude foldersFolders excluded from question generation.obsidian, .trash, Templates

Review Interval Presets

ModuleSlowStandardFast
Wrong answers2,5,10,20,40,601,2,4,7,15,301,1,3,5,10,20
Questions10,20,40,80,1207,15,30,60,904,8,18,40,60
Notes3,8,20,45,802,6,14,35,701,1,2,3,5

Interface

The sidebar has 6 tabs:

TabDescription
HomeStats overview (4 cards) + learning heatmap + due reviews + quick actions
QuestionsQuestion generation settings, file management, file picker
NotesCreate study notes from files, note file management
WrongWrong answer list, details, review, export, regeneration
ReviewUnified dashboard of all due items with filter / sort / one-click completion
SettingsAll configuration options

Tech Stack

TechnologyPurpose
Obsidian APIPlugin platform
TypeScriptDevelopment
esbuildBundler
docxWord document generation
SM-2Spaced repetition algorithm

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


中文文档

功能

🧠 AI 试题生成

  • 基于 Markdown 笔记原文,AI 自动出题(5 种题型:单选 / 多选 / 判断 / 填空 / 简答)
  • 支持 Ollama(本地)、OpenAI 兼容接口(DeepSeek、Claude 等)
  • AI 自动提取知识点标签并写入 [[双向链接]],融入 Obsidian 图谱
  • 支持多文件批量选择、按知识点分组或按时间排序

📄 整卷识别

  • 从完整试卷 / 题集中 AI 提取全部题目,保留原有格式
  • 支持大文件分块处理(每块 15000 字符,重叠 2000 字符),避免截断
  • 原试卷有答案则保留,缺答案由 AI 自动补全

✍️ 答题模式

  • 直接选择题目文件或刚刚生成的结果,一键开始答题
  • 即时批改,展示正确答案与解析
  • 客观题自动计分,主观题可手动标记正误并记入错题本

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

  • 答对 → 间隔递增,答错 → 重置为 1 天
  • 三种预设方案:慢速 / 标准 / 快速,覆盖考研各阶段节奏
  • 错题记录含 [[知识点标签]],自动同步到知识点文件夹,图谱可见
  • 插件启动时自动提醒到期复习

📓 学习笔记

  • 从任意 Markdown 文件创建学习笔记,AI 自动生成摘要与知识点
  • 笔记同样纳入间隔重复复习体系
  • 支持搜索、筛选、导出

📊 复习看板

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

📈 学习热力图

  • GitHub 风格年度贡献图,直观展示学习活跃度
  • 基于文件修改时间统计,颜色按活动频次分级(1-2 / 3-5 / 6-9 / 10+)

🔗 知识点图谱

  • 每个模块独立的知识点文件夹(题目知识点 / 笔记知识点 / 错题知识点)
  • 自动生成知识点 MOC 索引笔记
  • 所有题目和错题末尾写入 [[知识点]] 双向链接,完美融入 Obsidian 图谱

📤 专业导出

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

仓库地址

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


安装

从 Obsidian 社区插件安装

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

手动安装

git clone https://github.com/xxinjie21/Smart-Quiz-Tutor.git
cd Smart-Quiz-Tutor
npm install
npm run build

复制到你的 vault:

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

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


快速开始

  1. 配置 AI — 打开 设置Smart Question Tutor,设置 AI 服务(Ollama 或 OpenAI 兼容)和模型
  2. 生成题目 — 点击左侧栏图标打开侧边栏,在「题目」Tab 中选择 Markdown 源文件,选择题型和数量,点击「生成」
  3. 开始答题 — 生成完成后点击「开始答题」
  4. 复习错题 — 错题自动保存到错题本,按间隔重复计划复习
  5. 跟踪进度 — 在「复习」Tab 查看待复习项,或在首页查看热力图

命令

命令说明
打开智学助手打开主界面侧边栏
从当前文档出题快速基于当前活动文件出题
打开错题本查看错题列表
重建知识点索引重新生成 MOC 笔记

快捷键

快捷键功能
Ctrl+Q从当前文档快速出题
Ctrl+W打开错题本

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


配置

核心设置

设置项说明默认值
接口类型Ollama 或 OpenAIOllama
接口地址API 服务地址http://127.0.0.1:11434
模型名称AI 模型qwen2:7b
Temperature随机性 (0-2)0.1
根文件夹所有模块文件夹的父目录Smart Question Tutor
题目文件夹生成题目的保存路径Smart Question Tutor/Questions
错题文件夹错题保存路径Smart Question Tutor/Wrong
笔记文件夹学习笔记保存路径Smart Question Tutor/Notes
排除文件夹不参与出题的文件夹.obsidian, .trash, Templates

复习间隔预设

模块慢速标准快速
错题2,5,10,20,40,601,2,4,7,15,301,1,3,5,10,20
题目10,20,40,80,1207,15,30,60,904,8,18,40,60
笔记3,8,20,45,802,6,14,35,701,1,2,3,5

界面

6 个功能 Tab:

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

技术栈

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

支持

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

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

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


许可

ISC License

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.