<div align="center">

# MemoTrail

> 🌐 এটি একটি স্বয়ংক্রিয় অনুবাদ। সম্প্রদায়ের সংশোধন স্বাগত! · [English](../../README.md)

[🇨🇳 中文](README.zh-CN.md) · [🇹🇼 繁體中文](README.zh-TW.md) · [🇯🇵 日本語](README.ja.md) · [🇵🇹 Português](README.pt.md) · [🇰🇷 한국어](README.ko.md) · [🇪🇸 Español](README.es.md) · [🇩🇪 Deutsch](README.de.md) · [🇫🇷 Français](README.fr.md) · [🇮🇱 עברית](README.he.md) · [🇸🇦 العربية](README.ar.md) · [🇷🇺 Русский](README.ru.md) · [🇵🇱 Polski](README.pl.md) · [🇨🇿 Čeština](README.cs.md) · [🇳🇱 Nederlands](README.nl.md) · [🇹🇷 Türkçe](README.tr.md) · [🇺🇦 Українська](README.uk.md) · [🇻🇳 Tiếng Việt](README.vi.md) · [🇮🇩 Indonesia](README.id.md) · [🇹🇭 ไทย](README.th.md) · [🇮🇳 हिन्दी](README.hi.md) · [🇧🇩 বাংলা](README.bn.md) · [🇵🇰 اردو](README.ur.md) · [🇷🇴 Română](README.ro.md) · [🇸🇪 Svenska](README.sv.md) · [🇮🇹 Italiano](README.it.md) · [🇬🇷 Ελληνικά](README.el.md) · [🇭🇺 Magyar](README.hu.md) · [🇫🇮 Suomi](README.fi.md) · [🇩🇰 Dansk](README.da.md) · [🇳🇴 Norsk](README.no.md)

**আপনার AI কোডিং সহকারী সবকিছু ভুলে যায়। MemoTrail এটি সমাধান করে।**

[![PyPI version](https://img.shields.io/pypi/v/memotrail?color=blue)](https://pypi.org/project/memotrail/)
[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](../../LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/HalilHopa-Datatent/memotrail?style=social)](https://github.com/HalilHopa-Datatent/memotrail)

AI কোডিং সহকারীদের জন্য একটি স্থায়ী মেমোরি স্তর।
প্রতিটি সেশন রেকর্ড করা, প্রতিটি সিদ্ধান্ত অনুসন্ধানযোগ্য, প্রতিটি প্রসঙ্গ মনে রাখা।

</div>

---

## v0.3.0 এ নতুন কী আছে

- **স্বয়ংক্রিয় সেশন সারাংশ** — প্রতিটি সেশন AI-জেনারেটেড সারাংশ পায় (কোনো API কী প্রয়োজন নেই)
- **স্বয়ংক্রিয় সিদ্ধান্ত নিষ্কাশন** — প্যাটার্ন ম্যাচিং ব্যবহার করে কথোপকথন থেকে আর্কিটেকচার সিদ্ধান্ত সনাক্ত করা হয়
- **BM25 কীওয়ার্ড অনুসন্ধান** — সুনির্দিষ্ট শব্দ, ত্রুটি বার্তা, ফাংশন নামের জন্য নতুন `search_keyword` টুল
- **হাইব্রিড অনুসন্ধান** — reciprocal rank fusion ব্যবহার করে সিমেন্টিক + কীওয়ার্ড ফলাফল একত্রিত করে
- **Cursor IDE সমর্থন** — `state.vscdb` ফাইল থেকে Cursor চ্যাট ইতিহাস ইনডেক্স করে
- **রিয়েল-টাইম ফাইল মনিটরিং** — watchdog এর মাধ্যমে নতুন সেশন তাৎক্ষণিকভাবে ইনডেক্স হয় (রিস্টার্টের প্রয়োজন নেই)
- **চাঙ্কিং কৌশল** — টোকেন-ভিত্তিক, টার্ন-ভিত্তিক, বা রিকার্সিভ বিভাজন থেকে বেছে নিন
- **VS Code এক্সটেনশন** — VS Code থেকে সরাসরি অনুসন্ধান, ইনডেক্স এবং পরিসংখ্যান দেখুন
- **69টি পরীক্ষা** — সমস্ত মডিউল জুড়ে ব্যাপক পরীক্ষার কভারেজ

## সমস্যা

Claude Code-এর প্রতিটি নতুন সেশন শূন্য থেকে শুরু হয়। আপনার AI গতকালের ৩ ঘণ্টার ডিবাগিং সেশন, গত সপ্তাহের আর্কিটেকচার সিদ্ধান্ত বা ইতিমধ্যে ব্যর্থ হওয়া পদ্ধতিগুলো মনে রাখে না।

**MemoTrail ছাড়া:**
```
আপনি: "ক্যাশিংয়ের জন্য Redis ব্যবহার করি"
AI:     "অবশ্যই, Redis সেট আপ করি"
         ... ২ সপ্তাহ পর, নতুন সেশন ...
আপনি: "কেন আমরা Redis ব্যবহার করছি?"
AI:     "এই সিদ্ধান্ত সম্পর্কে আমার কোনো প্রসঙ্গ নেই"
```

**MemoTrail সহ:**
```
আপনি: "কেন আমরা Redis ব্যবহার করছি?"
AI:     "১৫ জানুয়ারির সেশনের ভিত্তিতে — আপনি Redis বনাম Memcached মূল্যায়ন করেছিলেন।
         ডেটা স্ট্রাকচার সাপোর্ট এবং স্থায়িত্বের জন্য Redis বেছে নেওয়া হয়েছিল।
         আলোচনাটি সেশন #42-তে আছে।"
```

## দ্রুত শুরু

```bash
# 1. ইনস্টল করুন
pip install memotrail

# 2. Claude Code-এ সংযুক্ত করুন
claude mcp add memotrail -- memotrail serve
```

এটাই সব। MemoTrail প্রথম লঞ্চে আপনার ইতিহাস স্বয়ংক্রিয়ভাবে ইনডেক্স করে।


<div align="center">
<img src="../../demo.gif" alt="MemoTrail Demo" width="800">
<br>
<sub>Install → Connect → See stats → Search past sessions → Save memory → Duplicate &amp; contradiction detection</sub>
</div>

## কিভাবে কাজ করে

| ধাপ | কী ঘটে |
|:----:|:-------------|
| **1. রেকর্ড** | MemoTrail স্টার্টআপে নতুন সেশন স্বয়ংক্রিয়ভাবে ইনডেক্স করে + রিয়েল-টাইমে নতুন ফাইল মনিটর করে |
| **2. বিভাজন** | কথোপকথন টোকেন, টার্ন-ভিত্তিক, বা রিকার্সিভ কৌশল ব্যবহার করে বিভক্ত হয় |
| **3. এম্বেডিং** | প্রতিটি অংশ `all-MiniLM-L6-v2` দিয়ে এম্বেড হয় (~80MB, CPU-তে চলে) |
| **4. নিষ্কাশন** | সারাংশ এবং আর্কিটেকচার সিদ্ধান্ত স্বয়ংক্রিয়ভাবে নিষ্কাশিত হয় |
| **5. সংরক্ষণ** | ভেক্টর ChromaDB-তে, মেটাডেটা SQLite-এ — সব `~/.memotrail/`-এ |
| **6. অনুসন্ধান** | সিমেন্টিক + BM25 কীওয়ার্ড অনুসন্ধান আপনার সম্পূর্ণ ইতিহাস জুড়ে |
| **7. প্রদর্শন** | সবচেয়ে প্রাসঙ্গিক অতীত প্রসঙ্গ ঠিক যখন প্রয়োজন তখন দেখা যায় |

> **100% স্থানীয়** — কোনো ক্লাউড নেই, কোনো API কী নেই, কোনো ডেটা আপনার মেশিন ছাড়ে না।
>
> **মাল্টি-প্ল্যাটফর্ম** — Claude Code এবং Cursor IDE সমর্থন করে, আরো শীঘ্রই আসছে।

## উপলব্ধ টুল

সংযুক্ত হওয়ার পর, Claude Code এই MCP টুলগুলো পায়:

| টুল | বিবরণ |
|------|-------------|
| `search_chats` | সমস্ত পূর্ববর্তী কথোপকথনে সিমেন্টিক অনুসন্ধান |
| `search_keyword` | BM25 কীওয়ার্ড অনুসন্ধান — সুনির্দিষ্ট শব্দ, ফাংশন নাম, ত্রুটি বার্তার জন্য চমৎকার |
| `get_decisions` | রেকর্ড করা আর্কিটেকচার সিদ্ধান্ত পান (স্বয়ংক্রিয় নিষ্কাশিত + ম্যানুয়াল) |
| `get_recent_sessions` | AI-জেনারেটেড সারাংশ সহ সাম্প্রতিক কোডিং সেশনের তালিকা |
| `get_session_detail` | একটি নির্দিষ্ট সেশনের বিষয়বস্তুতে গভীর দৃষ্টি |
| `save_memory` | গুরুত্বপূর্ণ তথ্য বা সিদ্ধান্ত ম্যানুয়ালি সংরক্ষণ করুন |
| `memory_stats` | ইনডেক্সিং পরিসংখ্যান এবং স্টোরেজ ব্যবহার দেখুন |

## CLI কমান্ড

```bash
memotrail serve                          # MCP সার্ভার শুরু করুন (নতুন সেশন স্বয়ংক্রিয় ইনডেক্স করে)
memotrail search "redis caching decision"  # টার্মিনাল থেকে অনুসন্ধান করুন
memotrail stats                          # ইনডেক্সিং পরিসংখ্যান দেখুন
memotrail index                          # ম্যানুয়ালি রি-ইনডেক্স করুন (ঐচ্ছিক)
```

## আর্কিটেকচার

```
~/.memotrail/
├── chroma/          # ভেক্টর এম্বেডিং (ChromaDB)
└── memotrail.db     # সেশন মেটাডেটা (SQLite)
```

| উপাদান | প্রযুক্তি | বিস্তারিত |
|-----------|-----------|---------|
| এম্বেডিং | `all-MiniLM-L6-v2` | ~80MB, CPU-তে চলে |
| ভেক্টর DB | ChromaDB | স্থায়ী স্থানীয় স্টোরেজ |
| কীওয়ার্ড অনুসন্ধান | BM25 | বিশুদ্ধ Python, কোনো অতিরিক্ত নির্ভরতা নেই |
| মেটাডেটা | SQLite | একক-ফাইল ডেটাবেস |
| ফাইল মনিটরিং | watchdog | রিয়েল-টাইম সেশন সনাক্তকরণ |
| প্রোটোকল | MCP | Model Context Protocol |

### সমর্থিত প্ল্যাটফর্ম

| প্ল্যাটফর্ম | স্থিতি | ফরম্যাট |
|----------|--------|--------|
| Claude Code | সমর্থিত | JSONL সেশন ফাইল |
| Cursor IDE | সমর্থিত | state.vscdb (SQLite) |
| GitHub Copilot | পরিকল্পিত | — |

### চাঙ্কিং কৌশল

| কৌশল | সেরা ব্যবহার |
|----------|----------|
| `token` (ডিফল্ট) | সাধারণ ব্যবহার — টোকেন সীমা পর্যন্ত বার্তা গ্রুপ করে |
| `turn` | কথোপকথন-কেন্দ্রিক — ব্যবহারকারী+সহকারী জোড়া গ্রুপ করে |
| `recursive` | দীর্ঘ বিষয়বস্তু — অনুচ্ছেদ, বাক্য, শব্দে বিভক্ত করে |

## কেন MemoTrail?

| | MemoTrail | CLAUDE.md / নিয়ম ফাইল | ম্যানুয়াল নোট |
|---|---|---|---|
| স্বয়ংক্রিয় | হ্যাঁ — প্রতিটি সেশন শুরুতে ইনডেক্স | না — আপনি লেখেন | না |
| অনুসন্ধানযোগ্য | সিমেন্টিক অনুসন্ধান | AI পড়ে, কিন্তু শুধু আপনি যা লিখেছেন | শুধু Ctrl+F |
| স্কেলেবল | হাজার হাজার সেশন | একক ফাইল | ছড়িয়ে থাকা ফাইল |
| প্রসঙ্গ-সচেতন | প্রাসঙ্গিক প্রসঙ্গ ফেরত দেয় | স্থির নিয়ম | ম্যানুয়াল অনুসন্ধান |
| সেটআপ | ৫ মিনিট | ক্রমাগত রক্ষণাবেক্ষণ | ক্রমাগত রক্ষণাবেক্ষণ |

MemoTrail `CLAUDE.md` প্রতিস্থাপন করে না — এটি পরিপূরক। নিয়ম ফাইল নির্দেশনার জন্য। MemoTrail মেমোরির জন্য।

## রোডম্যাপ

- [x] Claude Code সেশন ইনডেক্সিং
- [x] কথোপকথনে সিমেন্টিক অনুসন্ধান
- [x] ৭টি টুল সহ MCP সার্ভার
- [x] ইনডেক্সিং এবং অনুসন্ধানের জন্য CLI
- [x] সার্ভার স্টার্টআপে অটো-ইনডেক্সিং
- [x] স্বয়ংক্রিয় সিদ্ধান্ত নিষ্কাশন
- [x] সেশন সারাংশ
- [x] Cursor IDE কালেক্টর
- [x] BM25 কীওয়ার্ড অনুসন্ধান + হাইব্রিড অনুসন্ধান
- [x] রিয়েল-টাইম ফাইল মনিটরিং (watchdog)
- [x] একাধিক চাঙ্কিং কৌশল (token, turn, recursive)
- [x] VS Code এক্সটেনশন
- [ ] Copilot কালেক্টর
- [ ] ক্লাউড সিঙ্ক (Pro)
- [ ] টিম মেমোরি (Team)

## VS Code এক্সটেনশন

MemoTrail সরাসরি IDE ইন্টিগ্রেশনের জন্য একটি VS Code এক্সটেনশন অন্তর্ভুক্ত করে।

**উপলব্ধ কমান্ড:**
- `MemoTrail: Search Conversations` — সিমেন্টিক অনুসন্ধান
- `MemoTrail: Keyword Search` — BM25 কীওয়ার্ড অনুসন্ধান
- `MemoTrail: Recent Sessions` — সেশন পরিসংখ্যান দেখুন
- `MemoTrail: Index Sessions Now` — ম্যানুয়াল ইনডেক্সিং ট্রিগার করুন
- `MemoTrail: Show Stats` — ইনডেক্সিং পরিসংখ্যান প্রদর্শন করুন

**সেটআপ:**
```bash
cd vscode-extension
npm install
npm run compile
# তারপর VS Code-এ F5 চাপুন এক্সটেনশন ডেভেলপমেন্ট হোস্ট চালু করতে
```

## ডেভেলপমেন্ট

```bash
git clone https://github.com/HalilHopa-Datatent/memotrail.git
cd memotrail
pip install -e ".[dev]"
pytest
ruff check src/
```

## অবদান

অবদান স্বাগত! নির্দেশিকার জন্য [CONTRIBUTING.md](../../docs/CONTRIBUTING.md) দেখুন।

## লাইসেন্স

MIT — দেখুন [LICENSE](../../LICENSE)

---

<div align="center">

**[Halil Hopa](https://halilhopa.com) দ্বারা নির্মিত** · [memotrail.ai](https://memotrail.ai)

MemoTrail যদি আপনাকে সাহায্য করে, GitHub-এ একটি স্টার দেওয়ার কথা ভাবুন।

</div>
