A modern, keyboard-driven RSS feed reader that brings back the magic of Google Reader with AI! π
InReader combines the beloved simplicity of Google Reader with modern features like AI-powered summaries, chat capabilities, and a beautiful dark mode. Perfect for power users who love keyboard shortcuts and AI enthusiasts who want to chat with their articles!
- Smart Feed Management - Subscribe, organize, and refresh feeds with automatic content extraction
- Feed Organization - Folder support with drag-and-drop organization
- Visual Feed Status - Color-coded unread badges to track content freshness
- Full Article Extraction - Automatic fetching of complete article content
- AI-Powered Summaries - Local LLM summaries via Ollama integration
- Chat with Articles - Interactive AI discussions about article content
- Keyboard-First Design - Vim-style navigation and comprehensive shortcuts
- Dark Mode - Modern, eye-friendly dark theme
- Text-to-Speech - Queue-based article playback with progress tracking
- Smart Navigation - URL-synced navigation with keyboard and mouse support
- Offline Support - IndexedDB-based local storage for articles and feeds
- Search - Full-text search with saved search history
- Parallel feed refresh with stalled entry detection
- Smart duplicate entry detection
- Automatic metadata extraction
- Unread count tracking with visual indicators
- Full article content extraction with RSS preview fallback
- Read/unread and star/favorite system
- Multiple viewing options (inline, new tab, reusable window)
- Processing status indicators with error handling
- Local LLM support via Ollama for privacy
- Configurable AI models for summaries
- Streaming chat responses with history tracking
- Queue-based TTS playback with progress tracking
- Automatic duplicate detection in TTS queue
- IndexedDB storage with automatic migrations
- Efficient batch operations and caching
- Full-text search with history tracking
- Result count and recency tracking
j
- Move down one itemk
- Move up one itemh
- Return to feed list/sidebarl
- Open selected article/move to article list or open chat with current article/
- Focus search barEscape
- Clear search/Close modalsSpace
- Scroll article / expand article content
m
- Toggle read/unread statusi
- Toggle star statuso
- Open article in new tab0
- Open article in reusable windowu
- Refresh current article content and summaryr
- Refresh all feedsa
- Add new feed
[
- Add current article to TTS queue (when in article list)[
- Add 5 most recent unread items to TTS queue (when in feed list)]
- Skip to next TTS item\
- Toggle TTS play/pausep
- Pop to currently playing articleShift+P
- Go to previous pageCtrl+P
- Go to next page
The unread count badge for each feed changes color based on the most recent unread entry:
- Dark Purple - Content from the last hour
- Dark Blue - Content from the last 24 hours
- Light Blue - Content from the last week
- Gray - Older content
This color-coding system helps you quickly identify feeds with fresh content and prioritize your reading.
- Node.js
- npm or yarn
- Ollama (for AI features)
# Clone the repository
git clone [repository-url]
# Install dependencies
npm install
# Start the development server
npm run dev
- βοΈ React
- π TypeScript
- π¨ Tailwind CSS
- πΎ Dexie.js (IndexedDB)
- β‘ Vite
- π€ React Router
src/
βββ components/
β βββ Layout.tsx # Main layout and keyboard navigation
β βββ Sidebar.tsx # Feed navigation and selection management
β βββ FeedList.tsx # Entry display and interaction
β βββ SearchResults.tsx # Search functionality
β βββ Header.tsx # Search and dark mode
β βββ ChatModal.tsx # Article chat interface
β βββ OllamaConfigModal.tsx # AI configuration
βββ services/
β βββ db.ts # Database operations
β βββ articleService.ts # Content extraction
β βββ paginationService.ts # Pagination management
β βββ ollamaService.ts # AI integration
βββ App.tsx # Root component
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
- β You can freely use, modify, and distribute this software for non-commercial purposes
- β You must give appropriate credit and indicate if changes were made
- β You cannot use this software for commercial purposes without permission
- βΉοΈ The original author retains all rights for commercial use
For more information, see the full license text.
Made with β€οΈ for RSS enthusiasts and AI explorers