🧠 Local Digital Twin — Enterprise-grade personal analytics with complete data privacy
🧠 Локальный Цифровой Двойник — Персональная аналитика корпоративного уровня с полной приватностью
Mnemosyne is an autonomous activity tracking system designed to be your Local Digital Twin. It captures, analyzes, and visualizes your entire digital workflow without sending a single byte to the cloud.
Think of it as a self-hosted Rewind.ai, but supercharged with Graph RAG (Retrieval-Augmented Generation), semantic search, and deep integration with Obsidian. It turns your raw activity logs into a queryable knowledge graph.
| Feature | Mnemosyne Core | Cloud Trackers (RescueTime, Rewind) |
|---|---|---|
| Data Sovereignty | 100% Local (Air-Gapped) | Cloud Servers (Privacy Risk) |
| Intelligence | Local LLM (DeepSeek/Llama) | Black-box Proprietary AI |
| Search | Graph RAG + Semantic | Keyword / Simple Metadata |
| Cost | Free (Open Source) | Monthly Subscription |
| Extensibility | Python/Go Source Code | Closed Ecosystem |
- 5Hz Polling: Captures window title, process name, and input intensity every 200ms.
- Efficient: Written in Go (Win32 API), consumes <0.1% CPU and <20MB RAM.
- Smart Idling: Automatically detects AFK and game modes to pause logging.
- Local VLM: Uses
MiniCPM-Vto visually analyze screenshots (OCR + Scene Description). - Intent Inference: Uses
DeepSeek R1to determine what you are doing (e.g., "Debugging Redis Cluster"). - Session Aggregation: Groups raw ticks into meaningful sessions (e.g., "Coding Session: 45 mins").
- Vector Search: Embeds every session description using
nomic-embed-textinto Redis Stack. - Knowledge Graph: Builds a topological graph of your activities using NetworkX.
- Queryable: Ask natural language questions like "What was I debugging last Friday?".
- Write-Behind Pattern: Redis acts as a high-speed buffer to protect your SSD from write amplification.
- Async Processing: Python workers process data in batches.
- Maintenance: Automated VACUUM and pruning scripts.
graph TD
subgraph "Tier 1: Capture (Go)"
Watcher[Watcher.exe] -->|5Hz Pushes| RedisStream[Redis Stream]
end
subgraph "Tier 2: Ingestion (Redis Stack)"
RedisStream -->|Buffer| RedisRAM[RAM Buffer]
RedisRAM -->|Persist| VectorStore[Vector Search]
end
subgraph "Tier 3: Cognition (Python)"
Brain[Brain Engine] -->|Pull Batch| RedisRAM
Brain -->|Inference| Ollama[Ollama LLM/VLM]
Brain -->|Index| VectorStore
Brain -->|Graph| NetworkX[Knowledge Graph]
end
subgraph "Tier 4: Storage"
Brain -->|Archive| SQLite[SQLite WAL]
NetworkX -->|Save| JSON[Knowledge Graph File]
end
- OS: Windows 10/11 (Linux/macOS coming soon)
- Hardware: NVIDIA GPU (8GB+ VRAM recommended for local AI)
- Software:
-
Clone the Repository
git clone https://github.com/vel5id/mnemosyne.git cd mnemosyne
-
Setup Python Environment
python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt
-
Build the Watcher (Go)
scripts\build_watcher.bat -
Launch Infrastructure (Redis Stack)
docker-compose up -d redis
-
Prepare AI Models
ollama pull minicpm-v # For Vision ollama pull deepseek-r1:1.5b # For Reasoning ollama pull nomic-embed-text # For RAG
-
Initialize Database
scripts\reset_db.bat # Warning: partial wipe if re-running
You need two terminal windows:
Terminal A (The Eyes): Watcher
scripts\run_watcher.batCaptures activity and pushes to Redis.
Terminal B (The Brain): Analysis Engine
scripts\brain_v4.batConsumes from Redis, runs AI analysis, builds sessions, and updates the Graph.
Use the CLI tools to interact with your data:
Semantic Search (RAG)
python scripts\query_rag.py "What project did I work on yesterday?"Find Related Concepts
python scripts\query_rag.py --related "Memory Leak"View Recent Sessions
python scripts\view_sessions.pyKeep your database healthy (Vacuum, Prune old logs):
scripts\maintain_db.batMnemosyne — это автономная система трекинга активности, ваш Локальный Цифровой Двойник. Она фиксирует, анализирует и визуализирует весь ваш цифровой рабочий процесс, не отправляя ни байта в облако.
Представьте себе self-hosted версию Rewind.ai, но с Graph RAG (семантическим поиском), локальными нейросетями и интеграцией с Obsidian. Она превращает сырые логи активности в базу знаний, которой можно задавать вопросы.
| Функция | Mnemosyne Core | Облачные трекеры (RescueTime, Rewind) |
|---|---|---|
| Суверенитет данных | 100% Локально (Air-Gap) | Облачные сервера (Риск утечки) |
| Интеллект | Локальные LLM (DeepSeek/Llama) | Закрытые проприетарные модели |
| Поиск | Graph RAG + Семантика | Ключевые слова / Метаданные |
| Цена | Бесплатно (Open Source) | Ежемесячная подписка |
| Гибкость | Исходный код (Python/Go) | Закрытая экосистема |
- Частота 5Hz: Опрос заголовка окна, процесса и активности ввода каждые 200мс.
- Эффективность: Написан на Go (Win32 API), потребляет <0.1% CPU и <20MB RAM.
- Умный Idle: Автоматически детектирует простой (AFK) и игровые режимы.
- Локальный VLM: Использует
MiniCPM-Vдля визуального анализа скриншотов (OCR + описание сцены). - Определение Намерений: Использует
DeepSeek R1для понимания сути действия (например, "Отладка Redis кластера"). - Агрегация Сессий: Группирует тики в осмысленные сессии (например, "Кодинг сессия: 45 мин").
- Векторный Поиск: Эмбеддинг описаний сессий через
nomic-embed-textв Redis Stack. - Граф Знаний: Строит топологический граф активностей через NetworkX.
- Запросы: Поддерживает вопросы на естественном языке, например "Что я дебажил в прошлую пятницу?".
- Write-Behind Pattern: Redis работает как скоростной буфер, защищая SSD от износа.
- Асинхронная обработка: Python-воркеры обрабатывают данные пачками.
- Обслуживание: Скрипты для автоматической очистки (VACUUM) и сжатия базы.
(См. диаграмму в английской секции)
Система состоит из трех слоев:
- Tier 1 (Сбор): Go-приложение считывает состояние Windows API и кидает в Redis Stream.
- Tier 2 (Обработка): Python-ядро забирает данные, запускает нейросети (Ollama), строит Граф.
- Tier 3 (Хранение): Redis (оперативная память/вектора) и SQLite (долговременный архив).
- ОС: Windows 10/11
- Железо: Видеокарта NVIDIA (рекомендуется 8GB+ VRAM)
- ПО: Docker, Go, Python, Ollama.
-
Клонирование репозитория
git clone https://github.com/vel5id/mnemosyne.git cd mnemosyne
-
Настройка Python
python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt
-
Сборка Watcher (Go)
scripts\build_watcher.bat -
Запуск Инфраструктуры (Redis)
docker-compose up -d redis
-
Загрузка Нейросетей
ollama pull minicpm-v # Зрение ollama pull deepseek-r1:1.5b # Мышление ollama pull nomic-embed-text # Память (RAG)
-
Инициализация Базы Данных
scripts\reset_db.bat
Вам понадобятся два окна терминала:
Терминал А (Глаза): Watcher
scripts\run_watcher.batТерминал Б (Мозг): Brain
scripts\brain_v4.batСемантический поиск (RAG)
python scripts\query_rag.py "Над каким проектом я работал вчера?"Поиск связей
python scripts\query_rag.py --related "Memory Leak"Просмотр сессий
python scripts\view_sessions.pyОчистка старых логов и оптимизация БД:
scripts\maintain_db.batmnemosyne/
├── cmd/watcher/ # Go Watcher entry point
├── internal/ # Go internal modules
│ ├── monitor/ # 5Hz polling loop
│ ├── storage/ # Redis + SQLite adapters
│ └── heuristics/ # Game/Idle detection
├── core/ # Python Brain modules
│ ├── aggregation/ # Session tracking logic
│ ├── cognition/ # LLM intent inference
│ ├── perception/ # VLM/OCR processing
│ ├── rag/ # LlamaIndex + NetworkX engine
│ └── dal/ # Database maintenance
├── scripts/ # Batch & Python utility scripts
├── docker/ # Docker configurations
└── db/ # SQL Schema definitions
Distributed under the MIT License. See LICENSE for more information.
Built with 🧠 by vel5id
