Skip to content

Somtumหน่วยความจำแบบโลคัลสำหรับ Claude Code

บันทึกการตัดสินใจ การแก้บั๊ก และข้อเรียนรู้จากทุกเซสชันโดยอัตโนมัติ — และนำมันกลับมาใช้ในเซสชันถัดไป ไม่ต้องใช้คลาวด์ ไม่ต้องตั้งค่า แค่หน่วยความจำ

Somtum

ติดตั้งใน 30 วินาที

bash
npm install -g somtum
somtum init --all   # ติดตั้ง hooks + MCP server ในโปรเจกต์ปัจจุบัน

เท่านี้เอง ทุกเซสชัน Claude Code จากนี้ไปจะถูกบันทึกและจดจำ


สิ่งที่จดจำได้

หลังจากเซสชันดีบักกิ้ง Somtum จะดึงข้อสังเกตแบบนี้และจัดเก็บไว้ในเครื่อง:

json
[
  {
    "kind": "bugfix",
    "title": "JWT refresh loop — Unix timestamps are seconds, not ms",
    "body": "Checked token.exp < Date.now() instead of token.exp < Date.now() / 1000."
  },
  {
    "kind": "decision",
    "title": "Use pnpm workspaces — npm hoisting breaks shared types",
    "body": "Switched from npm because hoisting put shared type packages in the wrong scope."
  }
]

ในเซสชันถัดไป เมื่อคุณถามว่า "ทำไมถึงใช้ pnpm?" Claude รู้อยู่แล้ว ไม่ต้องอธิบายซ้ำ


ตรวจสอบสุขภาพ

รัน somtum doctor หลังติดตั้งเพื่อตรวจสอบการตั้งค่า:

✓  config          strategy=bm25, k=8
✓  db_open         WAL mode, foreign_keys ON
✓  hooks_installed somtum hooks found in .claude/settings.json
✓  embeddings      disabled (set retrieval.embeddings.enabled=true to enable)

กลยุทธ์ Hybrid ต้องการ embeddings

ถ้า doctor รายงาน strategy=hybrid แต่ embeddings: disabled somtum จะเปลี่ยนไปใช้ BM25 โดยอัตโนมัติ แก้ไขด้วยคำสั่งเดียว:

bash
somtum config set retrieval.strategy bm25   # ตรงกับสิ่งที่รันอยู่จริง

หรือเปิดใช้งาน hybrid เต็มรูปแบบ (ต้องการ ANTHROPIC_API_KEY):

bash
somtum config set retrieval.embeddings.enabled true

ดู การตั้งค่า → การเปรียบเทียบกลยุทธ์การดึงข้อมูล สำหรับรายละเอียด


ประสิทธิภาพโทเคน

somtum stats แสดงว่าหน่วยความจำคุ้มค่าหรือไม่:

ตัวชี้วัดสัญญาณที่ดีสิ่งที่ควรตรวจสอบ
breakeven ≥ 1.5xประหยัดมากกว่าที่ใช้คาดว่าจะเกิดขึ้นหลังจากมี ~20+ ความทรงจำ
cache hits > 0การค้นหาซ้ำถูกแคชไว้ยืนยันว่า cache.enabled = true
retrieval calls สะสมความทรงจำถูกเรียกคืนอยู่ตรวจสอบว่า injection.enabled = true

โปรเจกต์ใหม่ (< 10 ความทรงจำ) มักแสดงค่าติดลบ — เป็นเรื่องปกติและจะดีขึ้นเมื่อใช้งานมากขึ้น

เผยแพร่ภายใต้ใบอนุญาต MIT