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 — Use search_posts para encontrar posts salvos do Instagram por texto, com filtros opcionais de pasta ou tag.
  • Recuperar detalhes completos do post — Obtenha um registro completo de qualquer post salvo via get_post, incluindo resumo, pontos-chave, etapas de como fazer e links.
  • Navegar pelas suas coleções — Liste todas as coleções salvas do Instagram com list_folders para ver contagens indexadas de cada pasta.
  • Explorar suas tags — Use list_tags para ver quais tags você usou e com que frequência em toda a sua biblioteca.
  • Verificar a cobertura da biblioteca — Obtenha totais e estatísticas de cobertura de leitura aprofundada com library_stats para ver quanto do seu conteúdo salvo foi processado.

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 cuida da configuração, da leitura e da 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 (rode 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 passo é seguro para retomar — rode novamente quando quiser):

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 — pelo servidor MCP ao vivo ou pela exportação estática:

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

É isso. Rode 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

Pergunte à 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 limites, 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 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 envia — para o 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.

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

Perguntas frequentes

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 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? 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 nem envie para lugares públicos.

Algo falhou — e agora? Conte ao seu Muse o que você viu — ele pode diagnosticar e corrigir diretamente. (Rodando a configuração manual abaixo? Rode 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.

Rodando 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 — é seguro retomar; basta rodar novamente.
  • 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 seu. Se isso te salvou da rolagem infinita, uma estrela ajuda outros a encontrar.

Licença

MIT. Construído por Paul Poulose.