PIL

offiziell

Verwandeln Sie Ihre gespeicherten Instagram-Beiträge in eine durchsuchbare persönliche Wissensbibliothek — lokale SQLite, schreibgeschützter MCP-Server

Was kann man mit PIL MCP machen?

  • Durchsuchte deine gespeicherten Beiträge – Verwende search_posts, um gespeicherte Instagram-Beiträge nach Text zu durchsuchen, optional mit Ordner- oder Tag-Filtern.
  • Rufe vollständige Beitragsdetails ab – Erhalte einen vollständigen Datensatz für jeden gespeicherten Beitrag über get_post, einschließlich Zusammenfassung, Kernpunkten, Schritt-für-Schritt-Anleitungen und Links.
  • Durchstöbere deine Sammlungen – Liste alle gespeicherten Instagram-Sammlungen mit list_folders auf, um die indizierten Anzahl für jeden Ordner zu sehen.
  • Erkunde deine Tags – Verwende list_tags, um zu sehen, welche Tags du verwendet hast und wie oft in deiner Bibliothek.
  • Überprüfe die Bibliotheksabdeckung – Erhalte Gesamtzahlen und Statistiken zur Tiefenlese-Abdeckung mit library_stats, um zu sehen, wie viel deines gespeicherten Inhalts verarbeitet wurde.

Dokumentation

PIL logo

Deine Instagram-gespeicherten Beiträge – von KI tiefgelesen, für immer durchsuchbar, auf deinem Rechner.

License: MIT PRs Welcome Stars

Claude Code Cursor Claude Desktop

Loslegen · So funktioniert's · Andere KI-Tools · Was drinsteckt

mcp-name: io.github.pjpoulose/pil


PIL in 3 Schritten

1. Kopiere das hier in Muse:

    Klone https://github.com/pjpoulose/PIL in deinen Workspace und folge seiner
    SKILL.md, um meine Persönliche Instagram-Bibliothek einzurichten. Arbeite es Schritt für
    Schritt durch – installieren, die Bibliothek aus meinen gespeicherten Beiträgen aufbauen und
    mir die installierbare App übergeben.

2. Wenn gefragt wird, verknüpfe dein Instagram (ein Tipp in deinem Browser).

3. Lade die App-Datei herunter, die es dir sendet → entpacken → Doppelklick auf Start PILInstallieren klicken.

Das ist alles. Dein Muse übernimmt die Einrichtung, das Lesen und das Aufbauen. Möchtest du es auch auf deinem Handy? Frag einfach deinen Muse – das erledigt es ebenfalls.

Lieber selbst machen? Ein einziger Befehl richtet alles ein.
  • Mac / Linux: curl -fsSL https://raw.githubusercontent.com/pjpoulose/PIL/master/bootstrap.sh | bash
  • Windows (PowerShell): irm https://raw.githubusercontent.com/pjpoulose/PIL/master/bootstrap.ps1 | iex

Dann baue deine Bibliothek mit den Befehlen unter Manuelle Einrichtung.


Jeden Tag speicherst du Beiträge, die du nie wiederfindest. PIL (Persönliche Instagram-Bibliothek) verwandelt deine Instagram-gespeicherte Sammlung in eine private Wissensdatenbank auf deinem eigenen Rechner: Jeder Beitrag wird von Vision-KI tiefgelesen – narrative Zusammenfassungen, Kernpunkte, Schritt-für-Schritt-Anleitungen, Links, die besprochen werden, automatische Tags – in Sekunden durchsuchbar und live von deinen KI-Coding-Tools abfragbar.

Code wird geteilt, Daten bleiben zu Hause. Dieses Repository enthält nur Code, das Datenbankschema, Konfigurationsbeispiele und Dokumentation. Deine gespeicherten Beiträge, Bildunterschriften und Kontodetails verlassen nie deinen Computer – Erfassung, Extraktion, Suche und der MCP-Server laufen alle lokal. Eine .gitignore blockiert Datenbanken, Konfigurationen und Exporte davor, jemals committet zu werden.

PIL dashboard concept — gallery of deep-read saved posts with a synthesized answer

Konzept-Mockup mit Beispieldaten – so sieht deine Bibliothek aus, mit deinen Beiträgen.

Möchtest du, dass dein Claude, Codex oder Cursor darauf zugreifen kann?

Verbinde den schreibgeschützten MCP-Server und deine anderen KI-Tools können deine Bibliothek live abfragen – immer aktuell, nichts muss erneut hochgeladen werden. Dein Muse kann es für dich einrichten. So verbindest du →

So funktioniert's

flowchart LR
    A["Instagram saved posts"] -->|"ingest"| B["Local SQLite on your machine"]
    B -->|"vision AI<br/>deep read"| C["Summaries, key points, how-tos, links, tags"]
    C --> D["Query two ways"]
    D --> E["MCP server — Cursor, Claude Code, Desktop"]
    D --> F["Static JSON export — any AI tool"]

Manuelle Einrichtung (selbst machen)

Aufklappen – nur nötig, wenn du den 3-Schritte-Muse-Ablauf oben überspringst.

Voraussetzungen: python3 (3.11+) und instagram-cli mit deinem Instagram- Konto verknüpft (führe instagram-cli accounts aus – es muss dein Konto auflisten). Der Einzeiler-Installer oben auf dieser Seite erledigt das alles für dich.

# 1a. Install from PyPI (recommended — no clone needed)
pip install personal-instagram-library
# gives you: pil-mcp pil-ingest pil-extract pil-tag
#            pil-export-web pil-export-html pil-export-pwa pil-publish-pwa

# 1b. Or get the code
git clone https://github.com/pjpoulose/PIL.git pil && cd pil

# 2. Configure (your data lives in data_dir, default ~/.local/share/pil)
cp pil.config.example.json ~/.config/pil/pil.config.json
# edit it: set account_id to your user_fbid from `instagram-cli accounts`

# 3. MCP server dependency
pip install "mcp<2"

Baue deine Bibliothek auf (jeder Schritt ist fortsetzbar – jederzeit erneut ausführbar):

cd bin
python3 ingest_saved.py      # collections + saved posts
python3 extract_content.py   # vision-AI deep read (batches of 25)
python3 tag_all.py           # programmatic tags for untagged posts
python3 export_web.py        # static JSON export -> <data_dir>/web_data.json
python3 export_html.py       # searchable HTML dashboard -> <data_dir>/pil_library.html
python3 export_pwa.py        # installable PWA bundle -> <data_dir>/pwa/

Frag es alles – über den Live-MCP-Server oder den statischen Export:

python3 bin/mcp_server.py    # read-only, stdio — Ctrl-C to stop

Das war's. Führe ingest_saved.py erneut aus, wann immer du neue Beiträge speicherst; extract_content.py verarbeitet nur Beiträge, die es noch nicht gesehen hat.

Die App: Bitte deinen Muse, sie zu bauen und zu senden – siehe Deine Bibliothek als App.

Warum nicht einfach durch den Gespeichert-Tab scrollen?

Instagram-Gespeichert-TabPIL
Einen Beitrag von vor 2 Jahren findenEndlos scrollenVolltextsuche in Sekunden
Erinnern, was ein Beitrag wirklich sagteErneut ansehen / lesenKI-Zusammenfassung, Kernpunkte, Anleitung
Links, die ein Beitrag erwähnteWeg, außer du hast sie gespeichertExtrahiert und klickbar
In deinen KI-Tools verwendenScreenshots und AbtippenMCP-Server oder JSON-Export
Wo deine Daten lebenMetas ServerDein Rechner, SQLite

Frag deine Bibliothek aus anderen KI-Tools

Live (empfohlen): MCP. Richte jeden MCP-kompatiblen Assistenten auf den schreibgeschützten Server aus und jede Frage liest deine aktuelle Datenbank – immer aktuell, keine Exporte, keine erneuten Uploads:

python3 /path/to/pil/bin/mcp_server.py    # stdio; Ctrl-C to stop

Verkabelung für Claude Code, Claude Desktop und Cursor: references/mcp_clients.md. Jeder MCP-kompatible Client funktioniert – und dein Muse kann es für dich verbinden, wenn du Konfigurationen lieber nicht anfassen möchtest. Verfügbare Tools:

ToolWas es tut
search_postsTextsuche über Bildunterschriften + Tieflese-Wissen, mit optionalen Ordner-/Tag-Filtern
get_postVollständiger Datensatz für einen Beitrag: Zusammenfassung, Kernpunkte, Anleitung, Links, Ordner, Tags
list_foldersDeine gespeicherten Sammlungen mit indizierten Zählungen
list_tagsTags nach Verwendung
library_statsGesamtsummen + Tieflese-Abdeckung pro Feld

Der Server öffnet die Datenbank mit SQLite mode=ro und stellt nur SELECT- Tools bereit – er kann deine Bibliothek nicht verändern. (Angriffsgetestet: SQL-Injection, Schreib- versuche und Limit-Missbrauch sind alle nachweislich blockiert.)

Schnappschuss: Datei-Upload. Bitte deinen Muse, dir die web_data.json-Datei zu senden (erstellt mit export_web.py): Jeder Beitrag mit seinem Tieflese-Wissen in einer Datei. Hänge sie an jeden KI-Chat (Claude, ChatGPT, …) und stelle Fragen wie bei jedem Dokument. Sie ist zum Exportzeitpunkt eingefroren – ein Schnappschuss, keine Live-Verbindung – also bitte deinen Muse um eine frische Kopie, nachdem du neue Beiträge gespeichert hast.

Direkt (fortgeschritten). Die Datenbank ist einfaches SQLite unter <data_dir>/pil.sqlite (Schema in schema.sql). Öffne sie schreibgeschützt mit jedem SQLite-Tool.

Diese Dateien enthalten deine persönlichen Instagram-Daten – behalte sie auf deinem eigenen Rechner und teile sie nur mit Tools, denen du vertraust.

Deine Bibliothek als App

Dein Muse baut die App für dich und sendet sie dir – für deinen Computer und dein Handy. Frag einfach:

  • "Sende mir meine PIL-App" – lade die Datei herunter, die es dir sendet, entpacke, Doppelklick auf Start PIL, klicke Installieren. Sie lebt auf deinem Computer wie jede andere App und funktioniert vollständig offline.
  • "PIL auf mein Handy bringen" – es übernimmt die Veröffentlichung und gibt dir einen QR-Code zum Scannen. Tippe Installieren (Android) oder Teilen → Zum Home-Bildschirm hinzufügen (iPhone).

Keine Befehle, kein Hosting-Setup, kein Terminal – dein Muse kümmert sich um alles.

Was drinsteckt

pil/
├── assets/logo.svg          # the seal above
├── SKILL.md                 # skill definition (for Muse)
├── README.md                # this file
├── LICENSE                  # MIT
├── schema.sql               # the five tables: folders, posts, post_folders, knowledge, tags
├── pil.config.example.json  # copy to pil.config.json and set your account_id
├── bootstrap.sh             # one-line installer for Mac/Linux
├── bootstrap.ps1            # one-line installer for Windows
├── bin/
│   ├── pil_common.py        # config resolution + DB helpers
│   ├── ingest_saved.py      # step 1: ingest (resume-safe)
│   ├── extract_content.py   # step 2: vision-AI extraction (resume-safe)
│   ├── tag_all.py           # step 3: tagging
│   ├── export_web.py        # step 4: static export
│   ├── export_html.py       # step 5: self-contained HTML dashboard
│   ├── export_pwa.py        # step 6: installable PWA bundle (manifest + SW + icons)
│   ├── publish_pwa.py       # step 7: publish PWA to your own host for phone install
│   └── mcp_server.py        # read-only MCP server (stdio)
└── references/
    └── mcp_clients.md       # Cursor / Claude Code / Claude Desktop wiring

FAQ

Muss ich programmieren können? Nein. Kopiere die Eingabeaufforderung oben auf dieser Seite in Muse – es erledigt alles mit dir. Die einzigen Dinge, die du selbst tust, sind das Verknüpfen von Instagram (ein Tipp in deinem Browser) und das Herunterladen der App-Datei, die es dir sendet.

Wohin gehen meine Instagram-Daten? Nirgendwohin. Code wird geteilt, Daten bleiben zu Hause: Deine gespeicherten Beiträge, Bildunterschriften und Kontodetails verlassen nie deinen Computer. Nichts wird zu uns hochgeladen – es gibt kein "uns"; es gibt keinen Server, kein Konto, keine Cloud.

Kostet es etwas? PIL ist kostenlos und Open-Source (MIT). Es gibt kein Abonnement und kein Konto zum Erstellen. Der KI-Tieflese-Schritt läuft über dein eigenes Instagram/KI-Setup.

Funktioniert die App offline? Ja. Nach der Installation laufen die Desktop- und Handy-Apps vollständig offline – Suche, Räume, Tags und Antworten funktionieren alle ohne Internet.

Welche Handys und Computer? Windows, Mac und Linux für die Desktop-App; iPhone und Android für die Handy- App. Auf Android tippe App installieren in Chrome; auf iPhone verwende Safaris Teilen → Zum Home-Bildschirm hinzufügen.

Ich habe neue Beiträge gespeichert – wie füge ich sie hinzu? Sag einfach deinem Muse "Ich habe neue Beiträge gespeichert." Es holt und tiefliest nur die neuen, dann aktualisiert es deine App und Dateien.

Kann ich meine Bibliothek mit jemandem teilen? Deine Bibliothek sind Dateien auf deinem Rechner – du kannst sie auf den Computer einer anderen Person kopieren, aber sie enthalten deine persönlichen Instagram-Daten. Behandle sie wie alles Private: Veröffentliche oder lade sie nicht irgendwo öffentlich hoch.

Etwas ist fehlgeschlagen – was nun? Sag deinem Muse, was du gesehen hast – es kann direkt diagnostizieren und beheben. (Führst du die manuelle Einrichtung unten aus? Führe den Installer erneut aus – es ist sicher, ihn beliebig oft auszuführen – und prüfe, ob python3 --version 3.11+ ist.)

Fehlerbehebung

Etwas stimmt nicht? Sag deinem Muse, was passiert ist – es kann die meisten Probleme selbst diagnostizieren und beheben.

Führst du die manuelle Einrichtung selbst durch?

  • PIL account_id is not configured → kopiere die Beispielkonfiguration und setze account_id auf dein user_fbid von instagram-cli accounts.
  • Die Extraktion ist bei riesigen Bibliotheken langsam – sie ist fortsetzbar; führe sie einfach erneut aus.
  • 429-Ratenbegrenzungen werden mit Backoff innerhalb der Skripte behandelt.
  • Der MCP-Server benötigt mcp<2 im Python, das ihn ausführt (2.x hat die API umbenannt).

Mitwirken

PRs und Issues sind willkommen – bessere Extraktions-Prompts, neue Abfrage-Clients, neue Exportformate. Forke es, bring es raus, mach es zu deinem. Wenn es dich vor dem endlosen Scrollen bewahrt hat, hilft ein Stern anderen, es zu finden.

Lizenz

MIT. Erstellt von Paul Poulose.