Hypomnema - วิกิส่วนตัวแบบ LLM-native ที่ทำงานภายใน Claude Code (โอเพนซอร์ส)
(github.com/sk-lim19f)Hypomnema คือ OSS วิกิส่วนตัวแบบ LLM-native ที่ทำงานได้ใน Claude Code ด้วยการพิมพ์สแลชเพียงครั้งเดียว
มันอยู่ในโฟลเดอร์ ~/hypomnema/ ในรูปแบบ Markdown ข้อความล้วน + git โดยไม่มีบริการภายนอก / API key / vector DB
ต้นฉบับที่ผู้ใช้ป้อนเข้ามาจะถูกเก็บรักษาไว้แบบเดิม ใน sources/ และผลลัพธ์ที่ Claude สังเคราะห์จะถูกสะสมไว้ใน pages/
เมื่อพบหัวข้อเดิมอีกครั้ง จะไม่สร้างหน้าใหม่ แต่จะอัปเดตหน้าที่มีอยู่เดิม
เหตุผลที่สร้างมันขึ้นมาคือปัญหา 4 อย่างที่สะสมจากการทำงานกับ AI ทุกวัน
(1) ค่าใช้จ่ายในการต้องอธิบายคอนเท็กซ์ของเมื่อวานใหม่ทุกครั้งในแต่ละเซสชัน
(2) ผลลัพธ์กองเพิ่มขึ้นอย่างรวดเร็ว แต่ ทำไมถึงเขียนแบบนั้น กลับไม่มีอยู่ที่ไหนเลย จนทำให้หนี้เทคนิคในการดีบักหนึ่งเดือนถัดมาแพงขึ้น
(3) แม้จะลองใช้ Notion, Obsidian, Confluence มาหมดแล้ว แต่วิกิแบบทำมือก็มักพังเพราะ 4 กับดักคือ "ไม่มีอัตโนมัติ / ไม่มีการสังเคราะห์ / กลายเป็นของเก่า / ไม่กลับไปอ่าน"
(4) Gist สั้น ๆ ของ Karpathy — "RAG อ่านใหม่ทุกครั้ง แต่ wiki ทำให้ความรู้ที่สังเคราะห์ครั้งหนึ่งคงอยู่ต่อไป คอขวดมีอยู่ที่การทำ bookkeeping เสมอ และ LLM ทำให้ต้นทุนนั้นลดลงเป็น 0" — ได้เสนอคำตอบไว้
จึงเริ่มจากโฟลเดอร์ Markdown สองโฟลเดอร์ แล้วค่อย ๆ ติด lifecycle hook เพิ่มทีละตัวทุกครั้งที่เจอจุดน่าหงุดหงิดในแต่ละวัน
สรุปแก่นสำคัญ
- คอนเซ็ปต์: ใช้วิกิแทน RAG (Retrieval-Augmented Generation, การสร้างแบบเสริมด้วยการดึงค้น) หน้าเพจที่ LLM สังเคราะห์ครั้งหนึ่งจะถูกเก็บรักษาไว้ และครั้งถัดไปก็จะต่อยอดบนหน้านั้นอีกที ใช้ Markdown ข้อความล้วน + git โดย ไม่มี บริการภายนอก / API key / vector DB
- การติดตั้ง:
npm install -g hypomnema→ ใน Claude Code ใช้/hypo:init - แหล่งความจริงเดียว + การสะท้อนแบบทางเดียว: การปรับพฤติกรรมจะถูกบันทึกไว้เพียงที่เดียวคือ
pages/feedback/<slug>.mdคำสั่งhypomnema feedback-syncจะคำนวณใหม่และสะท้อนผลกลับไปยังMEMORY.md(จำกัดสูงสุด 200 บรรทัด) และ<learned_behaviors>(จำกัดสูงสุด 10 รายการ พร้อมตรวจ 5 ฟิลด์อย่างเข้มงวด) โดยอัตโนมัติ - ฟิลด์บังคับของ SCHEMA ใหม่: บังคับ 9 ฟิลด์จำเป็นสำหรับหน้า
type: feedbackโดยupgrade --applyจะสร้างเช็กลิสต์ backfill ให้อัตโนมัติ ตั้งใจปฏิเสธการทำ stub อัตโนมัติ เพราะถ้าใส่ค่าเริ่มต้นที่ผิดไว้ จะทำให้พฤติกรรมที่ผิดไหลเงียบ ๆ ไปยังสองผิวอนุพันธ์ (MEMORY และ CLAUDE.md) - ซิงก์ไฟล์ส่วนขยายแบบพ่วงมาด้วย: วางไดเรกทอรี
extensions/{agents,commands,hooks,skills}ไว้ในวิกิ แล้วระบบจะ mirror ไปยัง~/.claude/โดยอัตโนมัติ หากใส่แฟลก--codexจะ mirror ไปยัง~/.codex/เฉพาะชุดย่อยhooks+commands(รวม core hook) เท่านั้น - เสริมระบบอัตโนมัติ: หากไม่มีโปรเจ็กต์วิกิใน current working directory (cwd) จะมีการแนะนำให้สร้างอัตโนมัติ, เมื่อจบเซสชันที่มีสาระจะมีการแนะนำให้ปิดงานแบบเบา ๆ (minimal crystallize) โดยอัตโนมัติ, หลังใช้ WebFetch / WebSearch จะมีคำแนะนำให้ใช้
/hypo:ingest, แจ้งเตือนอัปเดต 2 ช่องทาง (npm / plugin), คำเตือน lintW8สำหรับตรวจพบdesign-history.mdที่ล้าสมัย, ป้องกันการที่คำสั่งแก้พฤติกรรมรั่วไปยังโปรเจ็กต์อื่น (scope: project:*บังคับให้ตรงกันแบบ exact match), และการเก็บกวาดคอมเมนต์โค้ดระยะที่ 1 (ลบการอ้างอิงที่ผูกกับช่วงเวลาซึ่งความหมายจะเลือนเมื่อเวลาผ่านไป แต่คง design anchor ไว้)
ความต่างจาก LLM Wiki OSS ที่มีอยู่
หลังจาก Gist ของ Karpathy ก็มีโปรเจ็กต์ที่แตกแขนงออกมาราว 10 กว่าตัวในช่วงเวลาสั้น ๆ
เมื่อลองสำรวจเอง ความต่างตามหมวดหลักมีดังนี้
- พื้นที่ที่ Hypomnema โฟกัสเป็นหลัก: ระบบอัตโนมัติตามวงจรชีวิตของเซสชัน (ใช้ hook 14 ตัวผูกการดูแลวิกิเข้ากับ SessionStart / PreCompact / Stop เป็นต้น), การทำให้การปรับพฤติกรรมของ AI มีแหล่งความจริงเดียว + สะท้อนผลอัตโนมัติแบบทางเดียว, และการ mirror
~/.claude/{commands,agents,skills,hooks}อัตโนมัติ nvk/llm-wiki: เด่นด้านโหมดตรวจสอบที่รันเอเจนต์หลายตัวแบบขนานเพื่อโต้แย้งสนับสนุน/คัดค้านสมมติฐานด้วย--mode thesisSamurAIGPT/llm-wiki-agent: เด่นด้าน ingest หลายฟอร์แมต เช่น PDF / Word / PPT / Excelnashsu/llm_wiki: มี Electron desktop GUI (6.6k stars) ที่พัฒนาไปไกลที่สุด
Hypomnema ตั้งใจไม่ทำ thesis mode, การ ingest หลายฟอร์แมต, หรือ GUI ของตัวเอง — เพราะโปรเจ็กต์ข้างต้นทำด้านนั้นได้ดีกว่า และถ้าจำเป็นก็ใช้เครื่องมือเดิมอย่าง Obsidian ร่วมกันได้
สรุปคือ ส่วนที่ดึงวิกิเข้ามาอยู่ในเวิร์กโฟลว์ที่ผู้ใช้ Claude Code ใช้งานทุกวัน คือจุดที่ Hypomnema แข็งแกร่งที่สุด
องค์ประกอบ
มี slash command 8 ตัว (/hypo:ingest, /hypo:query, /hypo:crystallize, /hypo:resume, /hypo:feedback, /hypo:verify, /hypo:lint, /hypo:graph) + CLI subcommand 5 ตัว (init, upgrade [--apply] [--codex], doctor [extensions], uninstall, feedback-sync) + lifecycle hook 14 ตัว + รองรับ Claude Agent Skills
รายละเอียดการทำงานของแต่ละคำสั่งและ hook ถูกรวบรวมไว้ใน README และ walkthrough ภาษาอังกฤษบน dev.to
สิ่งที่ตั้งใจไม่ใส่มา
ไม่มี vector DB · API key · GUI · mode matrix · SCHEMA auto stub — ทั้งหมดนี้ถูกตัดออกโดยตั้งใจด้วยเหตุผลว่า "ค่าเริ่มต้นที่ผิดจะไหลไปเป็นพฤติกรรมที่ผิดอย่างเงียบ ๆ" หรือ "มีเครื่องมืออื่นทำสิ่งนั้นได้ดีอยู่แล้ว"
ข้อกำหนด + ลิงก์
- Node.js ≥ 18 / Claude Code CLI
- GitHub: https://github.com/sk-lim19f/Hypomnema · npm: https://www.npmjs.com/package/hypomnema · License: MIT
- บันทึกย้อนมอง: https://velog.io/@dlatkdrb980219/…
การมีส่วนร่วม
ยินดีรับ feedback · issue · PR
ยังไม่มีความคิดเห็น