PIL

официальный

Превратите сохранённые посты Instagram в личную библиотеку знаний с возможностью поиска — локальный SQLite, MCP-сервер только для чтения

Что можно делать с PIL MCP?

  • Поиск сохранённых постов — Используйте search_posts для поиска сохранённых постов Instagram по тексту, с опциональными фильтрами по папкам или тегам.
  • Получение полных деталей поста — Получите полную запись для любого сохранённого поста через get_post, включая сводку, ключевые моменты, пошаговые инструкции и ссылки.
  • Просмотр коллекций — Выведите список всех сохранённых коллекций Instagram с помощью list_folders, чтобы увидеть количество индексированных элементов в каждой папке.
  • Изучение тегов — Используйте list_tags, чтобы увидеть, какие теги вы использовали и как часто по всей вашей библиотеке.
  • Проверка охвата библиотеки — Получите итоговые и расширенные статистические данные об охвате с помощью library_stats, чтобы узнать, какая часть вашего сохранённого контента была обработана.

Документация

PIL logo

Ваши сохранённые посты Instagram — прочитаны ИИ, доступны для поиска навсегда, на вашем устройстве.

License: MIT PRs Welcome Stars

Claude Code Cursor Claude Desktop

Начать · Как это работает · Другие AI-инструменты · Что внутри

mcp-name: io.github.pjpoulose/pil


Получите PIL за 3 шага

1. Скопируйте и вставьте это в Muse:

    Клонируйте https://github.com/pjpoulose/PIL в своё рабочее пространство и следуйте его
    SKILL.md, чтобы настроить мою Персональную библиотеку Instagram. Проработайте это шаг за
    шагом — установите, соберите библиотеку из моих сохранённых постов и передайте мне
    устанавливаемое приложение.

2. Когда попросит, свяжите свой Instagram (один клик в браузере).

3. Скачайте файл приложения, который оно вам отправит → распакуйте → дважды щёлкните Start PIL → нажмите Install.

Вот и всё. Ваш Muse выполнит настройку, чтение и сборку. Хотите также на телефоне? Просто попросите своего Muse — он справится и с этим.

Предпочитаете сделать сами? Одна команда всё настроит.
  • 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

Затем соберите свою библиотеку с помощью команд из Ручная настройка.


Каждый день вы сохраняете посты, которые больше никогда не найдёте. PIL (Personal Instagram Library) превращает вашу коллекцию сохранённых постов Instagram в частную базу знаний на вашем собственном устройстве: каждый пост глубоко прочитан vision-ИИ — повествовательные сводки, ключевые моменты, пошаговые инструкции, упомянутые ссылки, автоматические теги — доступно для поиска за секунды и запрашиваемо в реальном времени из ваших AI-инструментов для кодирования.

Код общий, данные остаются дома. Этот репозиторий содержит только код, схему базы данных, примеры конфигураций и документацию. Ваши сохранённые посты, подписи и данные аккаунта никогда не покидают ваш компьютер — загрузка, извлечение, поиск и MCP-сервер работают локально. .gitignore блокирует базы данных, конфигурации и экспорты от попадания в коммиты.

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

Концептуальный макет с примером данных — так выглядит ваша библиотека, с вашими постами.

Хотите, чтобы ваш Claude, Codex или Cursor имели к этому доступ?

Подключите read-only MCP-сервер, и ваши другие AI-инструменты смогут запрашивать вашу библиотеку в реальном времени — всегда актуально, ничего не нужно загружать заново. Ваш Muse может настроить это за вас. Как подключить →

Как это работает

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

Ручная настройка (сделайте сами)

Развернуть — нужно только если вы пропускаете 3-шаговый поток Muse вверху.

Предварительные требования: python3 (3.11+) и instagram-cli с вашим аккаунтом Instagram (запустите instagram-cli accounts — он должен показать ваш аккаунт). Однострочный установщик вверху этой страницы справится со всем этим за вас.

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

Соберите свою библиотеку (каждый шаг безопасен для повторного запуска — можно перезапускать в любое время):

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/

Спросите что угодно — через живой MCP-сервер или статический экспорт:

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

Вот и всё. Перезапустите ingest_saved.py всякий раз, когда сохраняете новые посты; extract_content.py обрабатывает только те посты, которые ещё не видел.

Приложение: попросите своего Muse собрать и отправить его — см. Ваша библиотека как приложение.

Почему бы просто не листать вкладку сохранённого?

Вкладка сохранённого в InstagramPIL
Найти пост двухлетней давностиБесконечный скроллПолнотекстовый поиск за секунды
Вспомнить, что пост на самом деле говорилПересмотреть / перечитатьAI-сводка, ключевые моменты, инструкции
Ссылки, упомянутые в постеПотеряны, если вы их не сохранилиИзвлечены и кликабельны
Использовать внутри своих AI-инструментовСкриншоты и перепечаткаMCP-сервер или JSON-экспорт
Где живут ваши данныеСерверы MetaВаш компьютер, SQLite

Спрашивайте свою библиотеку из других AI-инструментов

В реальном времени (рекомендуется): MCP. Укажите любому MCP-совместимому ассистенту на read-only сервер, и каждый вопрос читает вашу текущую базу данных — всегда актуально, без экспортов, без повторных загрузок:

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

Настройка для Claude Code, Claude Desktop и Cursor: references/mcp_clients.md. Любой MCP-совместимый клиент подойдёт — и ваш Muse может подключить его за вас, если вы не хотите трогать конфиги. Доступные инструменты:

ИнструментЧто делает
search_postsТекстовый поиск по подписям + глубоко прочитанным знаниям, с опциональными фильтрами по папкам/тегам
get_postПолная запись для одного поста: сводка, ключевые моменты, инструкции, ссылки, папки, теги
list_foldersВаши сохранённые коллекции с количеством проиндексированных элементов
list_tagsТеги по использованию
library_statsИтоги + покрытие глубокого чтения по каждому полю

Сервер открывает базу данных с SQLite mode=ro и предоставляет только SELECT-инструменты — он не может изменить вашу библиотеку. (Проверено на атаки: SQL-инъекции, попытки записи и злоупотребление лимитами — всё подтверждённо заблокировано.)

Снимок: загрузка файла. Попросите своего Muse отправить вам файл web_data.json (созданный с помощью export_web.py): каждый пост с его глубоко прочитанными знаниями в одном файле. Прикрепите его к любому AI-чату (Claude, ChatGPT, …) и задавайте вопросы, как с любым документом. Он заморожен на момент экспорта — это снимок, а не живое соединение — поэтому попросите своего Muse о свежей копии после сохранения новых постов.

Напрямую (продвинутый уровень). База данных — это обычный SQLite по адресу <data_dir>/pil.sqlite (схема в schema.sql). Откройте её в режиме только для чтения любым SQLite-инструментом.

Эти файлы содержат ваши личные данные Instagram — храните их на своём компьютере и делитесь только с инструментами, которым доверяете.

Ваша библиотека как приложение

Ваш Muse собирает приложение за вас и отправляет его вам — для вашего компьютера и вашего телефона. Просто попросите:

  • "Отправь мне моё PIL-приложение" — скачайте файл, который оно вам отправит, распакуйте, дважды щёлкните Start PIL, нажмите Install. Оно живёт на вашем компьютере, как любое другое приложение, и работает полностью офлайн.
  • "Установи PIL на мой телефон" — оно справится с публикацией и даст вам QR-код для сканирования. Нажмите Install (Android) или Share → Add to Home Screen (iPhone).

Никаких команд, никакой настройки хостинга, никакого терминала — ваш Muse позаботится обо всём.

Что внутри

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

Часто задаваемые вопросы

Нужно ли мне уметь программировать? Нет. Скопируйте и вставьте подсказку вверху этой страницы в Muse — оно сделает всё вместе с вами. Единственное, что вам придётся сделать самим, — это связать Instagram (один клик в браузере) и скачать файл приложения, который оно вам отправит.

Куда уходят мои данные Instagram? Никуда. Код общий, данные остаются дома: ваши сохранённые посты, подписи и данные аккаунта никогда не покидают ваш компьютер. Ничего не загружается к нам — нас не существует; нет сервера, нет аккаунта, нет облака.

Это стоит денег? PIL бесплатен и с открытым исходным кодом (MIT). Нет подписки и не нужно создавать аккаунт. Шаг глубокого чтения ИИ работает через вашу собственную настройку Instagram/AI.

Приложение работает офлайн? Да. После установки настольное и мобильное приложения работают полностью офлайн — поиск, комнаты, теги и ответы работают без интернета.

Какие телефоны и компьютеры поддерживаются? Windows, Mac и Linux для настольного приложения; iPhone и Android для мобильного приложения. На Android нажмите Install app в Chrome; на iPhone используйте Safari Share → Add to Home Screen.

Я сохранил новые посты — как их добавить? Просто скажите своему Muse "Я сохранил новые посты". Оно загрузит и глубоко прочитает только новые, затем обновит ваше приложение и файлы.

Могу ли я поделиться своей библиотекой с кем-то? Ваша библиотека — это файлы на вашем компьютере — вы можете скопировать их на чужой компьютер, но они содержат ваши личные данные Instagram. Относитесь к ним как к чему-то приватному: не публикуйте и не загружайте их куда-либо публично.

Что-то не сработало — что делать? Расскажите своему Muse, что вы видели — оно сможет диагностировать и исправить это напрямую. (Запускаете ручную настройку ниже? Перезапустите установщик — его безопасно запускать любое количество раз — и проверьте, что python3 --version версии 3.11+.)

Устранение неполадок

Что-то не так? Расскажите своему Muse, что произошло — оно сможет диагностировать и исправить большинство проблем самостоятельно.

Запускаете ручную настройку сами?

  • PIL account_id is not configured → скопируйте пример конфигурации и установите account_id на ваш user_fbid из instagram-cli accounts.
  • Извлечение медленное на огромных библиотеках — оно безопасно для повторного запуска; просто перезапустите его.
  • Ограничения скорости 429 обрабатываются с помощью backoff внутри скриптов.
  • MCP-серверу нужен mcp<2 в Python, который его запускает (2.x переименовал API).

Вклад в проект

PR и issues приветствуются — лучшие подсказки для извлечения, новые клиенты запросов, новые форматы экспорта. Форкните, отправьте, сделайте своим. Если это спасло вас от бесконечного скролла, звезда поможет другим найти это.

Лицензия

MIT. Создано Paul Poulose.