PIL

ทางการ

เปลี่ยนโพสต์ที่บันทึกไว้ใน Instagram ของคุณให้เป็นคลังความรู้ส่วนตัวที่ค้นหาได้ — SQLite ในเครื่อง, MCP server แบบอ่านอย่างเดียว

GitHubลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย PIL MCP?

  • ค้นหาโพสต์ที่บันทึกไว้ — ใช้ search_posts เพื่อค้นหาโพสต์ Instagram ที่บันทึกไว้ตามข้อความ พร้อมตัวกรองโฟลเดอร์หรือแท็กเพิ่มเติม
  • ดึงรายละเอียดโพสต์ทั้งหมด — รับบันทึกที่สมบูรณ์สำหรับโพสต์ที่บันทึกไว้ใดๆ ผ่าน get_post รวมถึงบทสรุป ประเด็นสำคัญ ขั้นตอนวิธีทำ และลิงก์
  • เรียกดูคอลเลกชันของคุณ — แสดงรายการคอลเลกชัน Instagram ที่บันทึกไว้ทั้งหมดด้วย list_folders เพื่อดูจำนวนที่จัดทำดัชนีสำหรับแต่ละโฟลเดอร์
  • สำรวจแท็กของคุณ — ใช้ list_tags เพื่อดูว่าแท็กใดที่คุณใช้และใช้บ่อยเพียงใดทั่วทั้งไลบรารีของคุณ
  • ตรวจสอบความครอบคลุมของไลบรารี — รับสถิติยอดรวมและสถิติการอ่านเชิงลึกด้วย library_stats เพื่อดูว่าเนื้อหาที่บันทึกไว้ของคุณถูกประมวลผลไปมากเพียงใด

เอกสาร

PIL logo

โพสต์ที่บันทึกไว้ใน Instagram ของคุณ — อ่านเชิงลึกด้วย AI, ค้นหาได้ตลอดไป, บนเครื่อง ของคุณ

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 เพื่อตั้งค่า Personal Instagram Library ของฉัน ทำตามทีละ
    ขั้นตอน — ติดตั้ง, สร้างไลบรารีจากโพสต์ที่บันทึกไว้, และส่งแอป
    ที่ติดตั้งได้ให้ฉัน

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 ของคุณให้เป็นฐานความรู้ส่วนตัวบนเครื่องของคุณเอง: ทุกโพสต์ถูกอ่านเชิงลึกด้วย AI ด้านการมองเห็น — บทสรุปเชิงบรรยาย, ประเด็นสำคัญ, ขั้นตอนวิธีทำ, ลิงก์ที่กล่าวถึง, แท็กอัตโนมัติ — ค้นหาได้ในไม่กี่วินาทีและสอบถามได้แบบเรียลไทม์จากเครื่องมือเขียนโค้ด AI ของคุณ

โค้ดถูกแชร์, ข้อมูลอยู่ที่บ้าน ที่เก็บนี้มีเพียงโค้ด, โครงสร้างฐานข้อมูล, ตัวอย่างการกำหนดค่า, และเอกสาร โพสต์ที่บันทึกไว้, คำบรรยาย, และรายละเอียดบัญชีของคุณไม่เคยออกจากคอมพิวเตอร์ของคุณ — การนำเข้า, การแยกข้อมูล, การค้นหา, และ MCP server ทั้งหมดทำงานในเครื่อง .gitignore ป้องกันไม่ให้ฐานข้อมูล, การกำหนดค่า, และการส่งออกถูกคอมมิต

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

ภาพจำลองแนวคิดพร้อมข้อมูลตัวอย่าง — ไลบรารีของคุณจะมีลักษณะเช่นนี้, พร้อมโพสต์ของคุณ

ต้องการให้ Claude, Codex, หรือ Cursor ของคุณเข้าถึงสิ่งนี้หรือไม่?

เชื่อมต่อ MCP server แบบอ่านอย่างเดียว แล้วเครื่องมือ 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 server แบบเรียลไทม์ หรือ ไฟล์ส่งออกแบบคงที่:

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

แค่นั้น รัน ingest_saved.py ใหม่ทุกครั้งที่คุณบันทึกโพสต์ใหม่; extract_content.py ประมวลผลเฉพาะโพสต์ที่ยังไม่เคยเห็น

แอป: ขอให้ Muse ของคุณสร้างและส่งให้คุณ — ดู ไลบรารีของคุณเป็นแอป

ทำไมไม่เพียงแค่เลื่อนดูแท็บที่บันทึกไว้?

แท็บที่บันทึกใน InstagramPIL
ค้นหาโพสต์จาก 2 ปีที่แล้วเลื่อนไม่รู้จบค้นหาข้อความเต็มในไม่กี่วินาที
จำได้ว่าโพสต์พูดถึงอะไรจริงๆดู/อ่านซ้ำสรุปด้วย AI, ประเด็นสำคัญ, วิธีทำ
ลิงก์ที่โพสต์กล่าวถึงหายไปถ้าคุณไม่ได้บันทึกไว้ถูกแยกออกมาและคลิกได้
ใช้ภายในเครื่องมือ AI ของคุณภาพหน้าจอและการพิมพ์ซ้ำMCP server หรือการส่งออก JSON
ข้อมูลของคุณอยู่ที่ไหนเซิร์ฟเวอร์ของ Metaเครื่องของคุณ, SQLite

สอบถามไลบรารีของคุณจากเครื่องมือ AI อื่นๆ

แบบเรียลไทม์ (แนะนำ): MCP ชี้ผู้ช่วยที่รองรับ MCP ไปที่ server แบบอ่านอย่างเดียว แล้วทุกคำถามจะอ่านฐานข้อมูลปัจจุบันของคุณ — อัปเดต อยู่เสมอ, ไม่มีการส่งออก, ไม่มีการอัปโหลดซ้ำ:

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ยอดรวม + ความครอบคลุมการอ่านเชิงลึกต่อฟิลด์

server เปิดฐานข้อมูลด้วย SQLite mode=ro และเปิดเผยเครื่องมือ SELECT-only — ไม่สามารถแก้ไขไลบรารีของคุณได้ (ผ่านการทดสอบการโจมตี: SQL injection, ความพยายามเขียน, และการใช้ขีดจำกัดในทางที่ผิดทั้งหมดได้รับการยืนยันว่าถูกบล็อก)

สแนปช็อต: อัปโหลดไฟล์ ขอให้ 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) ไม่มีการสมัครสมาชิกและไม่ต้องสร้างบัญชี ขั้นตอนการอ่านเชิงลึกด้วย AI ทำงานผ่านการตั้งค่า Instagram/AI ของคุณเอง

แอปทำงานออฟไลน์ได้หรือไม่? ได้ เมื่อติดตั้งแล้ว, แอปเดสก์ท็อปและโทรศัพท์ทำงานออฟไลน์เต็มรูปแบบ — การค้นหา, ห้อง, แท็ก, และคำตอบทั้งหมดทำงานโดยไม่ต้องใช้อินเทอร์เน็ต

รองรับโทรศัพท์และคอมพิวเตอร์รุ่นใด? Windows, Mac, และ Linux สำหรับแอปเดสก์ท็อป; iPhone และ Android สำหรับแอปโทรศัพท์ บน Android, แตะ Install app ใน Chrome; บน iPhone, ใช้ Share → Add to Home Screen ของ Safari

ฉันบันทึกโพสต์ใหม่ — จะเพิ่มได้อย่างไร? เพียงแค่บอก Muse ของคุณว่า "ฉันบันทึกโพสต์ใหม่" มันดึงข้อมูลและอ่านเชิงลึกเฉพาะ โพสต์ใหม่, จากนั้นรีเฟรชแอปและไฟล์ของคุณ

ฉันสามารถแชร์ไลบรารีกับใครได้หรือไม่? ไลบรารีของคุณเป็นไฟล์บนเครื่องของคุณ — คุณ สามารถ คัดลอกไปยังคอมพิวเตอร์ของ คนอื่นได้, แต่ไฟล์เหล่านั้นมีข้อมูล Instagram ส่วนตัวของคุณ ปฏิบัติต่อไฟล์เหล่านั้นเหมือน สิ่งส่วนตัว: อย่าเผยแพร่หรืออัปโหลดไปที่ใดที่สาธารณะ

มีบางอย่างล้มเหลว — ควรทำอย่างไร? บอก Muse ของคุณว่าคุณเห็นอะไร — มันสามารถวินิจฉัยและแก้ไขได้โดยตรง (กำลังรัน การตั้งค่าด้วยตนเองด้านล่าง? รันตัวติดตั้งใหม่ — ปลอดภัยที่จะรันกี่ครั้งก็ได้ — และตรวจสอบว่า python3 --version เป็น 3.11+)

การแก้ไขปัญหา

มีบางอย่างผิดปกติ? บอก Muse ของคุณว่าเกิดอะไรขึ้น — มันสามารถวินิจฉัยและแก้ไข ปัญหาส่วนใหญ่ได้เอง

กำลังรันการตั้งค่าด้วยตนเองด้วยตัวเองหรือไม่?

  • PIL account_id is not configured → คัดลอกตัวอย่างการกำหนดค่าและตั้งค่า account_id เป็น user_fbid ของคุณจาก instagram-cli accounts
  • การแยกข้อมูลช้าสำหรับไลบรารีขนาดใหญ่ — มันปลอดภัยต่อการรันซ้ำ; เพียงแค่รันใหม่
  • ขีดจำกัดอัตรา 429 ถูกจัดการด้วย backoff ภายในสคริปต์
  • MCP server ต้องใช้ mcp<2 ใน Python ที่รันมัน (2.x เปลี่ยนชื่อ API)

การมีส่วนร่วม

ยินดีต้อนรับ PR และ issues — พรอมต์การแยกข้อมูลที่ดีขึ้น, ไคลเอนต์การสอบถามใหม่, รูปแบบ การส่งออกใหม่ ฟอร์กมัน, ส่งมัน, ทำให้เป็นของคุณ หากมันช่วยคุณจากการเลื่อน ไม่รู้จบ, ดาวหนึ่งดวงช่วยให้คนอื่นพบมัน

สัญญาอนุญาต

MIT สร้างโดย Paul Poulose