Jayce319 downloadsSmart review system based on Obsidian Properties / YAML frontmatter with Review Center, spaced review feedback, history, and AI payload export.
Smart Review is a review center for Obsidian notes that uses Properties / YAML frontmatter. It builds review queues from next_review, supports adaptive feedback, lets users pause and resume notes, and optionally runs evidence-grounded AI mastery exams with user-configured models.
The Obsidian plugin works on its own and does not require any external companion app.
Auto, which follows Obsidian's app language.Settings -> Smart Review -> Language.next_review.again, hard, good, and easy review feedback.review-history.jsonl.review-ai-cards.json as a prompt payload without calling external AI APIs.The built-in Smart Review Center is the plugin's single main page. It does not require any companion Mac app and does not split analytics into a second dashboard view.
It includes:
Again, Hard, Good, and Easy feedback buttons.Again · 1d, Hard · 36d, Good · 75d, and Easy · 98d.review-history.jsonl.frontmatter.created, file creation time, or file modified time.Clicking the Ribbon icon opens Review Center in a main workspace tab. If an older workspace still has Review Center in a side dock, the explicit open action migrates it to the main area. Manually docking it again remains supported by the container-responsive layout.
The health score is a lightweight operational indicator. It combines review coverage, overdue control, recent activity, metadata completeness, and AI card readiness. It is not an absolute measure of knowledge quality.
Open Settings -> Smart Review to tune the adaptive scheduling rules:
30.1.1.2.1.0.1.3.Existing users keep the same scheduling behavior after upgrading. The buttons show the interval calculated from the selected rules and each note's current review_interval_days and review_ease values.
Pausing is a scheduling decision and does not mark a note as mastered. Paused notes leave the active plan but remain in the collapsible Paused group with a direct Resume review action. Commands are also available for pausing and resuming the current note.
AI mastery exams are optional and require a configured model. They generate closed-book questions, grade answers against article-grounded criteria, show reference answers after submission, independently verify qualifying results, and require a delayed recheck before marking a note mastered. Confidence is derived from source-evidence coverage and agreement between the examiner and verifier, not from a model-provided percentage alone.
Every source article uses one longitudinal Markdown mastery record. Failed attempts, retries, and delayed rechecks append new Attempt N sections to the same file. The default folder is Smart Review/Mastery Records, and missing folders are created automatically. In settings, choosing a parent folder such as 00-Overview stores records under 00-Overview/Smart Review/Mastery Records.
AI mastery exams use bring-your-own-key connections. Supported connection types are OpenAI, OpenAI-compatible, Anthropic, Google Gemini, Azure OpenAI, and Ollama. OpenAI-compatible endpoints cover services such as OpenRouter, AIHubMix, DeepSeek, Groq, SiliconFlow, Together, LM Studio, and vLLM when they expose compatible chat APIs.
For OpenAI-compatible providers, enter either the base URL or a full chat endpoint. Examples:
https://api.openai.com/v1https://openrouter.ai/api/v1https://aihubmix.com/v1https://example.com/v1/chat/completionsModel discovery is optional. Some gateways do not expose /models; in that case, manually enter the model name and use Test to verify the chat endpoint. OpenRouter may require optional custom headers such as HTTP-Referer and X-OpenRouter-Title.
data.json; they may sync if the user syncs Obsidian configuration files.data.json; use a local provider for sensitive material or protect access to the vault and device.Provider data retention and training policies are controlled by the selected provider. Review those terms before sending sensitive notes.
/models.apps/smart-review-plugin: Obsidian plugin source and build output.packages/shared: Shared types, date parsing, and review-state logic.manifest.json and versions.json: Root copies for Obsidian community submission.pnpm install
pnpm build
Build output for manual Obsidian installation:
apps/smart-review-plugin/main.js
apps/smart-review-plugin/manifest.json
apps/smart-review-plugin/styles.css
Install into a local vault:
./scripts/install-smart-review-plugin.sh "/path/to/your/vault"
The script copies the plugin files to:
<Vault>/.obsidian/plugins/smart-review/
Open Smart Review CenterGenerate Review Widget DataRefresh Review DataMark Current Note ReviewedGenerate Daily Review MarkdownGenerate AI Review Cards PayloadPause Current Note ReviewResume Current Note ReviewStart Current Note Mastery Examreview-index.json: Current review index snapshot, overwritten on each generation.review-history.jsonl: Review event history, appended per review action.review-ai-cards.json: Current AI review-card prompt payload, overwritten on each generation.00-总览/今日复习.md: Native Markdown review page, overwritten on each generation.Smart Review/Mastery Records/*.md: One append-only mastery history per source article.For an Obsidian community release, create a GitHub release whose tag exactly matches the version in manifest.json, for example 0.2.4.
Prepare release assets:
pnpm run release:plugin
Upload these files from dist/plugin/ as release assets:
main.jsmanifest.jsonstyles.cssThe release tag should not use a v prefix.
Before bumping a release, update the root manifest.json version. Then run pnpm run sync:plugin-release to keep the plugin manifest, package versions, and both versions.json files aligned.
Pushing a tag such as 0.2.4 runs the release workflow automatically. The workflow fails if the tag does not match manifest.json.version.
After a GitHub release is published, users can update from Obsidian's Community plugins page. For manual testing before community catalog publication, download main.js, manifest.json, and styles.css from the GitHub release and copy them into:
<Vault>/.obsidian/plugins/smart-review/
Then reload Obsidian or disable and re-enable Smart Review.