Your Browser History Is a Dataset: Build a Local, Private Bookmark Brain with a Local LLM
Описание и применение
Система локального индекса истории браузера, которая обрабатывает, очищает, при необходимости обогащает, встраивает и извлекает данные, обеспечивая приватный поиск по смыслу без передачи данных внешним сервисам.
Задача
Bookmarks and history are hard to retrieve meaningfully; users need a private, semantic search over their own browsing data without exposing it to external services.
Результат
A private, semantic bookmark system that indexes a user’s own browsing history locally, avoiding any data leakage to external services, and providing meaningful search results based on meaning rather than exact title matches.
Рабочий процесс
- Copy the History SQLite file to a temporary location to avoid lock contention.
- Run an ingest script that imports new visits incrementally, tracking a watermark to avoid duplicates.
- Clean the data: strip tracking parameters, remove noise URLs, and apply a denylist to filter sensitive domains before embedding.
- Optionally enrich: fetch page text for each URL and store a short summary, marking failures explicitly.
- Embed the cleaned (and enriched) data locally using a local embedding model (e.g., Ollama), storing one vector per URL in a local vector store and recording the model version.
- Retrieve: embed a user query with the same model, find nearest neighbours, rerank using recency, visit count, and transition type, and present a list of titles with links and source labels.
- Optionally generate a one‑line summary per result using the local LLM, ensuring every claim links to a clickable URL.
Доказательства
Chromium-based browsers (Chrome, Edge, Brave, and others) store history in a SQLite database file called History.
Chrome locks the file while it runs. Never query the live database in place. Copy it first, then query the copy.
The pipeline is five stages: ingest, clean, enrich, embed, retrieve.
Denylist before embedding, not after. Banking and payment domains, health portals, webmail, password‑reset and one‑time‑code pages, and any URL containing tokens never reach the embedder.
- Дата записи: 2026-11-01T03:28:47.750Z