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

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

ต้องการให้ 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 ของคุณสร้างและส่งให้คุณ — ดู ไลบรารีของคุณเป็นแอป

ทำไมไม่เพียงแค่เลื่อนดูแท็บที่บันทึกไว้?
| แท็บที่บันทึกใน Instagram | PIL | |
|---|---|---|
| ค้นหาโพสต์จาก 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