Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Tome Reader: функциональная читалка EPUB с AI-ассистентом для Obsidian

Tome Reader: функциональная читалка EPUB с AI-ассистентом для Obsidian

Зачем мне потребовалась собственная читалка прямо внутри Obsidian

Однажды я решил провести ревизию своей базы знаний в Obsidian и посмотреть, какие конспекты и заметки у меня сохранились по прочитанным книгам. Результат оказался неутешительным: либо за последнее время я прочитал слишком мало, либо банально забывал переносить цитаты и собственные мысли из сторонних читалок. Вторая версия выглядела куда более правдоподобно. Полагаться на самодисциплину и каждый раз вручную копировать фрагменты текста — стратегия неэффективная. Намного удобнее автоматизировать процесс и читать литературу в той же рабочей среде, где формируется персональная база знаний.

Я изучил готовые расширения из каталога Obsidian, но ни одно из них не закрывало мои потребности полностью. В этот момент зародилась идея создать собственный плагин-читалку. Имея за плечами лишь базовый опыт изучения Python на курсах, я решил доверить написание кода нейросети и применить подход вайб-кодинга.

Перед стартом разработки я выписал ключевые требования к будущему инструменту:

Реклама
Настройки плагина Tome Reader в Obsidian
Раздел конфигурации тем и путей сохранения заметок.
Подключение API ключа нейросети в Tome Reader
Окно подключения собственного ключа OpenAI или Groq.
Выбор словарной папки в параметрах плагина
Указание директорий для автоматически создаваемых заметок.
Мобильная версия Tome Reader на планшете
Адаптивное отображение книги на экране планшета.
Отображение автоматического оглавления книги
Сгенерированная структура глав для конвертированного файла.
Темы оформления Пергамент и Серый туман
Сравнение встроенных тем оформления текста.
Сохранение цитаты с личным комментарием в заметку
Формирование файла заметки книги с цитатой и комментарием.
Каталог плагинов Obsidian с найденным Tome Reader
Поиск и установка плагина Tome Reader в каталоге Obsidian.
  • Комфортное чтение на мобильных устройствах: основной объем книг я читаю с экрана смартфона или планшета, поэтому адаптивный интерфейс был критически важен.
  • Экспорт в один клик: выделение фрагмента должно сразу отправлять текст в заметку о книге или в словарную карточку без лишних действий, с автоматическим созданием файла книги при его отсутствии.
  • Настраиваемый визуальный стиль: наличие приятных «бумажных» тем, возможность менять шрифты, их размер и параметры перелистывания.
  • Поддержка форматов: формат EPUB требовался обязательно, FB2 — в качестве близкой перспективы, PDF — по возможности.
  • Встроенный AI-ассистент: интеллектуальный помощник для работы со сложным текстом и контекстом.

Предварительное составление четкого брифа — полезный навык не только при генерации кода с помощью ИИ, но и перед началом любого сложного технического проекта.

Интерфейс читалки Tome Reader в Obsidian
Отображение открытой книги EPUB в отдельной вкладке Obsidian.

Как я формулировал техническое задание для нейросети

Весь код плагина генерировала нейросеть. Для меня LLM уже давно стала привычным рабочим инструментом, сравнимым с синтаксической подсветкой или автодополнением кода. При этом важно понимать, что вайб-кодинг — не волшебное решение всех проблем. ИИ способен выдать огромный объем кода, но контролировать логику и разбираться в архитектуре инструмента все равно приходится автору.

Разница между размытым запросом «сделай мне читалку» и детальным ТЗ колоссальна. В первом случае вы получите нерабочий результат и потратите впустую лимиты токенов. При разработке Tome Reader к списку требований я сразу добавил жесткие ограничения и критерии готовности.

Верхняя панель и прогресс чтения в Tome Reader
Информационная шапка с названием главы и процентом прочтения.

Например, сценарий выделения текста я описывал шаг за шагом: при выделении слова или фразы должна появляться контекстная панель. Выбранная цитата отправляется в заметку книги вместе с заголовком текущей главы (а если заметки по книге еще нет, плагин создает ее в указанной каталожной папке). При работе с иностранной литературой выделенное слово должно отправляться в выбранный словарь, причем в настройках читалки должна быть предусмотрена возможность создавать несколько таких словарей.

В процессе совместной разработки с нейросетью я выработал несколько ключевых правил:

Реклама
  • Конкретика и измеримый результат: вместо абстрактного «сделай удобно» нужно задавать точный состав кнопок, цветовые гаммы и логику работы.
  • Принцип «объясни перед применением»: просьба к ИИ разъяснить предлагаемое решение позволяет держать процесс под контролем и параллельно разбираться в коде.
  • Полнота контекста: необходимо указывать целевую платформу, условия использования и технические ограничения.
  • Обязательная проверка: ИИ выкладывает ошибочный код с абсолютной уверенностью. Рекомендуется зафиксировать правило обратной связи после каждого выполненного этапа.
  • Детализация ошибок: при сбоях требуется подробный разбор ситуации по цепочке: «задача → результат → проверка → корректировка».

Функциональные возможности Tome Reader

Файлы формата EPUB из вашего хранилища Obsidian открываются непосредственно в рабочей области как стандартные заметки. Плагин автоматически сохраняет текущую позицию чтения и позволяет расставлять закладки. Если закрыть книгу и вернуться к ней через некоторое время, чтение возобновится ровно с того места, где вы остановились.

Панель быстрого оформления Aa в Tome Reader
Быстрое меню Aa для изменения шрифтов, интервалов и тем оформления.

Перелистывание страниц осуществляется нажатием на края экрана или с помощью клавиш клавиатуры. В настройках можно включить анимацию смены страниц. В верхнем колонтитуле отображается название книги, текущая глава и общий процент прочтения.

Четыре визуальные темы и гибкая настройка под себя

В плагине предусмотрены классическая светлая и темная темы, а также два специализированных пресета: «Пергамент» (имитация старинной бумаги с темно-коричневым шрифтом) и «Серый туман» (темный фон с багровыми акцентами, оформленный в стиле моей персональной темы Obsidian).

Быстрое меню «Aa» доступно прямо в окне чтения. Через него можно на лету менять тему, гарнитуру и размер шрифта, межстрочный интервал и цвет текста без необходимости переходить в глобальные параметры.

Создание карточки Spaced Repetition из выделенного текста
Отправка незнакомого слова с переводом в карточку повторения.

Быстрый экспорт выделенного текста в заметки и словари

Главная функция, ради которой создавался плагин, — контекстное меню при выделении текста. Оно содержит две ключевые команды: отправку цитаты в заметку книги и добавление слова в словарь.

При отправке в заметку сохраняется сама цитата, название главы и ваши личные комментарии. Если отдельный файл для книги еще не создан, Tome Reader автоматически сформирует его в заданной папке.

При сохранении слова фраза форматируется под требования плагина Spaced Repetition. Выделяя незнакомое иностранное слово с переводом во время чтения, на следующий день вы получаете готовую флеш-карточку для интервальных повторений. Количество словарей в настройках не ограничено.

Боковая панель оглавления и закладок Tome Reader
Боковое оглавление с поисковой строкой и списком закладок.

Управление навигацией: оглавление, поиск и система закладок

Боковая панель слева содержит интерактивное оглавление с подсветкой текущей главы и поисковой строкой. В верхней части панели зафиксированы закладки. Их можно добавлять двумя способами: через кнопку в шапке читалки для текущей страницы либо из контекстного меню выделенного текста — тогда сам выделенный фрагмент станет заголовком закладки.

Автоматическая генерация оглавления для «битых» файлов

Частая проблема файлов EPUB, полученных путем конвертации из PDF, — полное отсутствие структуры глав (все оглавление сводится к единственному пункту «Start»). В таких случаях Tome Reader анализирует структуру текста и автоматически формирует оглавление.

Реклама
Редактирование опечаток в тексте книги
Исправление ошибки в тексте прямо из окна читалки.

Плагин распознает в качестве заголовков не только стандартные теги, но и выделенные жирным шрифтом абзацы, начинающиеся со слов «Глава», «Часть», «Пролог» или нумерации. Сгенерированное оглавление сохраняется в кэш, поэтому сканирование выполняется единоразово.

Стоит учитывать: если при первичной конвертации из PDF разметка полностью разрушилась и текст превратился в сплошной поток без разделения на абзацы, восстановить структуру автоматически не получится.

Редактирование опечаток и текста прямо во время чтения

Эта функция была добавлена для исправления ошибок перевода и опечаток непосредственно в процессе чтения. Если вы встречаете корявую формулировку, ее можно отредактировать прямо в файле книги через интерфейс читалки.

Функция антиспойлерного пересказа в Tome Reader
Генерация краткого содержания пройденных глав без спойлеров.

Чтобы избежать случайного повреждения файла, плагин заменяет только абсолютно уникальные фрагменты в пределах главы. Если выделенное слово встречается в главе несколько раз, система заблокирует правку. В таком случае достаточно выделить предложение целиком, чтобы однозначно идентифицировать место замены.

Интеграция AI-ассистента со своим API-ключом

Чтобы не переключаться между окнами в поисках справочной информации во время чтения, я интегрировал в Tome Reader нейросетевого помощника. Плагин работает по принципу BYOK (Bring Your Own Key): без указания пользовательского API-ключа читалка не отправляет никаких сетевых запросов.

В настройках можно подключить любого провайдера: OpenAI, Groq, OpenRouter, Anthropic или иной сервис с совместимым API. Ключ хранится исключительно локально на вашем устройстве.

Контекстный AI-перевод текста в Tome Reader
Перевод фразы с учетом контекста окружения через API нейросети.

Возможности AI-ассистента в читалке:

  • Контекстный перевод: перевод слов и фраз выполняется с учетом смыслового окружения, а не по сухому словарю. Результат можно сразу перенести в карточки Spaced Repetition.
  • Справочные пояснения: разъяснение сложных терминов, специфических идиом и культурных контекстов без перехода в браузер.
  • Ответы на произвольные вопросы: возможность уточнить детали сюжета или взаимоотношения персонажей.
  • Антиспойлерный пересказ: кнопка «Что было раньше?» генерирует краткое содержание пройденной части книги. Модель получает текст строго до текущей позиции чтения и не видит последующих страниц. Это удобно при возвращении к книге после перерыва или при одновременном чтении нескольких произведений. Сводку можно сохранить напрямую в заметку книги.

Дополнительные удобства и особенности работы

Интерфейс Tome Reader переведен на русский и английский языки. Плагин полноценно функционирует как на ПК, так и на мобильных устройствах под управлением iOS и Android. В параметрах нейросети предусмотрена кнопка проверки соединения. Исходные файлы электронных книг остаются нетронутыми, за исключением случаев явного редактирования опечаток пользователем.

Текущие ограничения плагина

На данный момент Tome Reader имеет несколько очевидных ограничений:

  • Поддерживается только формат EPUB (разработка модуля FB2 находится в планах, с PDF вопрос остается открытым).
  • Принципиально не восстанавливается разметка в полностью поврежденных конвертированных файлах.
  • Отсутствует плавный свайп следом за пальцем — перелистывание выполняется тапом или клавишами.

Как создать собственный плагин для Obsidian без знания TypeScript

Разработка Tome Reader показала, что для создания рабочего инструмента под свои задачи сегодня не требуется профильное IT-образование, глубокое знание TypeScript или наличие ментора. Процесс создания занял у меня три недели и тринадцать итераций сборки.

Что действительно необходимо для успеха:

  • Умение четко формулировать мысли: способность объяснить логику работы приложения простым языком.
  • Готовность к системному тестированию: каждый модуль требует проверки в реальных сценариях использования.
  • Аналитический подход к ошибкам: сбои в коде — это повод задать нейросети правильные уточняющие вопросы и скорректировать ТЗ.
  • Внимание к информационной безопасности: понимание того, где хранятся ключи API и как инструмент обрабатывает локальные файлы.

Сегодня путь от идеи до первого работающего MVP сократился до нескольких вечеров. При этом важно сохранять полный контроль над создаваемым продуктом и понимать механизмы его работы.

Планы по развитию и установка

Я ежедневно пользуюсь Tome Reader и продолжаю развивать проект. В ближайших планах — добавление формата FB2, расширение палитры тем оформления и внедрение отображения прогресса чтения в метаданных заметок.

Установить плагин можно непосредственно из интерфейса Obsidian: Настройки → Плагины сообщества → Поиск → «Tome Reader». Исходный код проекта распространяется под лицензией MIT и доступен на GitHub.

Источник: habr.com

01.