Skip to content

Releases: pkmdev-sec/screenmind

ScreenMind v2.1.0 — The Stability Patch

03 Mar 13:57
ae7d2f8

Choose a tag to compare

What's in this release

This one's about reliability. If you've been running ScreenMind from a development build, SPM debug session, or Conductor workspace, you may have hit mysterious crashes that vanished when you launched the .app normally. That's fixed now.

The bugs we squashed

The self-inspection crash — ScreenMind's pipeline would occasionally try to read its own accessibility tree (when you clicked on ScreenMind's own menu bar or settings). Since SwiftUI accessibility queries must happen on the MainActor, and the pipeline runs on a background actor, this caused a deadlock → EXC_BREAKPOINT → instant crash. Now it detects its own PID and skips itself.

The bare binary crash — When running without an app bundle (like during swift run, test suites, or in Conductor), calling UNUserNotificationCenter.current() throws an Objective-C exception that Swift can't catch. This killed the entire process before any error handling could kick in. Now there's a single notificationCenter computed property that safely returns nil when there's no bundle.

The "why isn't it filtering itself?" bug — The pipeline was supposed to skip frames from ScreenMind's own windows, but the check compared bundle identifiers. In bare binary mode, Bundle.main.bundleIdentifier is nil, so the comparison always failed. Switched to PID comparison, which works everywhere.

What else changed

  • 14 new tests covering all three crash paths (299 total, all passing)
  • NotificationManager now logs differently for "expected bare binary" (warning) vs "broken .app bundle" (error) — makes debugging way easier
  • Build number bumped to 22

Install

  1. Download ScreenMind.dmg below
  2. Drag to Applications (replace existing if upgrading)
  3. Launch — your settings and permissions carry over

Or build from source:

git clone https://github.com/pkmdev-sec/screenmind.git
cd screenmind && ./scripts/build-dmg.sh

ScreenMind v2.0.0 — The Everything Release

01 Mar 22:34

Choose a tag to compare

What's New in v2.0.0

This is a major release with 6 new feature phases, bringing ScreenMind from MVP to a fully-featured, privacy-first screen memory tool.

Phase 1: UX & Discoverability

  • Visual Timeline — Browse captures in gallery or list view with date/category filtering
  • Quick Search — Search notes directly from the menu bar popover
  • Enhanced Settings — Vault validation, disk usage stats, restore defaults
  • Improved Onboarding — 6-step wizard with API key testing and vault validation

Phase 2: Multi-Provider AI & Export Flexibility

  • 5 AI Providers — Claude, OpenAI, Ollama (offline), Gemini, Custom endpoints
  • 4 Export Formats — Obsidian Markdown, JSON, Flat Markdown, Webhook
  • Webhook SSRF Protection — Blocks private IPs and cloud metadata endpoints

Phase 3: Privacy & Security Hardening

  • Content Redaction — Auto-strips credit cards, SSNs, API keys, passwords before AI
  • Custom Redaction Patterns — User-defined regex patterns
  • Skip Rules — Text/app/window-based content filtering
  • Screenshot Encryption — AES-256-GCM with macOS Keychain
  • Audit Logger — Full CSV trail of all pipeline actions

Phase 4: Performance & Resource Monitoring

  • Performance Dashboard — Live CPU, RAM, battery gauges
  • Pipeline Stats — Frames, OCR, notes, notes/hour, processing times
  • OCR Caching — LRU cache with 24h TTL
  • Storage Quota — Auto-cleanup at 1GB

Phase 5: Innovation

  • Multi-Display — Captures from display with active window
  • Manual CaptureCmd+Opt+Shift+C for instant screenshots
  • Smart Tags — AI learns tag patterns from your note history

Phase 6: Developer Tools

  • CLI Tool (screenmind-cli) — Search, list, export, stats from terminal
  • REST API (localhost:9876) — Query notes from Alfred, Raycast, Shortcuts

Bug Fixes

  • Fixed repeated Screen Recording permission popup (stable code signing)
  • Fixed windows opening behind current app
  • Fixed low battery blocking all captures
  • Fixed capture intervals not reading user settings
  • Fixed Settings tab bar collapsing into dropdown

UI Polish

  • 33 UI fixes across 15 files (native materials, hover states, animations)
  • macOS-native translucency and blur effects
  • Animated status indicator, copy buttons, progress animations

Installation

  1. Download ScreenMind.dmg below
  2. Drag to Applications
  3. Grant Screen Recording permission
  4. Add your AI provider key in Settings > AI

ScreenMind v1.0.0 — Your AI Screen Memory

01 Mar 02:15

Choose a tag to compare

ScreenMind v1.0.0 — Initial Release

Your AI-powered second brain that watches your screen so you don't have to remember everything.

What's Inside

  • Smart 7-stage pipeline: Screen capture → change detection → OCR → content dedup → AI analysis → storage → Obsidian export
  • Claude AI-powered notes: Generates structured, actionable notes with titles, summaries, key details, tags, and Obsidian wiki-links
  • Aggressive deduplication: 5-layer defense including perceptual image hashing and Jaccard text similarity — no duplicate spam
  • Obsidian integration: Auto-exports Markdown notes to your vault with daily folders and daily summaries
  • Privacy first: Everything runs locally. Your screen data never leaves your Mac.
  • Battery aware: Automatically pauses on low battery to preserve power
  • Global shortcuts: ⌘⇧N toggle monitoring, ⌘⇧P pause/resume, ⌘⇧S browse notes
  • Spotlight indexed: Find your notes from anywhere on your Mac

Installation

  1. Download ScreenMind-v1.0.0-macOS.dmg below
  2. Open the DMG and drag ScreenMind.app to Applications
  3. Launch — grant Screen Recording permission when prompted
  4. Add your Anthropic API key in Settings
  5. Done! ScreenMind starts watching and noting automatically.

Requirements

  • macOS 14.0 (Sonoma) or later
  • Anthropic API key (get one here)

Built with frustration about forgetting things, and love for the Mac.