FSRS для Obsidian: помнить всё
Обсидиан называют «вторым мозгом». Чтобы он им стал, одних связей недостаточно — нужна память.
Я сделал плагин интервального повторения на современном алгоритме FSRS. Он запоминает что и когда вы учили, на сколько тяжело это далось, и предсказывает вероятность вспоминания. Все данные хранятся локально в ваших .md файлах — ничего не уходит на сервера.
Зачем ещё один плагин для повторений?
Чтобы не возиться с карточками когда заметка уже для этого подходит.
Сравнение SM-2 и FSRS
SM-2 — это повторение с одинаковыми интервалами для всех материалов. Если случился пропуск, прогресс сбрасывается. Рассчет доступен на клочке бумаги.
Проблемы SM-2 на практике:
-
Одинаковые интервалы для простого и сложного материала — вы повторяете и то что знаете, и то что не знаете, с одной частотой
-
Сброс прогресса после пропуска — не повторяли неделю? Всё начинается заново
-
Нет предсказания забывания — плагин не скажет что вы вот-вот забудете
FSRS решает эти проблемы. При том же уровне запоминания он требует примерно на 30% меньше повторений.
Сравнение FSRS плагина с другими инструментами
|
Характеристика |
Obsidian + FSRS (твой плагин) |
Anki + FSRS |
RemNote + FSRS |
|---|---|---|---|
|
Формат данных |
✅ |
⚠️ SQLite, опционально облако |
⚠️ Локально или облако по выбору |
|
Контекст карточки |
✅ Вся заметка, связи, граф |
⚠️ Огрызки текста |
✅ Заметка = карточка |
|
Создание карточки |
✅ Заметка = карточка |
❌ Копипаст, форма |
⚠️ Из рема быстро |
|
Алгоритм |
✅ FSRS |
✅ FSRS |
✅ FSRS |
|
Приватность |
✅ Полный оффлайн |
⚠️ Локально, аккаунт опционально |
✅ Режим оффлайн |
|
Синхронизация |
✅ Не нужна отдельная — синхронизируйте хранилище |
✅ Бесплатная через AnkiWeb (опционально) |
❌ Только в платной подписке Pro |
|
Открытый код |
✅ Плагин полностью открыт |
✅ Полностью открыт |
❌ Закрытый |
|
Визуалы и доп. фичи |
✅ тепловая карта повторений |
✅ есть (аддоны) |
✅ есть (встроено) |
|
Аналитика |
✅ SQL‑подобные запросы, выборки с условиями |
✅ Бесплатно, аддоны |
⚠️ Базовая бесплатно, продвинутая платно |
Как FSRS понимает вашу память
FSRS отслеживает три параметра для каждой карточки:
|
Параметр |
Что значит |
Как меняется |
|---|---|---|
|
Сложность (Difficulty) |
Насколько труден материал |
Почти не меняется — сложная тема остаётся сложной |
|
Стабильность (Stability) |
Насколько прочно запоминание, в днях |
Растёт с каждым успешным повторением |
|
Извлекаемость (Retrievability) |
Вероятность вспомнить прямо сейчас |
Падает каждую секунду после повторения |
После каждого ответа (Again / Hard / Good / Easy) алгоритм пересчитывает сложность и стабильность. Извлекаемость падает сама — и когда она опускается до порогового уровня, карточка появляется в списке на повторение.
Порог настраивается: хотите помнить 90% материала — повторений будет больше. Достаточно 80% — повторений меньше.
Как это выглядит в Obsidian
Ничего кроме Obsidian не нужно. Установили плагин — и работаете.
1. Добавьте поля FSRS в заметку
Откройте заметку, которую хотите превратить в карточку. Вызовите палитру команд (Ctrl/Cmd+P) и выполните:
FSRS: + Добавить поля FSRS в шапку файла
Во frontmatter появится массив reviews — сюда плагин будет записывать историю повторений.
После выполнения команды во frontmatter заметки добавится поле reviews так:
---
reviews: []
---
Плагин будет записывать в него даты и оценки повторений. Этих двух параметров, и истории, достаточно для рассчетов. После пары повторений frontmatter станет выглядеть примерно так:
---
reviews:
- date: "2025-03-15T12:00:00Z"
rating: 2
- date: "2025-03-17T08:00:00Z"
rating: 3
---
Оценка rating — число: 0 = Again, 1 = Hard, 2 = Good, 3 = Easy.
2. Вставьте кнопку повторения
Та же палитра команд → FSRS: □ Вставить блок кнопки повторения. В текст заметки добавится code-блок, который сразу отрендерится в кнопку:
```fsrs-review-button
```
В режиме просмотра он превратится в кнопку с четырьмя вариантами оценки: Again, Hard, Good, Easy. Никакого переключения в режим редактирования.
3. Создайте обзорную таблицу
В отдельной заметке (например, ежедневной) вызовите палитру команд и выполните
FSRS: ⬒ Вставить таблицу fsrs-table по умолчанию
Знать SQL не нужно — команда вставит готовый блок. Выглядит он так:
```fsrs-table
SELECT file as " ", difficulty as "D",
stability as "S", retrievability as "R",
date_format(due, '%d.%m.%Y') as "Следующее"
LIMIT 20
```
В режиме просмотра блок станет таблицей со всеми вашими карточками, отсортированными по срочности — самые забытые сверху.
4. Повторяйте не переходя к заметке
Это основной сценарий. Наведите курсор на имя файла в таблице — появится всплывающее окно с содержимым заметки и кнопкой повторения внутри него. Оцениваете карточку и переходите к следующей.
Весь цикл повторения — в одном окне:
-
Открываете заметку с таблицей
-
Видите что пора повторить
-
Наводите на карточку — читаете содержимое
-
Нажимаете оценку — карточка обновляется
-
Переходите к следующей строке таблицы
Позже вы можете изменить запрос под себя — например, WHERE difficulty > 6 покажет только сложные карточки. Все доступные поля и условия — в руководстве пользователя.
5. Тепловая карта повторений
Чтобы видеть прогресс за год — сколько повторений и в какие дни — вставьте блок командой FSRS: Вставить тепловую карту fsrs-heatmap (Ctrl/Cmd+P) или создайте его вручную:
```fsrs-heatmap
```
В режиме просмотра появится сетка просмотров по дням.
Установка
Плагин пока не в каталоге сообщества Obsidian — устанавливается через BRAT (Beta Reviewers Auto-update Tester).
-
Установите BRAT из Settings → Community plugins → Browse
-
Откройте Settings → BRAT → Add Beta plugin
-
Вставьте URL репозитория:
https://github.com/Evgene-Kopylov/fsrs_plugin -
Включите плагин в Settings → Community plugins
BRAT будет автоматически отслеживать обновления.
Что дальше
-
Руководство пользователя — пошаговая инструкция со всеми возможностями
-
Техническая статья (через несколько дней) — архитектура, Rust/WASM, производительность
-
Репозиторий на GitLab — исходный код
Автор: EvgeneKopylov

