Four models read every frame Harness sees. CLIP embeds it. PaddleOCR pulls the text. A dense-text model embeds that. A reranker sorts results when you search. None of them bill me. They run in the tab, on your machine.
That's the cost structure. That's the strategy.
Screen capture and a MAD gate decide which frames survive. CLIP (clip-vit-base-patch16) for image and text embedding. PaddleOCR for text, same-origin, because CSP blocks CDNs. bge-base-en-v1.5 at eight-bit for memory embeddings. A 23MB ms-marco-MiniLM-L-6-v2 reranker. Whisper for tab audio. LFM2.5, a 2.6B quantized to Q4_K_M, resident at 1.2GB, writing condensed conversation context. Postgres as PGlite for the memory store in the browser. Watchers compile to on-device predicates, so "tell me when I get outbid" costs nothing while it waits.
Look at a screen. Remember it. Search it. Keep watching. Those verbs run constantly and cost me nothing. Free tier is free. Your usage doesn't move my bill.
You pay in RAM, battery, and a 1.7GB download. On an M2 Pro the 2.6B prefills at 110-140 tok/s and decodes at 20-35. Below a measured floor, interactive roles stand down and only background work stays up.






