PIL

chính thức

Biến các bài đăng đã lưu trên Instagram của bạn thành thư viện kiến thức cá nhân có thể tìm kiếm — SQLite cục bộ, máy chủ MCP chỉ đọc

Bạn có thể làm gì với PIL MCP?

  • Tìm kiếm bài viết đã lưu — Yêu cầu trợ lý tìm bài viết theo văn bản trong phần chú thích và kiến thức trích xuất bằng AI, kèm tùy chọn lọc theo thư mục hoặc thẻ thông qua search_posts.
  • Lấy chi tiết đầy đủ của bài viết — Nhận bản ghi hoàn chỉnh cho bất kỳ bài viết đã lưu nào, bao gồm tóm tắt, điểm chính, các bước hướng dẫn, liên kết, thư mục và thẻ bằng cách sử dụng get_post.
  • Duyệt bộ sưu tập và thẻ — Liệt kê các bộ sưu tập Instagram đã lưu của bạn kèm số lượng được lập chỉ mục hoặc xem thẻ theo mức độ sử dụng qua list_folders và list_tags.
  • Kiểm tra phạm vi thư viện — Xem tổng số và số liệu thống kê hoàn tất đọc sâu trên toàn bộ thư viện bài viết đã lưu của bạn bằng library_stats.

Tài liệu

PIL logo

Bài viết đã lưu trên Instagram của bạn — được AI đọc sâu, tìm kiếm vĩnh viễn, trên chính máy của bạn.

License: MIT PRs Welcome Stars

Claude Code Cursor Claude Desktop

Bắt đầu · Cách hoạt động · Công cụ AI khác · Bên trong có gì

mcp-name: io.github.pjpoulose/pil


Nhận PIL trong 3 bước

1. Sao chép-dán đoạn này vào Muse:

    Clone https://github.com/pjpoulose/PIL vào workspace của bạn và làm theo
    SKILL.md của nó để thiết lập Thư viện Instagram Cá nhân của tôi. Làm từng bước một
    — cài đặt, xây dựng thư viện từ các bài viết đã lưu của tôi, và gửi cho tôi
    ứng dụng có thể cài đặt.

2. Khi được yêu cầu, liên kết Instagram của bạn (một lần chạm trong trình duyệt).

3. Tải xuống tệp ứng dụng nó gửi cho bạn → giải nén → nhấp đúp Start PIL → nhấp Install.

Chỉ vậy thôi. Muse của bạn sẽ lo phần thiết lập, đọc, và xây dựng. Muốn dùng trên điện thoại nữa? Chỉ cần yêu cầu Muse của bạn — nó xử lý luôn.

Muốn tự làm? Một lệnh duy nhất thiết lập mọi thứ.
  • 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

Sau đó xây dựng thư viện của bạn bằng các lệnh trong Thiết lập thủ công.


Mỗi ngày bạn lưu những bài viết mà bạn sẽ không bao giờ tìm lại được. PIL (Personal Instagram Library) biến bộ sưu tập đã lưu trên Instagram của bạn thành một cơ sở tri thức riêng tư trên chính máy của bạn: mọi bài viết được AI thị giác đọc sâu — tóm tắt tường thuật, điểm chính, các bước hướng dẫn, liên kết được đề cập, thẻ tự động — tìm kiếm trong vài giây và truy vấn trực tiếp từ các công cụ AI lập trình của bạn.

Mã nguồn được chia sẻ, dữ liệu ở lại nhà. Kho này chỉ chứa mã nguồn, lược đồ cơ sở dữ liệu, ví dụ cấu hình và tài liệu. Bài viết đã lưu, chú thích và chi tiết tài khoản của bạn không bao giờ rời khỏi máy tính — nhập liệu, trích xuất, tìm kiếm và máy chủ MCP đều chạy cục bộ. Một .gitignore chặn cơ sở dữ liệu, cấu hình và xuất dữ liệu không bao giờ bị commit.

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

Mô phỏng khái niệm với dữ liệu mẫu — thư viện của bạn trông như thế này, với bài viết của bạn.

Muốn Claude, Codex hoặc Cursor của bạn truy cập vào đây?

Kết nối máy chủ MCP chỉ đọc và các công cụ AI khác của bạn có thể truy vấn thư viện của bạn trực tiếp — luôn cập nhật, không cần tải lên lại. Muse của bạn có thể kết nối cho bạn. Cách kết nối →

Cách hoạt động

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

Thiết lập thủ công (tự làm)

Mở rộng — chỉ cần nếu bạn bỏ qua quy trình Muse 3 bước ở đầu trang.

Điều kiện tiên quyết: python3 (3.11+) và instagram-cli với tài khoản Instagram của bạn đã liên kết (chạy instagram-cli accounts — nó phải liệt kê tài khoản của bạn). Trình cài đặt một dòng ở đầu trang này xử lý tất cả cho bạn.

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

Xây dựng thư viện của bạn (mỗi bước đều an toàn để tiếp tục — chạy lại bất cứ lúc nào):

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/

Hỏi bất cứ điều gì — qua máy chủ MCP trực tiếp hoặc xuất tĩnh:

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

Chỉ vậy thôi. Chạy lại ingest_saved.py bất cứ khi nào bạn lưu bài viết mới; extract_content.py chỉ xử lý những bài viết chưa thấy.

Ứng dụng: yêu cầu Muse của bạn xây dựng và gửi — xem Thư viện của bạn dưới dạng ứng dụng.

Tại sao không chỉ cuộn tab đã lưu?

Tab đã lưu trên InstagramPIL
Tìm bài viết từ 2 năm trướcCuộn không ngừngTìm kiếm toàn văn trong vài giây
Nhớ bài viết thực sự nói gìXem lại / đọc lạiTóm tắt AI, điểm chính, hướng dẫn
Liên kết bài viết đề cậpMất trừ khi bạn lưu chúngĐược trích xuất và nhấp được
Dùng trong công cụ AI của bạnẢnh chụp màn hình và gõ lạiMáy chủ MCP hoặc xuất JSON
Dữ liệu của bạn ở đâuMáy chủ của MetaMáy của bạn, SQLite

Hỏi thư viện của bạn từ các công cụ AI khác

Trực tiếp (khuyến nghị): MCP. Trỏ bất kỳ trợ lý tương thích MCP nào vào máy chủ chỉ đọc và mọi câu hỏi đọc cơ sở dữ liệu hiện tại của bạn — luôn cập nhật, không xuất, không tải lên lại:

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

Kết nối cho Claude Code, Claude Desktop và Cursor: references/mcp_clients.md. Bất kỳ máy khách tương thích MCP nào đều hoạt động — và Muse của bạn có thể kết nối cho bạn nếu bạn không muốn đụng vào cấu hình. Các công cụ có sẵn:

Công cụChức năng
search_postsTìm kiếm văn bản trên chú thích + kiến thức đọc sâu, với bộ lọc thư mục/thẻ tùy chọn
get_postBản ghi đầy đủ cho một bài viết: tóm tắt, điểm chính, hướng dẫn, liên kết, thư mục, thẻ
list_foldersBộ sưu tập đã lưu của bạn với số lượng được lập chỉ mục
list_tagsThẻ theo mức sử dụng
library_statsTổng số + phạm vi phủ sóng đọc sâu theo trường

Máy chủ mở cơ sở dữ liệu bằng SQLite mode=ro và chỉ hiển thị các công cụ SELECT-only — nó không thể sửa đổi thư viện của bạn. (Đã kiểm tra tấn công: SQL injection, nỗ lực ghi và lạm dụng giới hạn đều được xác minh chặn.)

Ảnh chụp nhanh: tải tệp lên. Yêu cầu Muse của bạn gửi tệp web_data.json (được xây dựng bằng export_web.py): mọi bài viết với kiến thức đọc sâu trong một tệp. Đính kèm vào bất kỳ cuộc trò chuyện AI nào (Claude, ChatGPT, …) và đặt câu hỏi như bất kỳ tài liệu nào. Nó bị đóng băng tại thời điểm xuất — một ảnh chụp nhanh, không phải kết nối trực tiếp — vì vậy hãy yêu cầu Muse của bạn bản mới sau khi bạn lưu bài viết mới.

Trực tiếp (nâng cao). Cơ sở dữ liệu là SQLite thuần tại <data_dir>/pil.sqlite (lược đồ trong schema.sql). Mở nó ở chế độ chỉ đọc bằng bất kỳ công cụ SQLite nào.

Các tệp này chứa dữ liệu Instagram cá nhân của bạn — giữ chúng trên máy của riêng bạn và chỉ chia sẻ với các công cụ bạn tin tưởng.

Thư viện của bạn dưới dạng ứng dụng

Muse của bạn xây dựng ứng dụng cho bạn và gửi cho bạn — cho máy tính và điện thoại của bạn. Chỉ cần yêu cầu:

  • "Gửi cho tôi ứng dụng PIL của tôi" — tải xuống tệp nó gửi cho bạn, giải nén, nhấp đúp Start PIL, nhấp Install. Nó sống trên máy tính của bạn như bất kỳ ứng dụng nào khác và hoạt động hoàn toàn ngoại tuyến.
  • "Đặt PIL trên điện thoại của tôi" — nó xử lý việc xuất bản và đưa cho bạn mã QR để quét. Nhấp Install (Android) hoặc Share → Add to Home Screen (iPhone).

Không lệnh, không thiết lập lưu trữ, không terminal — Muse của bạn lo tất cả.

Signal Deck — bảng điều khiển trực quan (v1.2.0)

Thích khám phá hơn truy vấn? Signal Deck (dashboard/) xây dựng một bảng điều khiển HTML độc lập từ cơ sở dữ liệu PIL cục bộ của bạn: một vòng tròn chủ đề chính trên mọi thứ bạn đã lưu, tìm kiếm → tổng hợp (The Brief), thanh nguồn, một chỉ mục dính và lưới lưu trữ đầy đủ. Một tệp, hoạt động ngoại tuyến, dữ liệu của bạn không bao giờ rời khỏi máy.

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

Xem dashboard/README.md để biết chi tiết, ghi chú PWA và bộ kiểm thử QA.

Bên trong có gì

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

Câu hỏi thường gặp

Tôi có cần biết lập trình không? Không. Sao chép-dán lời nhắc ở đầu trang này vào Muse — nó làm mọi thứ với bạn. Điều duy nhất bạn tự làm là liên kết Instagram (một lần chạm trong trình duyệt) và tải xuống tệp ứng dụng nó gửi cho bạn.

Dữ liệu Instagram của tôi đi đâu? Không đâu cả. Mã nguồn được chia sẻ, dữ liệu ở lại nhà: bài viết đã lưu, chú thích và chi tiết tài khoản của bạn không bao giờ rời khỏi máy tính. Không có gì được tải lên cho chúng tôi — không có "chúng tôi"; không có máy chủ, không tài khoản, không đám mây.

Có tốn phí không? PIL miễn phí và mã nguồn mở (MIT). Không có đăng ký và không cần tạo tài khoản. Bước đọc sâu AI chạy qua thiết lập Instagram/AI của riêng bạn.

Ứng dụng hoạt động ngoại tuyến không? Có. Sau khi cài đặt, ứng dụng máy tính và điện thoại chạy hoàn toàn ngoại tuyến — tìm kiếm, phòng, thẻ và câu trả lời đều hoạt động mà không cần internet.

Hỗ trợ điện thoại và máy tính nào? Windows, Mac và Linux cho ứng dụng máy tính; iPhone và Android cho ứng dụng điện thoại. Trên Android, nhấp Install app trong Chrome; trên iPhone, dùng Share → Add to Home Screen của Safari.

Tôi đã lưu bài viết mới — làm sao để thêm? Chỉ cần nói với Muse của bạn "Tôi đã lưu bài viết mới." Nó tải và đọc sâu chỉ những bài mới, sau đó làm mới ứng dụng và tệp của bạn.

Tôi có thể chia sẻ thư viện của mình với người khác không? Thư viện của bạn là các tệp trên máy — bạn có thể sao chép chúng sang máy tính của người khác, nhưng chúng chứa dữ liệu Instagram cá nhân của bạn. Hãy coi chúng như bất kỳ thứ gì riêng tư: đừng xuất bản hoặc tải lên bất kỳ nơi công cộng nào.

Có gì đó lỗi — giờ sao? Nói với Muse của bạn những gì bạn thấy — nó có thể chẩn đoán và sửa trực tiếp. (Đang chạy thiết lập thủ công bên dưới? Chạy lại trình cài đặt — an toàn để chạy bao nhiêu lần cũng được — và kiểm tra python3 --version là 3.11+.)

Khắc phục sự cố

Có gì sai? Nói với Muse của bạn những gì đã xảy ra — nó có thể chẩn đoán và sửa hầu hết các vấn đề.

Tự chạy thiết lập thủ công?

  • PIL account_id is not configured → sao chép cấu hình ví dụ và đặt account_id thành user_fbid của bạn từ instagram-cli accounts.
  • Trích xuất chậm trên thư viện lớn — nó an toàn để tiếp tục; chỉ cần chạy lại.
  • Giới hạn tốc độ 429 được xử lý bằng backoff bên trong các tập lệnh.
  • Máy chủ MCP cần mcp<2 trong Python chạy nó (2.x đã đổi tên API).

Đóng góp

PR và issue được hoan nghênh — lời nhắc trích xuất tốt hơn, máy khách truy vấn mới, định dạng xuất mới. Fork nó, gửi nó, biến nó thành của bạn. Nếu nó cứu bạn khỏi cuộn không ngừng, một ngôi sao giúp người khác tìm thấy nó.

Giấy phép

MIT. Được xây dựng bởi Paul Poulose.