Skip to content
fx-blog

A Spider Crawls Over My Screen and Remembers What It Read

Screen Spider is a Windows screen capture app: a hotkey reads the screen with on-device OCR, a spider walks the exact lines it read, only that text goes to Claude, and each read becomes a searchable note. Windows on the blocklist are never captured.

Harry4 min readIntermediate
  • Verification
  • Value
MarkdownSave

Key takeaways

  • A normal read sends Claude only the text Windows' on-device OCR found; a deep read, chosen per read, sends the screenshot.
  • The spider walks the exact line boxes the OCR returned, the same text that is sent, so you see what was read.
  • A window whose title matches the blocklist, such as Bitwarden or 1Password, is skipped before any capture.
  • Search ignores Vietnamese accents; the app folds đ to d itself, because SQLite's tokenizer treats it as its own letter.
  • Captures are stored unencrypted on the PC, and claude.ai subscription sign-in is left out on purpose.
Contents

TL;DR Screenshots pile up where nobody searches them, and a tool that sends your screen to an AI sends everything on it, password manager included. Screen Spider is a Windows screen capture app that reads the screen with the PC's own OCR, walks a spider along the exact lines it read, sends only that text to Claude, and keeps a note you can search. A window on the blocklist is never captured.

Do this: before you let any tool read your screen, find out what text leaves the PC; with Screen Spider, press Ctrl+Alt+S and watch the spider walk it.

Part 1 ended on a question: when an AI reads input I don't control, like my screen, what may leave the PC, and how would you know? Screen Spider answers with a spider.

Bitwarden is in front when you press Ctrl+Alt+S. Nothing is captured. A notification says: Skipped: the active window matches the blocklist ("bitwarden"). Press it on anything else, and a small red spider drops onto the screen and walks along every line of text.

  1. I Built a Lottery App That Refuses to Predict the Jackpot
  2. A Spider Crawls Over My Screen and Remembers What It Read (you are here)
  3. An AI Meeting Assistant That Never Hears the Audio
  4. One Skill Folder That Works in Every Coding Agent
  5. An LLM Proxy That Retries a 429 Before Your Client Sees It

The spider walks what the AI will read

That walk is the honesty line made visible. A normal read sends only the text the PC's own OCR found, and the spider shows you that text, line by line.

How Screen Spider reads a screen: blocklist check, on-device OCR, the spider crawls the text, Claude writes a title, summary and facts, and a local SQLite log stores them

  1. Blocklist. The active window's title and program are matched against 1Password, Bitwarden, KeePass, LastPass, Credential Manager and "password". A match ends the read.
  2. OCR on the PC. Windows' built-in OCR returns each line with its box.
  3. Crawl and summarise. The spider walks those boxes while the same text goes to Claude, which returns a title, a summary and facts.
  4. Store. SQLite, with a full-text index.

Ctrl+Alt+D is the other choice: a deep read sends the screenshot itself, for charts and images.

A note you can find and ask about

Each read becomes a card. Facts copy with a click.

The captures window with sample data: an inbox of five captures, the Release checklist for v0.3 open with four summary bullets and three copyable facts, and the chat pane

Ask a question, and it searches up to eight matching captures plus the three latest, then answers with citations you can click.

The Ask pane: "When is the release freeze?" answered with Friday 17 and tag v0.3.0, citing captures #42 and #40

The letter that search skipped

Searching mat khau finds mật khẩu, because the index strips accents. One letter slipped through. SQLite's tokenizer treats đ as its own letter, so hoa don could not find hoá đơn. The fix folds it on both sides:

jssrc/store.js
// The unicode61 tokenizer strips combining accents but treats đ (U+0111) as its own letter, so
// "don" never found "đơn". Fold it to d on both sides: in what is indexed and in what is searched.
const fold = (s) => String(s || '').replace(/đ/g, 'd').replace(/Đ/g, 'D');

What it will not do

Sign in with a claude.ai subscription? Setup does not offer it, on purpose. In the README's words, Anthropic only permits those logins in Claude Code and claude.ai, and using their tokens in another app "can get the account disabled". You sign in with a Claude Console account instead, billed as API usage.

Try it

Try it
git clone https://gitlab.com/agentic-fx/screen-spider.git
cd screen-spider
npm install
npm start

Setup opens by itself on first start and asks how to reach Claude. Then press the key and watch: the spider walks the text that leaves the PC, and nothing else.

A screen holds still, and you press the key when you are ready. A meeting doesn't. The question is spoken once, the speaker waits, and the honesty line now has to cover audio and the people on the call. Part 3, An AI Meeting Assistant That Never Hears the Audio, answers without ever touching the sound.

Read this with your AI

textPaste into your AI
Read the post "A Spider Crawls Over My Screen and Remembers What It Read".
1. List what leaves my PC in a normal read and in a deep read.
2. Ask me 2 questions to check I understood; wait, then correct me.
3. Suggest one way to add encryption at rest, and its cost.

FAQ

Does Screen Spider send screenshots to the cloud?

A normal read sends only the text found by on-device OCR. A deep read sends the screenshot. Everything is stored on the PC, unencrypted.

Can I use my Claude subscription with it?

No. You sign in with a Claude Console account, billed as API usage. The README explains that Anthropic only permits subscription logins in Claude Code and claude.ai.

Sources

  1. Screen Spider on GitLab
  2. SQLite FTS5 full-text search

Was this useful?

Only you and the owner see your answer and rating. Send private feedback

Enjoyed it? Support fx-blog with a coffee.

Comments

Oldest first

No comments yet. Start the conversation.

You sign in first; what you typed stays here. · 0 / 2,000