Aplicación de escritorio para gestionar tu lector Kobo: sincroniza tus libros y subrayados, lee en local sin el dispositivo conectado, organiza tu biblioteca por colecciones y edita metadatos con portadas descargadas automáticamente.
- Sincronización bidireccional con el Kobo al conectarlo por USB: diff previo que te muestra qué libros están solo en el Kobo o solo en la app antes de aplicar nada (fail-closed).
- Biblioteca local portable (
_LIBRERIA/): los EPUBs, la base de datos y las portadas viajan dentro de la misma carpeta. Copia_LIBRERIAa otra máquina y funciona. - Lector EPUB integrado con navegación por flechas/ratón, vista a una o dos páginas, pantalla completa, índice lateral redimensionable, y controles tipo reproductor.
- Modo oscuro / claro con toggle en la sidebar.
- Importa highlights y bookmarks del Kobo en cada sincronización.
- Subraya desde el lector con 4 colores (amarillo, rosa, verde, azul) — bloqueado cuando el Kobo no está conectado para evitar pérdida de datos.
- Click en un subrayado de la lista → navega al capítulo y marca el texto en el lector con flash animado.
- Exporta subrayados por libro o en bloque a Markdown / CSV.
- Búsqueda de metadata en Goodreads y Google Books con filtro automático de resultados en español.
- Diálogo de dos columnas: elige portada y datos independientemente; muestra la resolución de cada portada (en amarillo
⚠️ si es < 800 px). - Arrastra y suelta una imagen local sobre la portada para sustituirla en un solo gesto.
- Botones rápidos: "Descargar Datos + Portada", "Descargar Portada", "Borrar datos".
- Colecciones (shelves) con import automático desde el Kobo + vista desplegable en la sidebar.
- Filtros: por estado (Sin leer / Leyendo / Terminado), por colección, por subrayados.
- Ordenación por título, autor, progreso, última lectura o fecha añadida.
- 3 densidades de grid: 6, 8 o 10 columnas + vista lista.
- Import y movimiento de biblioteca completa desde Ajustes.
- Limpieza automática de registros fantasma (libros sin EPUB físico ni en Kobo).
- Sistema de logs
renderer → mainque escribe a%APPDATA%/kobo-manager/logs/main.logcon prefijo[RENDERER]para diagnosticar errores del front sin DevTools. - Transacciones SQLite en la sincronización: si algo falla a mitad, rollback completo.
- Filtro de libros físicos: los registros del Kobo sin EPUB real se marcan como
deleted_from_device=1y no ensucian la biblioteca.
- Electron 41 + electron-vite 5 — aplicación de escritorio multiplataforma
- React 19 + TypeScript 6 + Tailwind CSS 4 — UI
- better-sqlite3 — BD del Kobo y BD local
- epubjs — motor del lector
- Zustand — estado global
- lucide-react + sonner — iconos y notificaciones
- Node.js 20+
- Windows 10/11 (las integraciones USB y
shellestán probadas en Windows; macOS/Linux deberían funcionar pero no están validadas)
cd kobo-manager
npm install
npx electron-rebuild -f -w better-sqlite3 # reconstruye el módulo nativo para Electron# Desarrollo (lanza la app con HMR)
npm run dev
# Build
npm run build
# Empaquetar .exe portable (sale en la raíz de kobo-manager/)
npm run distEl empaquetador está configurado (electron-builder) para generar un KoboManager.exe portable (~100 MB) que no requiere instalación.
KOBO/
├── kobo-manager/ # App Electron + React
│ ├── electron/ # Main process
│ │ ├── services/ # USB, sync, DB, epub parser, metadata
│ │ └── ipc/ # Canales y handlers
│ ├── src/ # Renderer (React)
│ │ ├── pages/ # Dashboard, Books, BookDetail, Reader, Settings…
│ │ ├── components/ # UI (reader, kobo, layout, sync)
│ │ ├── hooks/ # useBooks, useHighlights, useKoboStatus…
│ │ └── stores/ # Zustand
│ ├── shared/ # Tipos compartidos main ↔ renderer
│ └── build/ # icon.ico, splash.jpg
├── _LIBRERIA/ # Biblioteca portable (EPUBs + .db + .covers)
├── STRUCTURE.json # Mapa de módulos
├── PROJECT_NOTES.md # Registro de decisiones
└── tasks.json # Tracking de tareas
- Base de datos local:
_LIBRERIA/.db/kobo-manager.sqlite(incluye libros, subrayados, notas, colecciones y ajustes). - Portadas:
_LIBRERIA/.covers/*.jpg. - EPUBs:
_LIBRERIA/*.epub(directo en la raíz). - Logs:
%APPDATA%/kobo-manager/logs/main.log.
El Kobo físico solo se lee y se escribe durante una sincronización explícita — nunca hay modificaciones no solicitadas.
Creado por Kino como herramienta personal de gestión de biblioteca Kobo. Pull requests, sugerencias e issues son bienvenidos.
ISC — úsalo, fórqueal o modifícalo libremente.
