Releases: nicolasestrem/screensearch-v2c
Release list
ScreenSearch v0.4.0 Timekeeper
Sessions: your screen history now has chapters
ScreenSearch groups your captured frames into sessions: a meeting, a Claude Code run, a stretch of focused work. Sessions are additive and pull-based, so nothing about capture, search, Ask, reports, marks, the overlay, or where-was-i changes, and there are no notifications, nudges, or scores.
- Recognition ships from a real-data-tuned taxonomy: Claude Code, Codex, Claude desktop, browser AI, and five meeting apps (Zoom, Teams, Meet, Webex, Discord).
- Sessions appear in the Timeline as lane-packed bands, with a drill-in showing representative frames, extracted user/agent exchanges, and a cited Recap.
- The read-only local API and MCP wrapper gain
list_sessions,get_session, andask_session, so scripts and AI clients can list sessions, open one, and ask a question scoped to a single session. This closes the AI-tool recall request (#88).
Under the hood it is a pure heuristic engine with no model calls, behind a single schema upgrade (v10 to v11) that adds structure only and segments your existing history on first launch.
First release delivered automatically
This is the first release existing 0.3.2-and-later installs receive automatically. The full update path was verified end to end before this tag on a real prior install: update check, background download, signature verification, a restart you initiate, the first-boot schema upgrade, and sessions appearing over pre-existing history, with every earlier feature unchanged.
Note on the installer
The NSIS installer is not Authenticode-signed, so Windows SmartScreen may warn on a manual download (More info, then Run anyway). The updater's own signature (minisign) is separate and verifies every automatic update.
ScreenSearch v0.3.3 Thaw
v0.3.3: skip UIA on Chromium/Electron windows to prevent browser freezes
ScreenSearch v0.3.2 Autopilot
This is the release that makes future releases automatic. v0.3.1-and-earlier users: download this installer manually one final time. From v0.3.2 on, ScreenSearch checks a signed manifest at launch, downloads updates in the background, and installs only when you choose to restart. No modal, no nag, never an auto-restart. (0.4.0 will be the first release delivered this way.)
Auto-update (Add auto update #69): signed latest.json on GitHub Releases; passive, pull-based UX; a quiet indicator only when an update actually exists.
System tray + quick actions (#56): a passive capture-state icon (capturing / paused / error), with Open, Pause/Resume capture, Load/Unload answer model, Start/Stop vision tagging, Check for updates, and Quit. Closing the window now keeps ScreenSearch running in the tray (a one-time toast explains it; a setting turns it off). Run-at-startup exists and is OFF by default.
Shell layout hardening: one scroll context per route, no nested or horizontal scrollbars, no layout shift on load.
Settings, two tiers: the essentials always visible; advanced knobs collapsed into seven groups, each with a plain-language intro. Setting the two global hotkeys to the same chord now warns inline. Two dead settings (JPEG quality, run-UIA-on-interactive) are gone; old config files still load cleanly.
Report filenames (#89): daily/weekly report downloads now say which they are: screensearch-report-daily-2026-07-06-1901.md.
Zero database changes: a v0.3.1 database opens as-is (schema 10). The installer is still not Authenticode-signed, so SmartScreen will warn: choose "More info" then "Run anyway". The updater's minisign signature is separate and already protects every future update.
Full changelog: CHANGELOG-ARCHIVE.md section [0.3.2].
ScreenSearch v0.3.1 Second Take
ScreenSearch v0.3.1
The post-0.3.0 triage patch: the vision-throughput regression fix, recall polish, and the post-0.3.0 fixes that were
already on main.
One more manual download. Auto-update (#69) is not in this release; it lands in 0.3.2. If you're on v0.3.0 or
earlier, download and run the installer below by hand one more time. The installer is still unsigned (code-signing is
the standing packaging follow-up), so SmartScreen may warn: More info > Run anyway.
Vision tagging is fast again (#64)
The 0.3.0 switch to native-resolution WebP storage silently grew the image handed to the vision model (the old pipeline
stored frames at 1280 px; native frames then hit a 1568 px cap). Release-build profiling attributed roughly 97% of the
~2.5x slowdown to the model round-trip on that bigger request; the WebP encode itself measured cheaper than the old
resize plus JPEG. The vision request is now capped at 1280 px again: about 91 tags/min vs the pre-WebP baseline's ~89
(102%) on the reference setup, same steady GPU shape. Stored captures are untouched, still native-resolution lossless
WebP.
Quitting is clean now (#84)
Closing the app now stops capture first, before it drains the vision scheduler and workers, so no new screenshots are
captured or saved while it shuts down, even with a vision tag or model download in flight.
Recall polish
- Reports save with a dated name and describe themselves (#65). Downloads are
screensearch-report-YYYY-MM-DD-HHmm.md(local time; a second save in the same minute gets-2, never overwriting),
and every report ends with a footer: app version, model, dates covered, filters, coverage counts, on screen and in the
saved/copied file. - No more nested scrollbar on a Moment's recognized text (#59). Long OCR/UIA text grows with the page, one scroll
for the whole view. - The nav rail shows the app version (#57, first half). Click it to open this repo in your browser. External links
cited in reports and answers now open in your default browser too.
Post-0.3.0 fixes riding along
- UI Automation no longer leaves Chromium/Electron apps hung. Disabling UIA text, changing any UIA setting, or
stopping capture now truly disconnects the accessibility client; a per-app circuit breaker backs a struggling app off
to OCR for 30 minutes; every UIA setting applies immediately. If an app (Chrome, Claude Desktop, and so on) is still
sluggish from before the upgrade, restart that app once: its sticky accessibility mode clears and won't recur after you
disable UIA or capture. - Flow overlay default hotkey is now Ctrl+Alt+Z (the old Ctrl+Alt+Space collided with Claude Desktop). Existing
installs migrate once; a custom chord is untouched; if you want the old chord, set it back in Settings and it sticks
now.
Upgrade notes
- No database migration: a v0.3.0 database opens as-is (schema_version 10). No new settings. Settings persisted with
the old overlay hotkey are migrated once (see above).
Full changelog: CHANGELOG-ARCHIVE.md section [0.3.1].
ScreenSearch v0.3.0 Subtraction & Flow
Removed (each deletes a decision you no longer have to make):
Click / scroll-stop / clipboard / typing-pause capture triggers the first two were the only users of a system-wide low-level mouse hook (WH_MOUSE_LL); the clipboard listener was a privacy-optics liability; typing-pause duplicated idle. Foreground + idle (plus the fallback interval, debounce, and rate ceiling) carry all the value.
The Beta model tier the only non-Apache license (NVIDIA OML) and only unproven hybrid architecture in the registry. Default/Quality remain, uniformly Apache-2.0. A persisted beta selection loads as Quality automatically.
The image-embedding lane dark-launched, flag-off, unexercised. The v8→v9 migration drops only the derived vectors; screenshots, text, and text embeddings are untouched.
Added: the Ctrl+Alt+Space Flow overlay (visible in single-digit milliseconds, capture-protected so it never appears in its own history), Where-was-i + Mark-this-moment (Ctrl+Alt+M, lands a frame even on a static screen; intentions live on the Deck, no badge counts), an opt-in localhost HTTP API (127.0.0.1-only, bearer token, SSE ask, JSON export that works with the API off), and screensearch-mcp.exe in the installer a stdio MCP server for Claude Desktop / Claude Code.
Full details in CHANGELOG-ARCHIVE.md §[0.3.0]. Unsigned NSIS installer attached; code-signing remains the known packaging follow-up.
What's Changed
- chore(specs): archive shipped 0.2.x history + close reachable gaps #43/#44 by @nicolasestrem in #60
- fix: full-resolution frames overflowed the vision context (tagging failed + slow) by @nicolasestrem in #61
- Download-resume hardening: truncated-.part corruption (#69) + cache re-check on lock retry by @nicolasestrem in #62
- Close gaps: cancel Inno installer (#26), single-instance focus, a11y keyboard/focus matrix (#42) by @nicolasestrem in #63
- fix(store): adaptive KNN escalation for time-windowed vector recall (#8) by @nicolasestrem in #66
- feat(store): degrade-to-text shrinks the DB too — merge purged spans to lines (#73a) by @nicolasestrem in #67
- perf(uia): batch per-node property reads via BuildUpdatedCache (#71) by @nicolasestrem in #68
- docs(specs): 0.3.0 arc specs contract (PR1, specs-only) by @nicolasestrem in #70
- feat(capture): trim event triggers to foreground + idle (0.3.0 PR2) by @nicolasestrem in #71
- feat(models): retire Beta tier — Default/Quality only (0.3.0 PR3) by @nicolasestrem in #72
- feat(store)!: remove the image-embedding lane (0.3.0 PR4) by @nicolasestrem in #73
- 0.3.0 PR5: Add Flow overlay by @nicolasestrem in #74
- 0.3.0 PR6: Where-was-I + Mark-this-moment (#75) by @nicolasestrem in #75
- 0.3.0 PR7: Local HTTP API + export by @nicolasestrem in #76
- 0.3.0 PR8: MCP server (screensearch-mcp) by @nicolasestrem in #77
- 0.3.0 PR9: integration audit + release (v0.3.0) by @nicolasestrem in #78
Full Changelog: v0.2.2...v0.3.0
ScreenSearch v0.2.2 Breathing Room
What's Changed
- docs: refresh README to 0.2.1 and remove stale status block by @nicolasestrem in #49
- fix(inference): recycle vision/answer sidecar at a committed-RAM ceiling by @nicolasestrem in #50
- Optimize ScanlineTimeline thumbnail lookup by @nicolasestrem in #51
- Ask: fail early on OCR context hydration errors by @nicolasestrem in #53
- Bump package and dependencies to version 0.2.2 by @nicolasestrem in #55
Full Changelog: v0.2.1...v0.2.2
ScreenSearch v0.2.1 Right on Cue
ScreenSearch v0.2.1 Right on Cue
ScreenSearch is a Windows-only, fully local desktop app that captures your screen, makes it
searchable by text and meaning, and answers questions about it entirely on-device. No cloud, no
account, no telemetry.
Right on Cue makes ScreenSearch feel more aware of the work happening in front of you: capture
can now react to real activity, text extraction can read the focused window more directly, and heavy
background enrichment can ease off when your machine is under pressure.
⚠️ Pre-release & unsigned. Early build for testing. The installer is not code-signed, so
Windows SmartScreen will warn on first launch click More info → Run anyway. Treat it as beta.
Install
- Download
ScreenSearch_0.2.1_x64-setup.exebelow. - Run it (SmartScreen → More info → Run anyway), then launch ScreenSearch.
First run what to expect
- Internet is required on first run. The app downloads its inference engine and local ML models
into its per-user app-data folder (%APPDATA%\app.screensearchv2c.desktop\). Downloads show
progress in-app and are resumable. - Model downloads use the faster parallel/chunked downloader introduced in v0.2.0 when the host
supports it, with single-stream download as a fallback. - Only one instance runs at a time if you launch it again, it focuses the existing window
instead of starting a second copy.
Requirements
- Windows 10/11 x64 with the WebView2 runtime.
- A Vulkan-capable GPU is recommended for fast local inference; a CPU fallback exists but is
slower. - ~50 GB free disk recommended for models and captured frames.
What’s in it
ScreenSearch now has an opt-in event-driven capture mode. Instead of relying only on timer-based
sampling, capture can fire on foreground/app changes, clipboard-change signals, idle/typing-pause
edges, clicks, and scroll-stop events. It stays privacy-conscious: no raw keystrokes, clipboard
contents, cursor coordinates, or scroll details are stored.
Text capture also gets a major upgrade: ScreenSearch can now read the target foreground window via
Windows UI Automation, then fall back to OCR when UIA is unavailable, too thin, too slow, or unsafe
to use. Moment details show whether a frame was read through UIA or OCR.
This release also adds an optional Performance throttle. When enabled, ScreenSearch watches
system pressure and backs off background enrichment under load: vision tagging and image embeddings
pause first, then text embedding narrows if pressure is sustained. Capture, OCR, and storage never
pause, so the app keeps recording while heavier AI work waits its turn.
And importantly: v0.2.1 fixes a UIA hang where Chromium/Electron apps like Chrome, Edge, and Claude
Desktop could become unresponsive while UI Automation walked very large pages. UIA now avoids
high-frequency scroll/click paths by default, skips shortly after recent input, limits backlog, and
uses a lighter control-view traversal.
Known limitations
- Unsigned installer → SmartScreen warning.
- Windows-only by design.
- First run still downloads several GB of local models.
- Event-driven capture is opt-in; timer capture remains the default.
- UIA may intentionally fall back to OCR during active scrolling/clicking or on complex windows.
- The Performance throttle is opt-in and may defer on-demand vision tagging while pressure is high.
- A deeper cached UIA traversal optimization remains deferred.
Full Changelog: v0.2.0...v0.2.1
ScreenSearch v0.2.0 Clear Signal
ScreenSearch v0.2.0 — Clear Signal
ScreenSearch is a Windows-only, fully local desktop app that captures your screen, makes it
searchable by text and meaning, and answers questions about it — entirely on-device. No cloud, no
account, no telemetry.
Clear Signal is the release where ScreenSearch gets much better at remembering what you were
actually working on — not just every toolbar, taskbar label, browser tab, desktop icon, or piece of
app chrome that happened to be visible.
⚠️ Pre-release & unsigned. Early build for testing. The installer is not code-signed, so
Windows SmartScreen will warn on first launch — click More info → Run anyway. Treat it as beta.
Install
- Download
ScreenSearch_0.2.0_x64-setup.exebelow. - Run it (SmartScreen → More info → Run anyway), then launch ScreenSearch.
First run — what to expect
- Internet is required on first run. The app downloads its inference engine and local ML models
into its per-user app-data folder (%APPDATA%\app.screensearchv2c.desktop\). Downloads show
progress in-app and are resumable. - Model downloads are much faster in 0.2.0. ScreenSearch now uses a parallel, chunked downloader
for range-capable model hosts, with resume support and integrity checks. Single-stream download
remains as a fallback. - Only one instance runs at a time — if you launch it again, it focuses the existing window
instead of starting a second copy.
Requirements
- Windows 10/11 x64 with the WebView2 runtime.
- A Vulkan-capable GPU is recommended for fast local inference; a CPU fallback exists but is
slower. - ~50 GB free disk recommended for models and captured frames.
What’s in it
The headline change is attention-first recall. ScreenSearch now preserves full raw OCR, but uses
a cleaner filtered text layer by default for Search, Ask, embeddings, and Reports. That means recall
is less likely to be dominated by static UI chrome like taskbars, sidebars, browser labels, desktop
icons, and ScreenSearch’s own navigation.
Recall also gains a new Reports mode: Daily, Weekly, and Custom on-device summaries with source
frames, progress, cancel, copy, and Markdown download. Weekly and longer reports use a coverage-first
map-reduce strategy so quiet days are not starved by busy ones.
Ask gets new prompt cards for common recall workflows: Day Recap, Standup Update,
Time Breakdown, Top of Mind, and AI Habits.
This release also includes important hardening:
- ScreenSearch no longer captures and indexes its own foreground window.
- Existing stale chrome is re-filtered during startup backfill.
- Privacy / Excluded Apps changes now apply immediately to a running capture loop.
- Ask source tiles now say Frames checked when they represent reviewed context rather than
claim-level citations.
Known limitations
- Unsigned installer → SmartScreen warning.
- Windows-only by design.
- First run still downloads several GB of local models.
- Some secondary-monitor / rect-unknown desktop chrome can still leak into default text search; raw
text recovery remains available via the include-app-chrome path. - Scheduled reports, event-driven capture, UIA text, and smart enrichment throttling are deferred.
Full Changelog: v0.1.0...0.2.0
ScreenSearch v0.1.0 First Light
ScreenSearch v0.1.0 — first public (pre-release) build
ScreenSearch is a Windows-only, fully local desktop app that captures your screen, makes it
searchable by text and meaning, and answers questions about it — entirely on-device. No cloud, no
account, no telemetry.
⚠️ Pre-release & unsigned. Early build for testing. The installer is not code-signed, so
Windows SmartScreen will warn on first launch — click More info → Run anyway. Treat it as beta.
Install
- Download
ScreenSearch_0.1.0_x64-setup.exebelow. - Run it (SmartScreen → More info → Run anyway), then launch ScreenSearch.
First run — what to expect
- Internet is required on first run. The app downloads its inference engine (the llama.cpp
llama-serverVulkan binary) and ML models (a vision model + an answer/reasoning model + the text
embedding model) — roughly 8–10 GB total — into its per-user app-data folder
(%APPDATA%\app.screensearchv2c.desktop\). Downloads show progress in-app and are resumable. - The download is single-stream, so the large (~5 GB) Quality vision model can take several
minutes — slower than parallel download tools. A faster parallel/chunked downloader is coming in
0.1.1. Just leave it running; it will finish. - Only one instance runs at a time — if you launch it again, it focuses the existing window
instead of starting a second copy (this also keeps the model download and your data safe).
Requirements
- Windows 10/11 x64 with the WebView2 runtime (ships with Windows 11; the installer fetches it
on Windows 10 if missing). - A Vulkan-capable GPU is recommended for fast inference; a CPU fallback exists but is slower.
- ~50 GB free disk recommended (models + captured frames accumulate over time).
What's in it
The full P0–P5 app: continuous screen capture with a diff gate + privacy controls, WinRT OCR,
in-process embeddings (hybrid text + semantic search), on-demand vision tagging and grounded "Ask"
answers with citations, and the Command-Deck UI (Recall, Timeline, Moments, Insights, Settings).
Known limitations
- Unsigned → SmartScreen warning (above). Code signing is a tracked follow-up.
- First-run model download is single-stream (a few minutes for the big model); parallel download lands
in 0.1.1. - Windows-only by design.
See CHANGELOG.md for the full list of changes.