pensieve  by arkohut

Passive recording project for complete data control

created 1 year ago
1,289 stars

Top 31.6% on sourcepulse

GitHubView on GitHub
Project Summary

Pensieve is a privacy-focused, open-source passive recording tool that automatically captures screenshots, indexes them, and provides a local web interface for retrieval. It targets users who want complete control over their personal data, offering an alternative to cloud-based solutions like Rewind and Windows Recall.

How It Works

Pensieve captures screenshots at a configurable interval, processing them using OCR and optional multimodal models (via Ollama) for text and visual content extraction. It then generates embeddings for semantic search and stores all data locally. An intelligent idle processing strategy and sampling mechanism aim to balance comprehensive indexing with system performance.

Quick Start & Requirements

  • Install: pip install memos
  • Requirements: Python 3.x, macOS or Windows (Linux in development). Screen recording permission required on macOS.
  • PostgreSQL support: pip install memos[postgresql] requires PostgreSQL with pgvector extension.
  • Configuration: memos init, memos enable, memos start.
  • Docs: https://github.com/arkohut/pensieve

Highlighted Details

  • Local-first data storage and processing for enhanced privacy.
  • Supports full-text and vector search.
  • Integrates with Ollama for multimodal AI capabilities (visual search).
  • Offers PostgreSQL support with pgvector for improved performance with large datasets.
  • Features a configuration management UI (v0.27.0) for easier setup.

Maintenance & Community

  • Active development with regular version updates (e.g., v0.27.0, v0.26.0, v0.25.4).
  • Project is open-source, encouraging community contributions.

Licensing & Compatibility

  • License: Not explicitly stated in the README, but the open-source nature suggests permissive licensing. Code is available for review.

Limitations & Caveats

  • Linux support is currently in development.
  • Performance may be impacted on systems without dedicated GPUs, especially when using VLM features.
  • The sqlite3 library's enable_load_extension support can be inconsistent across Python environments, potentially requiring environment management like Conda.
Health Check
Last commit

5 days ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
4
Star History
49 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems) and Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind).

LightRAG by HKUDS

1.0%
19k
RAG framework for fast, simple retrieval-augmented generation
created 10 months ago
updated 1 day ago
Feedback? Help us improve.