A private, open-source alternative to Windows Recall and Rewind.ai. Everything you've ever seen on your screen, instantly searchable — no cloud, no account, no telemetry, 100% on your machine.
Search — full-text + semantic across everything you've seen |
Ask — chat your history with cited screenshots |
- Truly local. Capture, OCR, search, and AI all run on your machine. No cloud, no account, no telemetry — it works fully offline.
- Open source. MIT-licensed. Read every line, audit what it stores, fork it.
- Built for Linux. Native Wayland capture via
xdg-desktop-portal+ PipeWire — works on KDE, GNOME, and wlroots compositors. No competitor ships here. - Fast. SQLite FTS5 gives sub-100ms full-text search across weeks of screen history.
| RewindOS | Windows Recall | Rewind.ai | |
|---|---|---|---|
| Linux / Wayland | ✅ | ❌ | ❌ |
| Open source | ✅ | ❌ | ❌ |
| Local-only, no cloud | ✅ | ✅ 1 | ✅ |
| No subscription | ✅ | ✅ | ❌ |
| Bring-your-own AI (local or API) | ✅ | ❌ | ❌ |
| Independent — not shut down / acqui-hired | ✅ | ✅ | ❌ 2 |
1 on-device, but closed-source and Windows-only. 2 Rewind → Limitless → acquired by Meta; the Mac app's capture was disabled Dec 19, 2025, and EU/UK data deleted.
Rewind got the privacy model right — it stored everything locally too — but it was macOS-only, proprietary, and is now gone. RewindOS is the open-source, Linux-native version that no acquisition can switch off.
Also open source: omi — but macOS-only and cloud-backed. RewindOS stays fully local and Linux-native.
🔎 Search & Recall Full-text search across everything on your screen in under 100ms. Optional hybrid search fuses keyword + semantic results (Ollama embeddings, Reciprocal Rank Fusion). Perceptual hashing skips near-identical frames, and scene grouping keeps results clean.
🎞️ Browse & Replay Scroll your screen history chronologically with hourly grouping, or scrub through it as a timelapse with speed controls and keyboard navigation. A dashboard surfaces app-usage stats, daily/hourly activity charts, and a heatmap calendar.
🤖 Ask AI Ask questions about your screen history and get answers with inline citations, a Sources card, and click-through to the exact screenshots. Backed by Claude Code (opus / sonnet / haiku) or local Ollama via a per-chat model picker. Pin screenshots as context; copy, regenerate, and follow-up.
🔌 Works with Claude Code & any MCP client The daemon ships an MCP server, so you can query your screen history straight from Claude Code (or any MCP-capable agent) — "what was that doc I had open yesterday?" — without leaving your terminal. Exposes tools for search, timeline, recent activity, app usage, per-screenshot detail, and meeting transcripts; all local, same database the app uses.
🗂️ Organize A rich-text journal (Tiptap) with tags, templates, screenshot attachments, and AI summaries. Bookmarks & collections to save what matters. Vault export writes daily memory notes (journal, recap, meetings, key moments, stats) straight into your Obsidian or Logseq vault.
🔒 Privacy
Exclude specific apps or window-title patterns (password managers, private browsing). Global hotkey Ctrl+Shift+Space opens search instantly; the app runs quietly in the system tray.
RewindOS reaches the network on its own for one thing: a daily check-in (the app's update check and the capture daemon's heartbeat) via a small Cloudflare Worker (open source, in this repo). The worker hashes your IP with a daily, server-only salt to count distinct active devices, then discards it — no IP, no identifier, no payload is ever stored. All it keeps is an anonymous daily count, bucketed by app version and desktop environment (so the project can see release adoption and KDE-vs-GNOME mix); both are aggregate counts, never tied to you. The full dataset is published live. Opt out entirely with usage_heartbeat = false under [privacy] in ~/.rewindos/config.toml. (The update check also falls back to GitHub directly if the worker is down.)
yay -S rewindos-bin # or: paru -S rewindos-bin
systemctl --user enable --now rewindos-daemon.serviceRewindOS is local-first and privacy-focused, so the recommended install is download, read, then run:
curl -fsSL https://raw.githubusercontent.com/jaypopat/rewindos/master/scripts/install.sh -o install.sh
less install.sh # read what it does
bash install.shPrefer a one-liner? (Same script, run directly.)
curl -fsSL https://raw.githubusercontent.com/jaypopat/rewindos/master/scripts/install.sh | bashThe installer detects your distro, installs the system dependencies (Tesseract, PipeWire, the webview, and the right desktop portal), downloads and checksum-verifies the latest release, and enables the capture daemon as a systemd user service.
Options
bash install.sh --with-paddleocr # higher-accuracy OCR (heavier Python deps)
bash install.sh --update # update to the latest release
bash install.sh --uninstall # remove RewindOS (asks before deleting your data)Requirements: x86_64, a modern Wayland desktop (KDE, GNOME, Hyprland, Sway), and a current distro. The prebuilt binary targets recent glibc + webkit2gtk-4.1; on older distros, build from source.
These are off by default; RewindOS works fully without them.
- Ollama — local semantic search, chat, and journal summaries (everything stays on-device).
- Claude Code CLI — higher-quality chat; once installed and registered with MCP, the Ask view's model picker exposes its tiers (opus / sonnet / haiku).
A background daemon captures screenshots every 5 seconds, deduplicates them with perceptual hashing, runs OCR via Tesseract, and indexes the extracted text into SQLite FTS5. A Tauri desktop app provides search, browsing, journaling, and analytics.
Timer (5s) → Screen Capture → Hash & Dedupe → OCR → SQLite FTS5
Linux on Wayland. Capture uses xdg-desktop-portal + PipeWire, so it works on any compositor that implements the ScreenCast portal.
| Desktop | Status |
|---|---|
| KDE Plasma 6+ | ✅ Tested |
| GNOME 46+ | ✅ Tested — install the "Window Calls Extended" extension for app/window names |
| Hyprland · Sway · other wlroots |
x86_64 only for prebuilt binaries. X11-only sessions aren't supported.
After installation, the daemon starts automatically. The UI autostarts minimized to the system tray.
- Open search:
Ctrl+Shift+Space - View logs:
journalctl --user -u rewindos-daemon -f - Restart daemon:
systemctl --user restart rewindos-daemon - Launch UI manually:
rewindos - Daemon CLI:
rewindos-daemon pause | resume | status | backfill
At default settings (~5s interval, 8h/day):
| Metric | Estimate |
|---|---|
| Frames/day (after dedup) | ~2,880 |
| Storage/day | ~210 MB |
| 90-day retention | ~19 GB |
Screenshots are stored as WebP in ~/.rewindos/. Retention is configurable.
Build from source
The install.sh path above installs system dependencies for you — this section is only if you'd rather build it yourself.
sudo apt install \
libpipewire-0.3-dev \
tesseract-ocr tesseract-ocr-eng \
libclang-dev libsqlite3-dev \
libdbus-1-dev pkg-config build-essentialTasks are run with just (cargo install just):
just installThis builds the Rust workspace and frontend, installs the daemon as a systemd user service, and sets up the desktop app to autostart minimized to tray on login.
Manual / dev build
cargo build --workspace # Rust crates
bun install # Frontend deps
bun run tauri dev # Run in dev modeConfiguration
Config lives at ~/.rewindos/config.toml. Key options:
- Capture interval and change sensitivity threshold
- Excluded apps and window title patterns (e.g. password managers, private browsing)
- Retention period and storage limits
- OCR language and worker count
- Ollama endpoint for AI features (semantic search, chat, summaries)
- App categories — custom app→category rules for the activity breakdown (Settings → General)
Project layout
crates/rewindos-core/ Shared lib (DB, OCR, hashing, config, embedding, chat)
crates/rewindos-daemon/ Capture daemon (PipeWire, pipeline, D-Bus, window info)
src-tauri/ Tauri app (commands, D-Bus client, AI chat)
src/ React frontend
components/ Reusable UI components (search, charts, shared)
features/ Feature views (ask, dashboard, history, journal, rewind, saved, settings)
hooks/ Custom React hooks
context/ React context providers
lib/ API wrappers, utilities, query keys
docs/ Architecture & design docs
systemd/ Service files and desktop entries
MIT




