FSRS для Obsidian: превращаем знания в долгосрочную память
Obsidian по праву считается «вторым мозгом». Однако для формирования истинно интеллектуальной базы простых ссылок между заметками недостаточно — необходим надежный механизм усвоения информации.
Я разработал плагин для интервального повторения, основанный на передовом алгоритме FSRS. Он анализирует историю вашего обучения, оценивает сложность материала и с высокой точностью прогнозирует вероятность его забывания. Все данные хранятся локально в ваших .md файлах, гарантируя полную конфиденциальность — информация не покидает устройство.

Почему именно этот плагин для интервальных повторений?
Основная цель — интегрировать процесс повторения прямо в рабочую среду, избавив вас от необходимости создавать отдельные карточки там, где сама заметка уже является готовым учебным материалом.
Сравнение классического SM-2 и современного FSRS
Алгоритм SM-2 предполагает жесткие, фиксированные интервалы для всех типов контента. При пропуске занятий накопленный прогресс попросту аннулируется. Эти вычисления настолько примитивны, что их можно проводить вручную.
Недостатки SM-2, проявляющиеся в реальной работе:
-
Усреднение интервалов — простой и сложный контент повторяется с одинаковой частотой, что неэффективно.
-
Откат прогресса — перерыв в неделю вынуждает начинать изучение материала с нуля.
-
Отсутствие предиктивной аналитики — система не предупреждает о критическом риске забывания конкретной темы.
FSRS эффективно устраняет эти недочеты, позволяя достичь сопоставимых показателей запоминания, затрачивая при этом примерно на 30% меньше времени на повторения.

Сравнение возможностей
|
Функционал |
Obsidian + FSRS (мой плагин) |
Anki + FSRS |
RemNote + FSRS |
|---|---|---|---|
|
Хранение данных |
Нативные |
SQLite, внешнее облако ⚠️ |
Облако или локально ⚠️ |
|
Контекст |
Полная заметка, связи, граф ✅ |
Фрагментарный текст ⚠️ |
Заметка как карточка ✅ |
|
Создание |
Заметка — это карточка ✅ |
Копипаст, формы ❌ |
Быстрое создание ремов ⚠️ |
|
Алгоритм |
FSRS ✅ |
FSRS ✅ |
FSRS ✅ |
|
Приватность |
Полный локальный доступ ✅ |
Локально, аккаунт опционально ⚠️ |
Offline-режим ✅ |
|
Синхронизация |
Любая синхронизация хранилища ✅ |
Через AnkiWeb ✅ |
Только по подписке Pro ❌ |
|
Открытость |
✅ Полный Open Source |
✅ Полный Open Source |
❌ Закрытый код |
|
Визуализация |
✅ Тепловая карта |
✅ Доступно через аддоны |
✅ Встроено |
|
Аналитика |
SQL-запросы, гибкая выборка ✅ |
Бесплатные аддоны ✅ |
Частично платно ⚠️ |
Принцип работы алгоритма
FSRS оперирует тремя фундаментальными метриками:
|
Параметр |
Определение |
Динамика изменений |
|---|---|---|
|
Сложность (Difficulty) |
Когнитивная нагрузка контента |
Стабильна — трудному материалу требуется больше усилий |
|
Стабильность (Stability) |
Длительность удержания в памяти (дни) |
Повышается при успешном повторении |
|
Извлекаемость (Retrievability) |
Вероятность вспомнить информацию |
Снижается со временем после каждого повторения |
После оценки (Again / Hard / Good / Easy) система пересчитывает сложность и стабильность. Как только вероятность извлечения падает ниже заданного вами порога, карточка автоматически попадает в очередь на повторение. Вы сами определяете комфортный уровень удержания информации (например, 90% или 80%).

Интеграция в рабочий процесс Obsidian
Плагин полностью автономен и не требует стороннего ПО.
1. Инициализация полей
Откройте нужную заметку, активируйте палитру команд (Ctrl/Cmd+P) и выберите:
FSRS: + Добавить поля FSRS в шапку файла
В метаданные (frontmatter) добавится массив reviews для логирования ваших успехов.

Пример структуры метаданных после нескольких итераций:
---
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: □ Вставить блок кнопки повторения. В заметке появится блок:
fsrs-review-button
В режиме чтения он автоматически заменится на интерактивную панель оценок — переключаться в режим редактирования больше не нужно.

3. Обзорная таблица
Для мониторинга очереди вставьте таблицу через команду FSRS: ⬒ Вставить таблицу fsrs-table по умолчанию:
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.
fsrs-heatmap

Как установить плагин
На данный момент плагин доступен через систему BRAT (Beta Reviewers Auto-update Tester).
-
Установите BRAT через Settings → Community plugins → Browse.
-
В настройках BRAT выберите Add Beta plugin.
-
Введите адрес репозитория:
https://github.com/Evgene-Kopylov/fsrs_plugin -
Активируйте плагин в разделе Community plugins.
Планы развития
-
Руководство пользователя — подробная инструкция.
-
Технический разбор (в разработке) — архитектура, Rust/WASM и производительность.
-
GitLab-репозиторий — открытый исходный код.

