PIL

officiel

Transformez vos publications Instagram enregistrées en bibliothèque de connaissances personnelle consultable — SQLite local, serveur MCP en lecture seule.

Que pouvez-vous faire avec PIL MCP ?

  • Rechercher vos publications enregistrées — Utilisez search_posts pour trouver des publications Instagram enregistrées par texte, avec des filtres facultatifs par dossier ou par tag.
  • Récupérer les détails complets d’une publication — Obtenez un enregistrement complet pour toute publication enregistrée via get_post, y compris le résumé, les points clés, les étapes pratiques et les liens.
  • Parcourir vos collections — Listez toutes les collections Instagram enregistrées avec list_folders pour voir les comptes indexés de chaque dossier.
  • Explorer vos tags — Utilisez list_tags pour voir quels tags vous avez utilisés et à quelle fréquence dans votre bibliothèque.
  • Vérifier la couverture de la bibliothèque — Obtenez des totaux et des statistiques de couverture en lecture approfondie avec library_stats pour voir quelle part de votre contenu enregistré a été traitée.

Documentation

PIL logo

Vos publications Instagram enregistrées — lues en profondeur par l'IA, recherchables pour toujours, sur votre machine.

License: MIT PRs Welcome Stars

Claude Code Cursor Claude Desktop

Commencer · Comment ça marche · Autres outils IA · Contenu détaillé

mcp-name: io.github.pjpoulose/pil


Obtenez PIL en 3 étapes

1. Copiez-collez ceci dans Muse :

    Clonez https://github.com/pjpoulose/PIL dans votre espace de travail et suivez son
    SKILL.md pour configurer ma Bibliothèque Instagram Personnelle. Suivez-le étape par
    étape — installez, construisez la bibliothèque à partir de mes publications enregistrées, et remettez-moi
    l'application installable.

2. Lorsqu'on vous le demande, liez votre compte Instagram (un clic dans votre navigateur).

3. Téléchargez le fichier d'application qu'il vous envoie → décompressez → double-cliquez sur Start PIL → cliquez sur Install.

C'est tout. Votre Muse s'occupe de la configuration, de la lecture et de la construction. Vous le voulez aussi sur votre téléphone ? Demandez simplement à votre Muse — il s'en occupe également.

Vous préférez le faire vous-même ? Une seule commande configure tout.
  • 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

Ensuite, construisez votre bibliothèque avec les commandes dans Configuration manuelle.


Chaque jour, vous enregistrez des publications que vous ne retrouverez plus jamais. PIL (Personal Instagram Library) transforme votre collection de publications enregistrées Instagram en une base de connaissances privée sur votre propre machine : chaque publication est lue en profondeur par une IA de vision — résumés narratifs, points clés, étapes pratiques, liens qu'elle mentionne, balises automatiques — recherchables en quelques secondes et interrogeables en direct depuis vos outils de codage IA.

Le code est partagé, les données restent chez vous. Ce dépôt contient uniquement le code, le schéma de base de données, des exemples de configuration et de la documentation. Vos publications enregistrées, légendes et détails de compte ne quittent jamais votre ordinateur — l'ingestion, l'extraction, la recherche et le serveur MCP s'exécutent tous localement. Un .gitignore empêche les bases de données, configurations et exports d'être jamais commités.

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

Maquette conceptuelle avec des données d'exemple — votre bibliothèque ressemble à ceci, avec vos publications.

Vous voulez que votre Claude, Codex ou Cursor y accède ?

Connectez le serveur MCP en lecture seule et vos autres outils IA peuvent interroger votre bibliothèque en direct — toujours à jour, rien à réimporter. Votre Muse peut le configurer pour vous. Comment se connecter →

Comment ça marche

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"]

Configuration manuelle (faites-le vous-même)

Déplier — nécessaire uniquement si vous sautez le flux Muse en 3 étapes en haut.

Prérequis : python3 (3.11+) et instagram-cli avec votre compte Instagram lié (exécutez instagram-cli accounts — il doit lister votre compte). L'installateur en une ligne en haut de cette page gère tout cela pour vous.

# 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"

Construisez votre bibliothèque (chaque étape est reprise en toute sécurité — réexécutez à tout moment) :

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/

Demandez-lui n'importe quoi — via le serveur MCP en direct ou l'export statique :

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

C'est tout. Réexécutez ingest_saved.py chaque fois que vous enregistrez de nouvelles publications ; extract_content.py ne traite que les publications qu'il n'a pas encore vues.

L'application : demandez à votre Muse de la construire et de vous l'envoyer — voir Votre bibliothèque en tant qu'application.

Pourquoi ne pas simplement faire défiler votre onglet enregistré ?

Onglet enregistré InstagramPIL
Trouver une publication d'il y a 2 ansFaire défiler sans finRecherche en texte intégral en quelques secondes
Se souvenir de ce qu'une publication disait réellementRevoir / relireRésumé IA, points clés, procédure
Liens mentionnés dans une publicationPerdus sauf si vous les avez enregistrésExtrait et cliquables
Utiliser dans vos outils IACaptures d'écran et retranscriptionServeur MCP ou export JSON
Où vivent vos donnéesLes serveurs de MetaVotre machine, SQLite

Interrogez votre bibliothèque depuis d'autres outils IA

En direct (recommandé) : MCP. Pointez n'importe quel assistant compatible MCP vers le serveur en lecture seule et chaque question lit votre base de données actuelle — toujours à jour, sans exports, sans réimports :

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

Câblage pour Claude Code, Claude Desktop et Cursor : references/mcp_clients.md. Tout client compatible MCP fonctionne — et votre Muse peut le connecter pour vous si vous préférez ne pas toucher aux configurations. Outils disponibles :

OutilCe qu'il fait
search_postsRecherche textuelle sur les légendes + connaissances en lecture profonde, avec filtres optionnels par dossier/balise
get_postEnregistrement complet pour une publication : résumé, points clés, procédure, liens, dossiers, balises
list_foldersVos collections enregistrées avec comptages indexés
list_tagsBalises par utilisation
library_statsTotaux + couverture de lecture profonde par champ

Le serveur ouvre la base de données avec SQLite mode=ro et expose des outils en lecture seule — il ne peut pas modifier votre bibliothèque. (Testé contre les attaques : injection SQL, tentatives d'écriture et abus de limites tous vérifiés comme bloqués.)

Instantané : téléversement de fichier. Demandez à votre Muse de vous envoyer le fichier web_data.json (construit avec export_web.py) : chaque publication avec ses connaissances en lecture profonde dans un seul fichier. Joignez-le à n'importe quelle conversation IA (Claude, ChatGPT, …) et posez des questions comme avec n'importe quel document. Il est figé au moment de l'export — un instantané, pas une connexion en direct — donc demandez à votre Muse une copie fraîche après avoir enregistré de nouvelles publications.

Directement (avancé). La base de données est en SQLite simple à <data_dir>/pil.sqlite (schéma dans schema.sql). Ouvrez-la en lecture seule avec n'importe quel outil SQLite.

Ces fichiers contiennent vos données Instagram personnelles — gardez-les sur votre propre machine et ne les partagez qu'avec des outils auxquels vous faites confiance.

Votre bibliothèque en tant qu'application

Votre Muse construit l'application pour vous et vous l'envoie — pour votre ordinateur et votre téléphone. Demandez simplement :

  • "Envoyez-moi mon application PIL" — téléchargez le fichier qu'il vous envoie, décompressez, double-cliquez sur Start PIL, cliquez sur Install. Elle vit sur votre ordinateur comme n'importe quelle autre application et fonctionne entièrement hors ligne.
  • "Mettez PIL sur mon téléphone" — il gère la publication et vous donne un code QR à scanner. Appuyez sur Install (Android) ou Share → Add to Home Screen (iPhone).

Aucune commande, aucune configuration d'hébergement, aucun terminal — votre Muse s'occupe de tout.

Contenu détaillé

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

Dois-je savoir coder ? Non. Copiez-collez l'invite en haut de cette page dans Muse — il fait tout avec vous. Les seules choses que vous ferez vous-même sont lier Instagram (un clic dans votre navigateur) et télécharger le fichier d'application qu'il vous envoie.

Où vont mes données Instagram ? Nulle part. Le code est partagé, les données restent chez vous : vos publications enregistrées, légendes et détails de compte ne quittent jamais votre ordinateur. Rien n'est téléversé vers nous — il n'y a pas de "nous" ; il n'y a pas de serveur, pas de compte, pas de cloud.

Cela coûte-t-il quelque chose ? PIL est gratuit et open-source (MIT). Il n'y a pas d'abonnement et aucun compte à créer. L'étape de lecture profonde IA passe par votre propre configuration Instagram/IA.

L'application fonctionne-t-elle hors ligne ? Oui. Une fois installée, les applications de bureau et mobile fonctionnent entièrement hors ligne — recherche, salles, balises et réponses fonctionnent toutes sans internet.

Quels téléphones et ordinateurs ? Windows, Mac et Linux pour l'application de bureau ; iPhone et Android pour l'application mobile. Sur Android, appuyez sur Install app dans Chrome ; sur iPhone, utilisez Share → Add to Home Screen de Safari.

J'ai enregistré de nouvelles publications — comment les ajouter ? Dites simplement à votre Muse "J'ai enregistré de nouvelles publications." Il récupère et lit en profondeur uniquement les nouvelles, puis actualise votre application et vos fichiers.

Puis-je partager ma bibliothèque avec quelqu'un ? Votre bibliothèque est des fichiers sur votre machine — vous pouvez les copier sur l'ordinateur de quelqu'un d'autre, mais ils contiennent vos données Instagram personnelles. Traitez-les comme tout ce qui est privé : ne les publiez pas et ne les téléversez nulle part publiquement.

Quelque chose a échoué — que faire ? Dites à votre Muse ce que vous avez vu — il peut diagnostiquer et corriger directement. (Vous suivez la configuration manuelle ci-dessous ? Réexécutez l'installateur — il est sûr de l'exécuter n'importe quel nombre de fois — et vérifiez que python3 --version est 3.11+.)

Dépannage

Quelque chose ne va pas ? Dites à votre Muse ce qui s'est passé — il peut diagnostiquer et corriger la plupart des problèmes lui-même.

Vous faites la configuration manuelle vous-même ?

  • PIL account_id is not configured → copiez la configuration d'exemple et définissez account_id sur votre user_fbid depuis instagram-cli accounts.
  • L'extraction est lente sur les très grandes bibliothèques — elle est reprise en toute sécurité ; réexécutez-la simplement.
  • Les limites de débit de 429 sont gérées avec des backoffs dans les scripts.
  • Le serveur MCP a besoin de mcp<2 dans le Python qui l'exécute (la 2.x a renommé l'API).

Contribution

Les PR et les problèmes sont les bienvenus — de meilleures invites d'extraction, de nouveaux clients de requête, de nouveaux formats d'export. Forkez-le, publiez-le, faites-le vôtre. Si cela vous a sauvé du défilement sans fin, une étoile aide les autres à le trouver.

Licence

MIT. Construit par Paul Poulose.