πŸ“ˆ GH Trending Explorer 🎲 Surprise me

← all repos

allenv0 / SCM

git clone https://github.com/allenv0/SCM.git

Multimodal memory agent on macOS

+2
stars, 24h Β· #5,706
+~14
stars, 7 days Β· #6,448
+497
stars, 30 days Β· #1,067
502
β˜… total Β· +3% this week
38
forks Β· 1 open issues

Star history (as recorded here)

2026-10-20 Β· 495 β˜… 2026-10-22 Β· 502 β˜…
LanguageTypeScript
LicenseMIT
Created2026-10-03 (19d ago)
Last push1d ago
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
# SCM β€” Screen Memories
 Deep AI search for every photo and every frame of video in any folder on macOS.
 Local-first β€” no accounts, no cloud, no uploads. Inference runs on your Mac.
**What makes it different**
- **Search like you think** β€” describe a memory in plain language; a local
 vision model does the rest.
- **Video, down to the moment** β€” scenes are segmented and embedded, so you
 land on the shot, not just the file.
- **Text and dialogue too** β€” OCR over visible text; exact spoken-line search
 via Whisper, each as its own mode.
- **Your tabs, your prompts** β€” save any query as a tab; Screenshots and
 Email tabs are toggleable.
- **Self-maintaining library** β€” watched folders auto-import, content hashes
 dedupe renames, and model switches re-embed in the background without
 blocking search.
- **Truly private** β€” your media never leaves the machine. Weights download
 once; everything after that is offline.
## Five ways to search
| Mode | Finds |
| ------------------- | ----------------------------------------------------------------------------------------- |
| **Files** | Whole photos/videos by meaning β€” vision rank with filename and phrase boosts |
| **Scenes** | Moments inside video β€” search a shot, jump to its timecode |
| **OCR** | Text visible in images and frames, matched literally (Tesseract; eng + 35 language toggles) |
| **Dialogue** | Exact spoken words in videos (Whisper), tiered exactness |
| **LLMs** _(opt-in)_ | Local chat over the dialogue, OCR, and filenames your Mac already extracted β€” cited answers |
---
## Requirements
- macOS (packaged with electron-builder; menu-bar/tray features are
 macOS-only)
- Bun β€” the project uses `bun` as package manager and
 runner
- Node modules installed: `bun install`
- First use of a model downloads its weights (~435MB for the default CLIP);
 after that, fully offline.
## Download
The easiest install is via Homebrew (Apple Silicon, macOS 12+). The tap's
cask clears the macOS quarantine flag automatically on every install and
upgrade, so the app launches with no manual Gatekeeper steps:
 [code] 
Upgrades keep the same behavior:
 [code] 
The tap lives at
allenv0/homebrew-scm.
## Development
 [code] 
## Building the app package (DMG / ZIP)
 [code] 
This runs two steps in sequence:
1. **`vite build`** β€” compiles the React renderer into `dist/` (picks up all
 changes under `src/`).
2. **`electron-builder --mac`** β€” packages the app. It bundles the fresh
 `dist/` bundle together with `main.js`, `preload.js`, `main-lib/`, and
 `indexer/` (the file list is configured under `build.files` in
 `package.json`), then produces the installers.
**Output:** the installers land in `dist-app/` (see `build.directories.output`
in `package.json`) β€” look for `SCM-0.2.4.dmg` and `SCM-0.2.4.zip`.
---
## Features
### Files
Typing starts an instant filename-keyword pre-pass, then the vision model
takes over: results are scored by cosine similarity against image
embeddings, with gated phrase and filename boosts, an