Minimalist Forum Reader
Chắc nhiều người cũng gặp tình trạng này: chat với AI ra được một đống thứ hay — cách giải quyết vấn đề, pattern code, quyết định thiết kế — rồi sau đó không bao giờ tìm lại được, hoặc phải mò mẫm trong đống lịch sử chat, hoặc tệ hơn là bị archive mất luôn (Claude hình như 90 ngày).

Mình gặp cái này khá thường xuyên nên quyết định tự làm luôn. Kết quả là một MCP server chạy trên Cloudflare Workers, free tier, kết nối được với Claude Code, Claude Desktop, Cursor hay bất kỳ MCP client nào. Trong lúc chat thấy cái gì đáng lưu thì lưu ngay tại đó, hoặc tổng kết lại sau khi kết thúc hội thoại cũng được.

Dữ liệu nằm trên D1 của chính bạn, không qua tay ai. Muốn để riêng tư thì để, muốn publish thành trang công khai chia sẻ kiến thức — kiểu như blog cá nhân — cũng được.

Những gì nó làm được:
  • Tự host hoàn toàn trên Cloudflare Workers + D1
  • Kết nối với mọi MCP client
  • Lưu, tag, sắp xếp insight theo ý muốn
  • Publish ra trang cá nhân công khai
Stack: Hono, Drizzle ORM, D1, HTMX. License AGPL-3.0, mã nguồn mở hoàn toàn.

🔗 GitHub: GitHub - pignal-net/pignal: A personal knowledge ledger, built from your AI conversations. Built for humans. (https://github.com/pignal-net/pignal)

🌐 Trang dev — được build bằng chính pignal: Pignal Docs (https://developers.pignal.net/)

Mọi người dùng thử rồi cho mình biết thấy thiếu gì nhé.
Reactions: lou9666
hay phết bác ơi
Reactions: pignal
khác usecase thím ơi
khác usecase thím ơi
Khác ở chỗ self hosted trên cloudflare thôi đúng không thím?

Hay là:
  • claude-mem is AI friendly
  • pignal is human friendly?
Reactions: luvziro
Khác ở chỗ self hosted trên cloudflare thôi đúng không thím?

Hay là:
  • claude-mem is AI friendly
  • pignal is human friendly?
gần đúng point 2 rồi đó bạn. target users của mình primary là human. và sẵn sàng hỗ trợ để feedback loop lại cho AI.
mình hướng đến 1 dạng human in loop, validate ( label ), và serve các quality data đó nhiều mục đích như sharing ( authoried , vadilated) cho mọi người ( human hoặc AI).
Reactions: BetterNextTime