PIL
ทางการเปลี่ยนโพสต์ที่บันทึกไว้ใน Instagram ของคุณให้เป็นคลังความรู้ส่วนตัวที่ค้นหาได้ — SQLite ในเครื่อง, MCP server แบบอ่านอย่างเดียว
คุณทำอะไรได้บ้างด้วย PIL MCP?
- ค้นหาโพสต์ที่บันทึกไว้ — ขอให้ผู้ช่วยของคุณค้นหาโพสต์ตามข้อความในคำบรรยายและความรู้ที่สกัดด้วย AI โดยสามารถกรองตามโฟลเดอร์หรือแท็กได้ผ่าน
search_posts - ดึงรายละเอียดโพสต์ทั้งหมด — รับบันทึกที่สมบูรณ์สำหรับโพสต์ที่บันทึกไว้ใดๆ รวมถึงบทสรุป ประเด็นสำคัญ ขั้นตอนวิธีทำ ลิงก์ โฟลเดอร์ และแท็ก โดยใช้
get_post - เรียกดูคอลเลกชันและแท็ก — แสดงรายการคอลเลกชัน Instagram ที่บันทึกไว้พร้อมจำนวนรายการ หรือดูแท็กตามการใช้งานผ่าน
list_foldersและlist_tags - ตรวจสอบความครอบคลุมของคลัง — ดูยอดรวมและสถิติความสมบูรณ์ของการอ่านเชิงลึกทั่วทั้งคลังโพสต์ที่บันทึกไว้ของคุณด้วย
library_stats
เอกสาร
โพสต์ที่บันทึกไว้ใน Instagram ของคุณ — อ่านเชิงลึกด้วย AI, ค้นหาได้ตลอดไป, บนเครื่อง ของคุณ
เริ่มต้นใช้งาน · วิธีการทำงาน · เครื่องมือ 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 ทั้งหมดทำงานในเครื่อง
.gitignoreป้องกันฐานข้อมูล, การกำหนดค่า, และการส่งออกไม่ให้ถูกคอมมิต

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

ต้องการให้ Claude, Codex, หรือ Cursor ของคุณเข้าถึงสิ่งนี้ไหม?
เชื่อมต่อเซิร์ฟเวอร์ 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 ของคุณสร้างและส่งให้คุณ — ดู ไลบรารีของคุณเป็นแอป

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

สอบถามไลบรารีของคุณจากเครื่องมือ AI อื่นๆ
แบบสด (แนะนำ): MCP ชี้ผู้ช่วยที่รองรับ MCP ไปที่ เซิร์ฟเวอร์แบบอ่านอย่างเดียว แล้วทุกคำถามอ่านฐานข้อมูลปัจจุบันของคุณ — อัปเดต อยู่เสมอ, ไม่ต้องส่งออก, ไม่ต้องอัปโหลดซ้ำ:
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-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 ของคุณจัดการทั้งหมด
Signal Deck — แดชบอร์ดภาพ (v1.2.0)
ชอบสำรวจมากกว่าสอบถาม? Signal Deck (dashboard/) สร้าง
แดชบอร์ด HTML แบบครบวงจรจากฐานข้อมูล PIL ในเครื่องของคุณ: วงแหวนหัวข้อหลัก
เหนือทุกสิ่งที่คุณบันทึก, ค้นหา → สังเคราะห์ (The Brief), แถบแหล่งข้อมูล,
ดัชนีแบบติดหนึบ, และกริดคลังข้อมูลเต็มรูปแบบ ไฟล์เดียว, ทำงานออฟไลน์, ข้อมูลของคุณ
ไม่เคยออกจากเครื่องของคุณ
cd dashboard
PIL_DB=~/.local/share/pil/pil.sqlite python3 build-signal.py
# open pil-signal-deck.html in Chrome/Safari
ดู dashboard/README.md สำหรับรายละเอียด, หมายเหตุ PWA, และชุด QA

ภายในมีอะไรบ้าง
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 ต้องการ
mcp<2ใน Python ที่รันมัน (2.x เปลี่ยนชื่อ API)

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

สัญญาอนุญาต
MIT สร้างโดย Paul Poulose