About this project

LearnNote is a local-first AI learning assistant aimed at organizing viewed videos and local materials into searchable and editable study notes. The project primarily targets the Windows 10/11 x64 desktop platform. After installation, it starts a local service, allowing users to read, edit, and return to sources within a web workbench. It does not require a LearnNote account; videos, subtitles, notes, supplements, and review records are saved locally by default, and there are no proprietary cloud tasks or product telemetry. Key Capabilities: - Content Input: Users can paste video URLs, select local videos, or import PDF, Markdown, TXT, and HTML files. Standard links do not require a browser extension. - Subtitle-First Workflow: When subtitles are available, the system reads them, skipping video downloads and speech-to-text transcription, then calls a text model to generate overviews, key points, and timestamped sources; original subtitles are preserved independently. If no subtitles are available, the media is retrieved and transcribed according to the selected method before organization. - Transcription and OCR: Local transcription uses faster-whisper; the corresponding model must be downloaded upon first use, with speed depending on video length, model size, and CPU/GPU environment. Frame-based OCR is used for text extraction; the README clarifies that full-screen subtitle OCR is not yet provided as an automatic fallback process. - Model Configuration: A single text or vision model connection can be saved and shared across the web workbench, App, and extension tasks. It supports service presets or compatible interfaces, as well as connections to local model services. API Keys can be stored in the local service or system credential store. - Browser Extension: Used for logged-in Bilibili or course pages to hand over subtitles and resources accessible to the current page. The extension does not record tabs, nor does it bypass DRM, account permissions, or course progress. Pasting a URL alone will not automatically obtain the login state of another browser. - Notes and Reading: Body text and sources are separated, allowing users to return to the video via timestamps. It supports editing the body and saving personal supplements, with original generated drafts and revised versions kept separately. A global assistant and explicit Skills are provided to ask questions, summarize, or self-test based on selected content; responses display the Skill used, scope, and execution method. - Organization and Export: Provides courses, review cards, study plans, version history, snippet learning, OCR, diagnostics, and export. It supports collapsing sidebars, outlines, font settings, reading width, themes, and density settings. Unsent assistant questions are saved as local drafts; the previous generation is retained until a new one is triggered. - Integration: Provides an Obsidian integration directory. The official website and help documentation include product workflows, model settings, and extension connection troubleshooting. Usage: Download the Windows installer or extract the portable ZIP and double-click LearnNote.exe. Save the model connection in settings, confirm the source and processing method to start a task. The task page displays progress, completed or skipped steps, and processing records. Once finished, users can read summaries, edit, or export. Boundaries and Limitations: Supports local videos, Bilibili, YouTube, and common media resources accessible to the current session. Site updates, login expiration, or encrypted playback may affect retrieval, in which case local files can be used. PDF scanning requires OCR first. Basic contract checks for macOS/Linux do not equate to completed native desktop signing, installation, and upgrade acceptance. Mobile narrow screens can read the web page, but the service is by default for local access only; cross-device synchronization and a standalone mobile App are not currently promised. Development and Licensing: The repository includes the backend, web workbench, browser extension, and static official website. The development environment can run first-run-checklist.ps1 and start-learnnote.ps1, with backend regression using unittest. The project adopts the Apache License 2.0. The README mentions references to BiliNote's subtitle-first and video note workflow, Cetle's subtitle and learning tool organization, and Cherry Studio's multi-model client interaction.