| Product | Ripple |
|---|---|
| Category | Desktop RSS/Atom Reader |
| Platforms | Windows, macOS |
| Data Model | Local SQLite database |
| AI Providers | OpenAI-compatible APIs, Ollama, vLLM, custom local services |
| Main Workflows | Subscribe, read, annotate, tag, search, export, summarize, translate, ask |
| Feedback | https://github.com/TheadoraTang/RSSReader/issues |
- Product Overview
- Product Screenshots
- Key Features
- Technical Architecture
- Installation
- Local Development
- Packaging and Deployment
- AI Configuration
- Data and Privacy
- Troubleshooting
- Feedback and Issues
Ripple is a desktop RSS/Atom reader designed for personal knowledge management and continuous information tracking. It combines feed management, article reading, notes, tags, search, export, AI summaries, AI translation, and RAG-based Q&A in one local-first reading workspace.
Ripple supports Windows and macOS desktop usage. Subscriptions, articles, notes, tags, and AI usage records are stored in a local SQLite database. AI providers can be configured through OpenAI-compatible APIs or local model services such as Ollama and vLLM.
| Reading Workspace | AI Summary |
|---|---|
![]() |
![]() |
| AI Settings | RAG Q&A |
|---|---|
![]() |
![]() |
| Feed Management | Search |
|---|---|
![]() |
![]() |
| Feature | Description |
|---|---|
| Feed Management | Add, edit, delete, and batch-delete RSS/Atom feeds. |
| Article Sync | Sync one feed, sync all feeds, run startup sync, and configure scheduled sync. |
| OPML Import/Export | Import or export subscriptions for migration and backup. |
| Reader View | Browse feeds, article lists, and article details; manage read/unread and starred states. |
| Content Cleaning | Clean RSS HTML content and convert it into readable Markdown. |
| Notes | Write personal notes for individual articles. |
| Tags | Manage article tags while keeping AI tag suggestions under user confirmation. |
| Search | Search historical articles and quickly locate saved reading material. |
| Export | Export single articles or batch Markdown digests through desktop save dialogs. |
| AI Summary | Generate article summaries with a configured LLM provider and track usage. |
| AI Translation | Configure a dedicated translation provider; support streaming translation and comparison view. |
| RAG Q&A | Build a vector index over subscribed articles and ask questions in natural language. |
| Usage Statistics | Review LLM traffic, failed calls, and feed sync logs. |
| Reading Preferences | Customize theme, palette, font size, line height, and content width. |
| Layer | Technology |
|---|---|
| Desktop | Electron |
| Frontend | Vue 3, Vite, Element Plus, Pinia, Vue Router |
| Backend | FastAPI, Python |
| Database | SQLite |
| Packaging | Electron Builder, PyInstaller |
| AI Integration | OpenAI-compatible API, Ollama, vLLM, local embedding services |
When the desktop app starts, Ripple launches a local backend service automatically and connects the frontend to the local API. User data is stored in the operating system's application data directory.
- Download the latest
Ripple Setup x.x.x.exefromrelease/or GitHub Releases. - Run the installer and follow the setup wizard.
- Launch Ripple from the desktop shortcut or Start Menu.
- Configure an LLM provider in AI Settings if AI features are needed.
- Download the latest
Ripple-x.x.x.dmgfrom GitHub Releases. - Open the
.dmgfile. - Drag Ripple into the
Applicationsfolder. - Launch Ripple from Launchpad or
Applications. - If macOS blocks the app, allow it in
System Settings -> Privacy & Security.
| Tool | Recommended Version |
|---|---|
| Node.js | 18+ |
| npm | 9+ |
| Python | 3.10+ |
| Git | 2.40+ |
npm install
npm install --prefix frontend
python -m venv .venv1
.\.venv1\Scripts\Activate.ps1
pip install -r backend\requirements.txtnpm run dev:desktopThis command starts:
| Service | Default Behavior |
|---|---|
| Vite frontend | http://127.0.0.1:5173 |
| FastAPI backend | Automatically selects a local port |
| Electron desktop app | Loads the frontend and connects to the backend |
cd backend
uvicorn app.main:app --reloadcd frontend
npm run devnpm run dist:desktopThe installer will be generated at:
release/Ripple Setup x.x.x.exe
The Windows package includes:
| Component | Description |
|---|---|
| Electron Shell | Desktop runtime |
| Vue frontend build | frontend/dist |
| PyInstaller backend | Bundled FastAPI backend |
| SQLite user data | Created automatically after installation |
Run the following on macOS:
npm install
npm install --prefix frontend
python3 -m venv .venv1
source .venv1/bin/activate
pip install -r backend/requirements.txt
npm run dist:desktopThe DMG file will be generated at:
release/Ripple-x.x.x.dmg
macOS packaging notes:
| Item | Description |
|---|---|
| Build platform | Build the DMG on macOS whenever possible. |
| Python backend | Bundled with PyInstaller and shipped with the app. |
| Signing and notarization | Recommended for public distribution. |
| First launch warning | Unsigned builds may require manual approval in Privacy & Security settings. |
Open AI Settings in the app to configure:
| Configuration | Purpose |
|---|---|
| General AI Provider | Used for summaries, AI tag suggestions, and RAG Chat. |
| Translation Provider | Used for article translation and comparison reading. |
| Embedding Settings | Used for the RAG article index. |
Supported provider types:
| Type | Example |
|---|---|
| OpenAI-compatible | OpenAI, DeepSeek-compatible services, TokenHub-compatible services |
| vLLM Local | http://127.0.0.1:8001/v1 |
| Ollama | http://127.0.0.1:11434/v1 |
| Custom | Custom compatible endpoint |
API keys are encrypted locally. When editing a provider, leaving the API Key field empty keeps the existing key unchanged.
| Data | Storage |
|---|---|
| Feeds, articles, notes, tags | Local SQLite database |
| AI provider settings | Local database with encrypted keys |
| AI usage logs | Local database |
| Exported files | User-selected local path |
Ripple is local-first by default. Reading data is only sent to external AI services when the user explicitly configures and uses a third-party AI provider.
| Issue | Suggested Action |
|---|---|
| Feed sync fails | Check whether the Feed URL is reachable and review sync logs. |
| AI summary or translation fails | Verify Base URL, model name, API Key, and proxy settings. |
| RAG Q&A has no answer | Build the article index before asking questions. |
| Windows icon does not refresh | Reinstall the latest build and remove old desktop shortcuts if needed. |
| macOS blocks the app | Allow it in Privacy & Security settings, or use a signed build. |
Please report bugs, installation failures, AI provider issues, and feature requests through GitHub Issues:
https://github.com/TheadoraTang/RSSReader/issues
Recommended information:
| Information | Example |
|---|---|
| Operating system | Windows 11 / macOS 14 |
| Ripple version | 0.1.5 |
| Problem | Sync failure, UI error, AI call failure |
| Reproduction steps | 1. Open page; 2. Click button; 3. Error appears |
| Logs or screenshots | Sync logs, console errors, screenshots |






