English
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 to Markdown, Word (.docx) or PDF.
- Answer-free exports are available for self-testing.
GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor
- Open Settings → Community plugins → Browse
- Search for Smart Question Tutor
- Click Install, then Enable
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 Settings → Community plugins → Installed plugins.
- Configure AI — open Settings → Smart Question Tutor; choose Ollama or OpenAI and set the API URL, model, and API key (if needed).
- Generate questions — click the ribbon icon to open the sidebar; in the 题目 tab pick a Markdown source file, choose question types & counts, click Generate.
- Start answering — click 开始答题 after generation finishes.
- Review mistakes — wrong answers are auto-saved with spaced-repetition scheduling; open the 错题 tab to review now.
- Track progress — check the 复习 tab for due items, or read the heatmap on 首页.
| 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 |
| Hotkey | Action |
|---|---|
Ctrl+Q |
Open the generator for the current document |
Customizable in Settings → Hotkeys.
| 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 |
| 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 |
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 |
| Technology | Purpose |
|---|---|
| Obsidian API | Plugin platform |
| TypeScript | Development |
| esbuild | Bundler |
| docx | Word document generation |
| SM-2 | Spaced-repetition algorithm |
- 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).
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.
中文文档
智学助手 把你的 Obsidian Markdown 笔记变成一台主动学习机:读取本地知识库,用 AI(本地 Ollama 或任意 OpenAI 兼容接口)生成试题,把错题纳入间隔重复的复习循环,构建知识点图谱,并可导出 Markdown / Word / PDF。
- 基于 Markdown 笔记原文,AI 自动出题,支持 5 种题型:单选 / 多选 / 判断 / 填空 / 简答。
- 支持 Ollama(本地、离线、隐私)与 OpenAI 兼容接口(如 DeepSeek 等),可自定义接口地址、模型、API Key、Temperature。
- AI 自动提取知识点标签并写入
[[双向链接]],融入 Obsidian 图谱视图。 - 每种题型可独立设置数量,支持多文件批量生成,结果可按源文件 / 知识点 / 时间排序。
- 从完整试卷 / 题集中 AI 提取全部题目,保留原题型与格式。
- 大文件自动分块处理(每块 15000 字符、重叠 2000 字符),避免内容截断。
- 原卷已有答案原样保留,缺答案由 AI 自动补全。
- 支持 Markdown、txt、RTF、docx、PDF 与图片。
- 一键开始对刚生成的结果或已保存的题目文件答题。
- 即时批改,展示正确答案与解析。
- 客观题自动计分,主观题可手动标记正误;答错自动进入错题本。
- 答对 → 间隔递增;答错 → 重置为第 1 天。
- 每个模块提供 慢速 / 标准 / 快速 三套间隔预设,并附各备考阶段的中文说明。
- 错题携带
[[知识点标签]],自动同步到知识点文件夹,图谱可见。 - 插件启动时自动提醒到期复习。
- 从任意 Markdown 文件,或已有题目 / 错题 / 笔记一键生成浓缩知识点笔记。
- 笔记同样纳入间隔重复复习体系。
- 支持搜索、筛选、导出。
- 统一展示所有到期复习项(错题 + 题目 + 笔记),可按源文件 / 知识点 / 时间筛选排序。
- 每项一键「已完成」,自动推进到下一复习周期。
- 首页 GitHub 风格年度活跃图。
- 横向滑动条,自动定位到当天;随侧边栏宽度自适应,始终钉在当天。
- 颜色按活动频次分级。
- 统一的知识点索引文件夹;每个知识点自动生成 MOC 索引笔记,含 相关题目 / 相关笔记 / 相关错题 三个分区。
- 支持一键重建知识点索引:扫描各文件夹标签、重建全部索引、并一次性清理过期索引。
- 知识点文件夹中的手写笔记永远不会被误删。
- 支持导出 Markdown、Word (.docx)、PDF。
- 可导出无答案版用于自测。
GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor
- 打开 设置 → 社区插件 → 浏览
- 搜索 Smart Question Tutor
- 点击 安装,然后 启用
从最新 Release 下载 main.js、manifest.json 和 styles.css,放入:
your-vault/.obsidian/plugins/smart-quiz-tutor/
├── main.js
├── manifest.json
└── styles.css
然后在 设置 → 社区插件 → 已安装插件 中启用。
- 配置 AI — 打开 设置 → Smart Question Tutor,选择 Ollama 或 OpenAI,设置接口地址、模型、API Key(如需要)。
- 生成题目 — 点击左侧栏图标打开侧边栏,在「题目」Tab 选择 Markdown 源文件,选择题型与数量,点击「生成」。
- 开始答题 — 生成完成后点击「开始答题」。
- 复习错题 — 错题自动按间隔重复计划保存;打开「错题」Tab 可立即复习。
- 跟踪进度 — 在「复习」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 | 间隔重复算法 |
- 知识点索引重建更可靠 — 单个标签写入失败不再中断整个重建;过期索引一次性全部清理。
- 复习进度跨会话持久化 — 间隔 / 答对次数以数字存储,间隔重复连续记录不再因重载被重置。
- 热力图响应式 — 使用滑动条、自动定位当天,并在调整侧边栏时始终钉在当天。
- 新增系统化测试套件(知识点索引、文档服务、笔记服务、修复验证)。
如果这个插件对你的学习有帮助,欢迎在 GitHub 上给一个 ⭐!
GitHub: https://github.com/xxinjie21/Smart-Quiz-Tutor
如有问题或建议,请 提交 Issue。