ScreenSearch changelog
What changed in each Windows release. The latest is v0.4.2, published October 19, 2026.
14.6 MB installer · The installer is not Authenticode-signed, so Windows SmartScreen may warn on a manual download (More info, then Run anyway). Installed apps verify every automatic update with their own signature.
v0.4.2Latestv0.4.2
Highlights
Weekly synthesis, weekly notes and project-note promotion (#137, #138, #139, #140, #141)
Turn a week of saved daily reports into cross-day memory, and keep the parts you care about in one project note.
- A weekly synthesis covers one complete ISO week and is built from that week's saved daily reports, never a fresh scan of raw captures. Statuses stay truthful: NO_DATA (including a fully covered week whose dailies are all NO_DATA), PARTIAL with the missing dates named, OK only with complete daily coverage, BLOCKED when the answer model is missing, FAILED on errors.
- Weekly notes are written to
ScreenSearch/Weekly/YYYY-Www.mdand listed inScreenSearch/Index.mdwith links to the daily notes they consumed. NO_DATA, blocked and failed weeks write no note; an edited weekly note is preserved and reported as a conflict. - Default-off weekly schedule with its own time and time zone. Run most recent complete week works while the schedule is off. After a restart the app catches up the four most recent due weeks, oldest first; older or failed scheduled weeks are listed as missed, never reported as covered.
- Promote selected decisions, open questions, next steps or activity from a saved daily or weekly report into one project note you create under
ScreenSearch/Projects/. Nothing is written until you confirm the preview; each promotion appends a dated block with its provenance and never rewrites existing lines. - Optional weekly Telegram digest under its own consent, off by default. The daily consent never authorizes weekly sends. The digest is built from the saved synthesis; no second model runs.
Memory API for external agents (#126, #127, #128, #129, #130)
The opt-in HTTP API (still off by default and loopback by default) gains read surfaces for agents that keep their own memory of your history.
GET /v1/framespages through a UTC time window in capture order with full raw and filtered text.GET /v1/coveragereports stored counts, retention policy and capture observations, and states unknowns explicitly instead of treating gaps as inactivity.GET /v1/reportsandGET /v1/reports/{run_id}return already saved daily and weekly reports, each labeled with itskind. Reads never generate, retry, schedule or deliver a report.- An independent read-only token (Settings → HTTP API) can read history but is refused with 403 for creating or resolving marks, capture requests and Ask. Upgrades start with no read token, and the existing token keeps its permissions.
- The bundled
screensearch-mcp.exeaddslist_frames,get_capture_coverage,list_reportsandget_report(13 tools; 10 with--read-only, which filters tools but is not authorization). It can target an explicitly configured remote HTTP or HTTPS API root with--api-urlorSCREENSEARCH_API_URL; it ignores proxy settings, refuses redirects and keeps certificate verification. The app's own listener still serves plain HTTP.
Security and dependency updates (#120, #121, #125)
- rustls 0.23.45 and rustls-webpki 0.103.15; patched UI build dependencies (brace-expansion, postcss-selector-parser, source-map-js).
- API status diagnostics now redact tokens.
- The CodeQL alert on the Windows Credential Manager read path, listed as known in v0.4.1, has been dismissed as a reviewed false positive.
Before you update
- One-way database upgrade (schema 12 → 13). The first launch of v0.4.2 migrates your database. There is no downgrade, so back up your ScreenSearch data folder first if you may want to return to v0.4.1.
- Note frontmatter now accepts only schema 1 (daily and selected-date notes) or 2 (weekly notes). Any other schema number, for example from a hand-edited note or a future build, is rejected as a file conflict (
FILE_CONFLICT) instead of being accepted. - The weekly schedule and the weekly Telegram digest are both off by default. Updating does not schedule, generate or send anything new.
- Updates are delivered automatically to v0.3.2+ installs: the app downloads in the background, verifies the signature, and installs only when you choose to restart.
- The installer is not Authenticode-signed, so SmartScreen may warn on a manual download (More info, then Run anyway). The updater's minisign signature is separate and verifies every automatic update.
- The MCP wrapper ships only inside the Windows installer. Standalone macOS and Linux wrapper archives are not published with this release; build the wrapper from source with
cargo build --locked -p mcp --release(seedocs/MCP.md). - Known: the weekly features and promotion have passed automated tests and the Windows CI and native test chain, but not yet a native interactive acceptance run (a real week in the installed app, Obsidian inspection, a promotion, a live weekly Telegram send). The new read-token controls in Settings have likewise not had a native interactive run.
What's Changed
- fix(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/nicolasestrem/screensearch/pull/120
- fix(deps): bump rustls from 0.23.40 to 0.23.43 in the cargo group across 1 directory by @dependabot[bot] in https://github.com/nicolasestrem/screensearch/pull/121
- fix(security): patch dependency alerts and record CodeQL triage by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/125
- docs: external-agent memory API contract and narrow remote-client boundary by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/126
- feat(mcp): read saved reports without generation by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/130
- feat(api): expose stored report lists and details by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/129
- feat(api): bounded memory evidence and read-only credentials by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/128
- feat(mcp): portable remote read-only memory client by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/127
- Add Claude Code GitHub Workflow by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/133
- Update README.md by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/132
- ci(claude): on-demand PR review + targeted spec reads (cost) by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/134
- fix(ci): never check out PR code in the on-demand Claude review job by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/135
- docs: propose F3 deeper-memory gate (weekly synthesis + accumulating project notes) by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/131
- docs(specs): approve F3 deeper-memory contract (02 §5i, 03 §8e) by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/136
- feat(memory): F3 G1 — report-run kind, 12->13 migration, weekly window, frontmatter v2 by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/137
- feat(memory): F3 G2 — weekly synthesis engine over saved dailies by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/138
- feat(memory): F3 G3+G4 — weekly note writer, index entries, project-note promotion by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/139
- feat(memory): F3 G5+G6 — weekly scheduler, catch-up and weekly Telegram digest by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/140
- fix(memory): F3 review hardening — NO_DATA weeks, frozen wire shape, writer/promotion/digest, UI and docs by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/141
- Release v0.4.2: version bump, notes, changelog and specs 05-08 archive sweep by @nicolasestrem in https://github.com/nicolasestrem/screensearch/pull/142
Full Changelog: https://github.com/nicolasestrem/screensearch/compare/v0.4.1...v0.4.2
v0.4.1v0.4.1
Highlights
Memory reports, date selection and Telegram digests (#123)
Turn captured activity into Markdown notes you can browse in Obsidian, with an optional Telegram digest.
- Pick a single date or an inclusive date range for a manual report, including today (a frozen cutoff, clearly marked PARTIAL). The previous-day shortcut and the daily schedule remain.
- Default-off daily schedule with an explicit time zone, DST handling and a seven-day restart catch-up. Reports are owned files in your chosen folder; your edits are preserved.
- Optional Telegram digests: bot token kept in Windows Credential Manager, per-chunk delivery receipts, bounded retries, and an explicit review step when delivery is uncertain. Empty windows (NO_DATA) never send a message.
- Empty model output after real captured evidence is reported as a failed generation instead of a blank "successful" note.
Opt-in network API (#122)
- The local HTTP API stays off by default and keeps bearer-token authentication.
- The bind address is now configurable (IPv4 or IPv6). It defaults to
127.0.0.1, including existing installs that already enabled the API, so upgrading never widens access. Choosing a non-loopback address makes your history reachable over plain HTTP by authenticated devices; the Settings panel explains the risk. - Hardened listener: Windows exclusive socket ownership, a 64-connection cap and a 30-second request-header deadline. The MCP wrapper and the inference sidecar remain loopback-only.
Before you update
- One-way database upgrade (schema 11 → 12). The first launch of v0.4.1 migrates your database. There is no downgrade, so back up your ScreenSearch data folder first if you may want to return to v0.4.0.
- Updates are delivered automatically to v0.3.2+ installs: the app downloads in the background, verifies the signature, and installs only when you choose to restart.
- The installer is not Authenticode-signed, so SmartScreen may warn on a manual download (More info, then Run anyway). The updater's minisign signature is separate and verifies every automatic update.
- Known: a CodeQL alert on the Windows Credential Manager read path is reviewed as a false positive and awaits maintainer dismissal.
What's Changed
- docs: credit prior art in a README Inspirations section by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/110
- docs: modernize and de-clutter the README by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/111
- chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/nicolasestrem/screensearch-v2c/pull/113
- chore(deps-dev): bump js-yaml from 4.2.0 to 4.3.0 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/nicolasestrem/screensearch-v2c/pull/114
- fix: harden production usage paths by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/115
- chore(deps): bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/nicolasestrem/screensearch-v2c/pull/116
- chore: remove unused UI code and dependency declarations by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/117
- chore(deps-dev): bump browserslist from 4.28.2 to 4.28.9 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/nicolasestrem/screensearch-v2c/pull/118
- chore(deps-dev): bump js-yaml from 4.3.1 to 4.3.2 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/nicolasestrem/screensearch-v2c/pull/119
- fix(deps): patch Quinn memory exhaustion and verify the Rust minimum by @dependabot[bot] in https://github.com/nicolasestrem/screensearch-v2c/pull/112
- Enable opt-in network API with persistent upgrade notice by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/122
- Release v0.4.1: version bump, notes, and auto-publish release workflow by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/124
New Contributors
- @dependabot[bot] made their first contribution in https://github.com/nicolasestrem/screensearch-v2c/pull/113
Full Changelog: https://github.com/nicolasestrem/screensearch-v2c/compare/v0.4.0...v0.4.1
v0.4.0ScreenSearch 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.
v0.3.3ScreenSearch v0.3.3 Thaw
No release notes were published for this version.
v0.3.2ScreenSearch 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 (https://github.com/nicolasestrem/screensearch-v2c/issues/56/https://github.com/nicolasestrem/screensearch-v2c/issues/57): 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 (https://github.com/nicolasestrem/screensearch-v2c/issues/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].
v0.3.1Pre-releaseScreenSearch 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].
v0.3.0Pre-releaseScreenSearch 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 https://github.com/nicolasestrem/screensearch-v2c/pull/60
- fix: full-resolution frames overflowed the vision context (tagging failed + slow) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/61
- Download-resume hardening: truncated-.part corruption (#69) + cache re-check on lock retry by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/62
- Close gaps: cancel Inno installer (#26), single-instance focus, a11y keyboard/focus matrix (#42) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/63
- fix(store): adaptive KNN escalation for time-windowed vector recall (#8) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/66
- feat(store): degrade-to-text shrinks the DB too — merge purged spans to lines (#73a) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/67
- perf(uia): batch per-node property reads via BuildUpdatedCache (#71) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/68
- docs(specs): 0.3.0 arc specs contract (PR1, specs-only) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/70
- feat(capture): trim event triggers to foreground + idle (0.3.0 PR2) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/71
- feat(models): retire Beta tier — Default/Quality only (0.3.0 PR3) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/72
- feat(store)!: remove the image-embedding lane (0.3.0 PR4) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/73
- 0.3.0 PR5: Add Flow overlay by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/74
- 0.3.0 PR6: Where-was-I + Mark-this-moment (#75) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/75
- 0.3.0 PR7: Local HTTP API + export by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/76
- 0.3.0 PR8: MCP server (screensearch-mcp) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/77
- 0.3.0 PR9: integration audit + release (v0.3.0) by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/78
Full Changelog: https://github.com/nicolasestrem/screensearch-v2c/compare/v0.2.2...v0.3.0
v0.2.2Pre-releaseScreenSearch v0.2.2 Breathing Room
What's Changed
- docs: refresh README to 0.2.1 and remove stale status block by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/49
- fix(inference): recycle vision/answer sidecar at a committed-RAM ceiling by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/50
- Optimize ScanlineTimeline thumbnail lookup by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/51
- Ask: fail early on OCR context hydration errors by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/53
- Bump package and dependencies to version 0.2.2 by @nicolasestrem in https://github.com/nicolasestrem/screensearch-v2c/pull/55
Full Changelog: https://github.com/nicolasestrem/screensearch-v2c/compare/v0.2.1...v0.2.2
v0.2.1Pre-releaseScreenSearch 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: https://github.com/nicolasestrem/screensearch-v2c/compare/v0.2.0...v0.2.1
v0.2.0Pre-releaseScreenSearch 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: https://github.com/nicolasestrem/screensearch-v2c/compare/v0.1.0...0.2.0
v0.1.0Pre-releaseScreenSearch 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.