Навайбкодил десктоп-клиент для «Яндекс Книг» на WinUI 3. .NET 8.. .NET 8. Claude.. .NET 8. Claude. codex.. .NET 8. Claude. codex. Open source.. .NET 8. Claude. codex. Open source. windows.. .NET 8. Claude. codex. Open source. windows. WinUI 3.. .NET 8. Claude. codex. Open source. windows. WinUI 3. вайбкодинг.. .NET 8. Claude. codex. Open source. windows. WinUI 3. вайбкодинг. искусственный интеллект.. .NET 8. Claude. codex. Open source. windows. WinUI 3. вайбкодинг. искусственный интеллект. яндекс книги.

Привет, хабр!)

Периодически хочется почитать книги с ноутбука, особенно в дороге. Но у «Яндекс Книг» есть только мобильные приложения и сайт, а отдельного клиента для Windows нет. Через браузер читать можно, пока есть нормальный интернет, однако в поезде или за городом этот план иногда заканчивается одновременно с мобильной сетью.

Можно было скачать книгу где-нибудь ещё, поставить обычную EPUB-читалку и не усложнять себе жизнь. Но библиотека и подписка у меня уже находились в одном сервисе. Поэтому я выбрал более логичный для программиста вариант: решил самостоятельно написать неофициальный десктоп-клиент.

Что я хотел получить

Изначальная идея была довольно простой: открыть приложение, увидеть свою библиотеку, скачать нужную книгу и спокойно читать её без интернета.

Без попытки полностью повторить мобильный клиент. Без всяких аудиокниг, заметок и прочего(хотя, может, когда-нибудь я это всё туда перенесу). Мне хотелось сделать небольшое нативное Windows-приложение, которое решает конкретно мою проблему.

Для интерфейса я выбрал WinUI 3, потому-что хочу чтобы всё было в стиле 11 винды. В результате приложение умеет загружать библиотеку пользователя, искать текстовые книги, добавлять и удалять их, скачивать EPUB для офлайн-чтения и хранить локальный прогресс. Есть светлая и тёмная темы, настройка размера текста, оглавление, горячие клавиши и двухстраничный режим для широких окон.

Библиотека книг пользователя

Библиотека книг пользователя

Собственно, вайбкодинг

До этого я пытался писать приложения на WinUI 3, но это не моя сфера деятельности поэтому проект делался в основном силами Codex и Claude opus 4.8.

Перед тем как что-либо делать, я прошерстил интернет на наличие готовых API и был очень рад что такое есть. Затем последовал 1 день плотного вайбкодинга и что-то получилось. Единственная проблема текущего приложения и API в том, что нет возможности отправлять Яндексу обновлённый прогресс чтения любой книги(Несмотря на возможность добавлять и удалять книги из библиотеки пользователя, в чей аккаунт залогинено приложение)

Что получилось

Сейчас это вполне пригодная для использования первая версия.

Клиент показывает личную библиотеку, позволяет искать и добавлять книги, загружает их на компьютер и открывает во встроенной читалке. Обложки и метаданные кэшируются локально, поэтому уже загруженная библиотека остаётся доступной без сети. OAuth-токен хранится не в обычном конфигурационном файле, а в Windows Credential Locker.

Режим чтения

Режим чтения

Разумеется, пока не всё идеально. Например, сейчас поддерживаются именно текстовые книги, аудиокниг пока нет.

И, пожалуй, самое важное ограничение: клиент использует внутренний недокументированный API Bookmate, на котором работает сервис. Это означает, что после очередного обновления со стороны Яндекса что-нибудь может внезапно сломаться. Такой проект по определению живёт немного на пороховой бочке.

А это вообще законно?

Проект не связан с Яндексом и не пытается обходить подписку или открывать недоступный контент. Для работы нужен собственный аккаунт(с подпиской), а полный текст можно скачать только для тех книг, которые доступны этому аккаунту.

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

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

Навайбкодил десктоп-клиент для «Яндекс Книг» на WinUI 3 - 3

Ссылки

Исходный код и Скачать

Спасибо за внимание)

Автор: kvch

Источник