PIL

oficial

Transforme seus posts salvos do Instagram em uma biblioteca pessoal de conhecimento pesquisável — SQLite local, servidor MCP somente leitura

O que você pode fazer com PIL MCP?

  • Buscar posts salvos — Peça ao seu assistente para encontrar posts por texto em legendas e conhecimento extraído por IA, com filtros opcionais de pasta ou tag via search_posts.
  • Recuperar detalhes completos do post — Obtenha um registro completo de qualquer post salvo, incluindo resumo, pontos-chave, etapas de como fazer, links, pastas e tags usando get_post.
  • Navegar por coleções e tags — Liste suas coleções salvas do Instagram com contagens indexadas ou veja tags por uso através de list_folders e list_tags.
  • Verificar cobertura da biblioteca — Veja totais e estatísticas de leitura aprofundada em toda a sua biblioteca de posts salvos com library_stats.

Documentação

PIL logo

Suas postagens salvas do Instagram — lidas em profundidade por IA, pesquisáveis para sempre, na sua máquina.

License: MIT PRs Welcome Stars

Claude Code Cursor Claude Desktop

Comece agora · Como funciona · Outras ferramentas de IA · O que tem dentro

mcp-name: io.github.pjpoulose/pil


Obtenha o PIL em 3 passos

1. Copie e cole isto no Muse:

    Clone https://github.com/pjpoulose/PIL para o seu workspace e siga o
    SKILL.md para configurar minha Biblioteca Pessoal do Instagram. Siga passo a
    passo — instale, construa a biblioteca a partir das minhas postagens salvas e me entregue o
    aplicativo instalável.

2. Quando ele pedir, vincule seu Instagram (um toque no seu navegador).

3. Baixe o arquivo do aplicativo que ele enviar → descompacte → clique duas vezes em Iniciar PIL → clique em Instalar.

É só isso. Seu Muse faz a configuração, a leitura e a construção. Quer também no seu celular? Basta pedir ao seu Muse — ele cuida disso também.

Prefere fazer você mesmo? Um comando configura tudo.
  • 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

Depois, construa sua biblioteca com os comandos em Configuração manual.


Todos os dias você salva postagens que nunca mais vai encontrar. PIL (Biblioteca Pessoal do Instagram) transforma sua coleção de salvos do Instagram em uma base de conhecimento privada na sua própria máquina: cada postagem é lida em profundidade por IA de visão — resumos narrativos, pontos-chave, passos de como fazer, links que ela menciona, tags automáticas — pesquisável em segundos e consultável ao vivo pelas suas ferramentas de IA de codificação.

O código é compartilhado, os dados ficam em casa. Este repositório contém apenas código, o esquema do banco de dados, exemplos de configuração e documentação. Suas postagens salvas, legendas e detalhes da conta nunca saem do seu computador — ingestão, extração, pesquisa e o servidor MCP rodam tudo localmente. Um .gitignore bloqueia bancos de dados, configurações e exportações de serem commitados.

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

Mockup conceitual com dados de exemplo — sua biblioteca fica assim, com suas postagens.

Quer que seu Claude, Codex ou Cursor acesse isso?

Conecte o servidor MCP somente leitura e suas outras ferramentas de IA podem consultar sua biblioteca ao vivo — sempre atualizada, sem precisar reenviar nada. Seu Muse pode configurar isso para você. Como conectar →

Como funciona

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

Configuração manual (faça você mesmo)

Expandir — só é necessário se você estiver pulando o fluxo de 3 passos do Muse no topo.

Pré-requisitos: python3 (3.11+) e instagram-cli com sua conta do Instagram vinculada (execute instagram-cli accounts — ele deve listar sua conta). O instalador de uma linha no topo desta página cuida de tudo isso para você.

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

Construa sua biblioteca (cada etapa é segura para retomar — execute novamente a qualquer momento):

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/

Pergunte qualquer coisa — via servidor MCP ao vivo ou pela exportação estática:

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

É isso. Execute ingest_saved.py novamente sempre que salvar novas postagens; extract_content.py só processa postagens que ainda não viu.

O aplicativo: peça ao seu Muse para construir e enviar — veja Sua biblioteca como aplicativo.

Por que não apenas rolar a aba de salvos?

Aba de salvos do InstagramPIL
Encontrar uma postagem de 2 anos atrásRolar infinitamentePesquisa de texto completo em segundos
Lembrar o que uma postagem realmente diziaRever / relerResumo de IA, pontos-chave, como fazer
Links que uma postagem mencionavaPerdidos, a menos que você os salvasseExtraídos e clicáveis
Usar dentro das suas ferramentas de IACapturas de tela e redigitaçãoServidor MCP ou exportação JSON
Onde seus dados vivemServidores da MetaSua máquina, SQLite

Consulte sua biblioteca de outras ferramentas de IA

Ao vivo (recomendado): MCP. Aponte qualquer assistente compatível com MCP para o servidor somente leitura e cada pergunta lê seu banco de dados atual — sempre atualizado, sem exportações, sem reenvios:

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

Configuração para Claude Code, Claude Desktop e Cursor: references/mcp_clients.md. Qualquer cliente compatível com MCP funciona — e seu Muse pode conectar para você se preferir não mexer em configurações. Ferramentas disponíveis:

FerramentaO que faz
search_postsPesquisa de texto sobre legendas + conhecimento de leitura profunda, com filtros opcionais de pasta/tag
get_postRegistro completo de uma postagem: resumo, pontos-chave, como fazer, links, pastas, tags
list_foldersSuas coleções salvas com contagens indexadas
list_tagsTags por uso
library_statsTotais + cobertura de leitura profunda por campo

O servidor abre o banco de dados com SQLite mode=ro e expõe apenas ferramentas SELECT — ele não pode modificar sua biblioteca. (Testado contra ataques: injeção de SQL, tentativas de escrita e abuso de limite, todos verificados como bloqueados.)

Instantâneo: upload de arquivo. Peça ao seu Muse para enviar o arquivo web_data.json (construído com export_web.py): cada postagem com seu conhecimento de leitura profunda em um único arquivo. Anexe a qualquer chat de IA (Claude, ChatGPT, …) e faça perguntas como com qualquer documento. Ele fica congelado no momento da exportação — um instantâneo, não uma conexão ao vivo — então peça ao seu Muse uma cópia nova depois de salvar novas postagens.

Diretamente (avançado). O banco de dados é SQLite puro em <data_dir>/pil.sqlite (esquema em schema.sql). Abra-o somente leitura com qualquer ferramenta SQLite.

Esses arquivos contêm seus dados pessoais do Instagram — mantenha-os na sua própria máquina e compartilhe apenas com ferramentas em que você confia.

Sua biblioteca como aplicativo

Seu Muse constrói o aplicativo para você e o envia — para seu computador e seu celular. Basta pedir:

  • "Me envie meu aplicativo PIL" — baixe o arquivo que ele enviar, descompacte, clique duas vezes em Iniciar PIL, clique em Instalar. Ele fica no seu computador como qualquer outro aplicativo e funciona totalmente offline.
  • "Coloque o PIL no meu celular" — ele cuida da publicação e te dá um código QR para escanear. Toque em Instalar (Android) ou Compartilhar → Adicionar à Tela Inicial (iPhone).

Sem comandos, sem configuração de hospedagem, sem terminal — seu Muse cuida de tudo.

Signal Deck — o painel visual (v1.2.0)

Prefere explorar em vez de consultar? O Signal Deck (dashboard/) constrói um painel HTML autocontido a partir do seu banco de dados PIL local: um herói de anéis de tópicos sobre tudo que você salvou, pesquisa → síntese (The Brief), uma barra de fontes, um índice fixo e uma grade de arquivo completo. Um arquivo, funciona offline, seus dados nunca saem da sua máquina.

cd dashboard
PIL_DB=~/.local/share/pil/pil.sqlite python3 build-signal.py
# open pil-signal-deck.html in Chrome/Safari

Veja dashboard/README.md para detalhes, notas de PWA e a suíte de QA.

O que tem dentro

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

Preciso saber programar? Não. Copie e cole o prompt no topo desta página no Muse — ele faz tudo com você. As únicas coisas que você fará sozinho são vincular o Instagram (um toque no seu navegador) e baixar o arquivo do aplicativo que ele enviar.

Para onde vão meus dados do Instagram? Para lugar nenhum. O código é compartilhado, os dados ficam em casa: suas postagens salvas, legendas e detalhes da conta nunca saem do seu computador. Nada é enviado para nós — não existe "nós"; não há servidor, conta ou nuvem.

Custa alguma coisa? O PIL é gratuito e de código aberto (MIT). Não há assinatura nem conta para criar. A etapa de leitura profunda por IA passa pela sua própria configuração de Instagram/IA.

O aplicativo funciona offline? Sim. Depois de instalado, os aplicativos de desktop e celular funcionam totalmente offline — pesquisa, salas, tags e respostas funcionam sem internet.

Quais celulares e computadores? Windows, Mac e Linux para o aplicativo de desktop; iPhone e Android para o aplicativo de celular. No Android, toque em Instalar aplicativo no Chrome; no iPhone, use o Compartilhar → Adicionar à Tela Inicial do Safari.

Salvei novas postagens — como adiciono? Basta dizer ao seu Muse "salvei novas postagens". Ele busca e lê em profundidade apenas as novas, depois atualiza seu aplicativo e arquivos.

Posso compartilhar minha biblioteca com alguém? Sua biblioteca são arquivos na sua máquina — você pode copiá-los para o computador de outra pessoa, mas eles contêm seus dados pessoais do Instagram. Trate-os como qualquer coisa privada: não publique ou envie para qualquer lugar público.

Algo falhou — e agora? Conte ao seu Muse o que você viu — ele pode diagnosticar e corrigir diretamente. (Executando a configuração manual abaixo? Execute o instalador novamente — é seguro rodar quantas vezes quiser — e verifique se python3 --version é 3.11+.)

Solução de problemas

Algo errado? Conte ao seu Muse o que aconteceu — ele pode diagnosticar e corrigir a maioria dos problemas sozinho.

Executando a configuração manual você mesmo?

  • PIL account_id is not configured → copie a configuração de exemplo e defina account_id para seu user_fbid de instagram-cli accounts.
  • A extração é lenta em bibliotecas enormes — é segura para retomar; basta executar novamente.
  • Os limites de taxa do 429 são tratados com backoff dentro dos scripts.
  • O servidor MCP precisa de mcp<2 no Python que o executa (a 2.x renomeou a API).

Contribuindo

PRs e issues são bem-vindos — melhores prompts de extração, novos clientes de consulta, novos formatos de exportação. Faça um fork, envie, torne-o seu. Se ele te salvou da rolagem infinita, uma estrela ajuda outros a encontrá-lo.

Licença

MIT. Construído por Paul Poulose.