- Category
- AI Agents
- Rank
- No. 1355Tools index
- Pricing
- Open Source
- Type
- AGENT
- Builder
- hkuds
- GitHub
- 496 stars
- Date
About
Personal AI agent that learns from your screen and recall history to deliver context-aware responses.
What it does
CatchMe runs background recorders for windows, input, screenshots, clipboard, notifications, and related activity. It stores events locally, groups them into a day-to-action tree, and asks a language model to summarize and navigate that structure. Users explore the result through terminal queries, a web dashboard, agent skills, or MCP tools.
Why it's ranked here
The architecture is unusually coherent for personal activity recall. Capture, organization, summarization, and retrieval form a clear pipeline, while SQLite and tree traversal avoid a separate vector database. Multiple access surfaces make the stored history useful beyond the bundled dashboard. The main reservation is the sensitivity of the collected material and its dependence on a capable multimodal model.
What's good
Event-driven organization reacts to window changes and idle boundaries instead of relying only on scheduled processing. Summaries run asynchronously and cascade upward once child activity is ready. SQLite provides durable local event storage and full-text search, while the hierarchy supports broader questions across sessions and days. Call budgets and persisted token accounting give users practical control over model usage.
Tradeoffs
The recorder collects highly sensitive material, including keystrokes, screenshots, clipboard contents, and notifications. Local storage limits exposure, but cloud providers receive activity data when used for summarization. Fully offline operation still requires a compatible local multimodal model. Retrieval quality depends on generated summaries and tree navigation, and background summarization introduces ongoing compute or API cost.
How to use it well
CatchMe best suits developers, researchers, and heavy desktop users who repeatedly reconstruct recent work across applications. Run recording during focused sessions, use the web timeline for inspection, and let terminal or MCP queries supply context to an existing agent. Treat it as recall infrastructure, not as a replacement for backups, source control, or endpoint security.
Technical notes+
pyproject.toml defines a setuptools Python 3.11 package, the catchme console script, an optional mcp extra, and platform-specific macOS and Windows dependencies. catchme/run.py implements initialization, recording, web serving, and terminal retrieval commands. catchme/store.py uses one SQLite event table, WAL mode, indexes, an FTS5 virtual table, and synchronization triggers. catchme/organizer.py rebuilds or extends daily trees at activity boundaries, while catchme/summary_queue.py processes closed nodes through a priority queue and thread pool. catchme/web.py exposes Flask JSON and server-sent-event endpoints for search, timelines, trees, chat, configuration, summaries, and monitoring. catchme/mcp_server.py provides four stdio MCP tools for search, recorded-day listing, session detail, and raw tree access.
Observed
- License
- Apache-2.0
- Primary language
- Python 3.11 or newer
- Packaging
- Setuptools package with a catchme console script and an optional MCP extra
- Interfaces
- Python library, CLI, Flask web interface and JSON endpoints, server-sent events, and stdio MCP server
- Platform support
- README states macOS, Windows, and Linux; packaging includes native dependencies for macOS and Windows
- Storage
- Local SQLite storage with WAL mode and FTS5 full-text search
- Retrieval structure
- Hierarchical activity trees organized by day, session, app, location, and action
Read from README.md, pyproject.toml, catchme/run.py, catchme/web.py, catchme/store.py, catchme/utils.py, catchme/config.py, catchme/engine.py, catchme/__init__.py, catchme/__main__.py, catchme/recorder.py, catchme/organizer.py, catchme/mcp_server.py, catchme/summary_queue.py, catchme/services/llm.py.
What it can do
Learn user behavior patterns from screen activity
Screen recordings and user interactions → Behavioral patterns and usage insights
Recall specific information from user's historical activities
Query about past actions or content → Retrieved historical data and context
Provide context-aware responses based on current screen content
Current screen state and user query → Contextually relevant response or suggestion
Track and index user's digital activities over time
Continuous screen monitoring and app usage → Searchable activity history database
Generate personalized recommendations based on usage patterns
User behavior data and current context → Tailored suggestions and recommendations
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
