<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 keys)
- **Αυτόματη εξαγωγή αποφάσεων** — οι αρχιτεκτονικές αποφάσεις ανιχνεύονται από συνομιλίες χρησιμοποιώντας αντιστοίχιση μοτίβων
- **Αναζήτηση λέξεων-κλειδιών BM25** — νέο εργαλείο `search_keyword` για ακριβείς όρους, μηνύματα σφαλμάτων, ονόματα συναρτήσεων
- **Υβριδική αναζήτηση** — συνδυάζει σημασιολογικά + αποτελέσματα λέξεων-κλειδιών χρησιμοποιώντας reciprocal rank fusion
- **Υποστήριξη Cursor IDE** — ευρετηριάζει ιστορικό chat του Cursor από αρχεία `state.vscdb`
- **Παρακολούθηση αρχείων σε πραγματικό χρόνο** — νέες συνεδρίες ευρετηριάζονται αμέσως μέσω watchdog (δεν χρειάζεται επανεκκίνηση)
- **Στρατηγικές τμηματοποίησης** — επιλέξτε μεταξύ token-based, turn-based ή αναδρομικού διαχωρισμού
- **Επέκταση VS Code** — αναζήτηση, ευρετηρίαση και προβολή στατιστικών απευθείας από το VS Code
- **69 τεστ** — ολοκληρωμένη κάλυψη δοκιμών σε όλα τα modules

## Το Πρόβλημα

Κάθε νέα συνεδρία Claude Code ξεκινά από το μηδέν. Η AI σας δεν θυμάται τη χθεσινή 3ωρη συνεδρία αποσφαλμάτωσης, τις αρχιτεκτονικές αποφάσεις της περασμένης εβδομάδας ή τις προσεγγίσεις που ήδη απέτυχαν.

**Χωρίς MemoTrail:**
```
Εσύ: "Ας χρησιμοποιήσουμε Redis για caching"
AI:   "Βεβαίως, ας ρυθμίσουμε το Redis"
         ... 2 εβδομάδες αργότερα, νέα συνεδρία ...
Εσύ: "Γιατί χρησιμοποιούμε Redis;"
AI:   "Δεν έχω πλαίσιο για αυτή την απόφαση"
```

**Με MemoTrail:**
```
Εσύ: "Γιατί χρησιμοποιούμε Redis;"
AI:   "Με βάση τη συνεδρία της 15ης Ιανουαρίου — αξιολογήσατε Redis vs 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. Τμηματοποίηση** | Οι συνομιλίες χωρίζονται χρησιμοποιώντας στρατηγικές token, turn-based ή recursive |
| **3. Ενσωμάτωση** | Κάθε τμήμα ενσωματώνεται με `all-MiniLM-L6-v2` (~80MB, τρέχει σε CPU) |
| **4. Εξαγωγή** | Συνόψεις και αρχιτεκτονικές αποφάσεις εξάγονται αυτόματα |
| **5. Αποθήκευση** | Τα vectors πάνε στο ChromaDB, τα metadata στο SQLite — όλα στο `~/.memotrail/` |
| **6. Αναζήτηση** | Σημασιολογική + BM25 αναζήτηση λέξεων-κλειδιών σε όλο σας το ιστορικό |
| **7. Εμφάνιση** | Το πιο σχετικό παλαιότερο πλαίσιο εμφανίζεται ακριβώς όταν το χρειάζεστε |

> **100% τοπικά** — χωρίς cloud, χωρίς API keys, κανένα δεδομένο δεν φεύγει από τον υπολογιστή σας.
>
> **Πολλαπλές πλατφόρμες** — υποστηρίζει 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 server (αυτόματη ευρετηρίαση νέων συνεδριών)
memotrail search "redis caching decision"  # Αναζήτηση από το τερματικό
memotrail stats                          # Προβολή στατιστικών ευρετηρίασης
memotrail index                          # Χειροκίνητη επανευρετηρίαση (προαιρετικό)
```

## Αρχιτεκτονική

```
~/.memotrail/
├── chroma/          # Vector embeddings (ChromaDB)
└── memotrail.db     # Metadata συνεδριών (SQLite)
```

| Στοιχείο | Τεχνολογία | Λεπτομέρειες |
|-----------|-----------|---------|
| Embeddings | `all-MiniLM-L6-v2` | ~80MB, τρέχει σε CPU |
| Vector DB | ChromaDB | Μόνιμη, τοπική αποθήκευση |
| Αναζήτηση λέξεων-κλειδιών | BM25 | Καθαρή Python, χωρίς επιπλέον εξαρτήσεις |
| Metadata | SQLite | Βάση δεδομένων ενός αρχείου |
| Παρακολούθηση αρχείων | watchdog | Ανίχνευση συνεδριών σε πραγματικό χρόνο |
| Πρωτόκολλο | MCP | Model Context Protocol |

### Υποστηριζόμενες Πλατφόρμες

| Πλατφόρμα | Κατάσταση | Μορφή |
|----------|--------|--------|
| Claude Code | Υποστηρίζεται | Αρχεία συνεδριών JSONL |
| Cursor IDE | Υποστηρίζεται | state.vscdb (SQLite) |
| GitHub Copilot | Προγραμματισμένο | — |

### Στρατηγικές Τμηματοποίησης

| Στρατηγική | Ιδανικό για |
|----------|----------|
| `token` (προεπιλογή) | Γενική χρήση — ομαδοποιεί μηνύματα μέχρι το όριο tokens |
| `turn` | Εστίαση σε συνομιλία — ομαδοποιεί ζεύγη χρήστη+βοηθού |
| `recursive` | Μεγάλο περιεχόμενο — διαχωρίζει σε παραγράφους, προτάσεις, λέξεις |

## Γιατί MemoTrail;

| | MemoTrail | CLAUDE.md / Αρχεία κανόνων | Χειροκίνητες σημειώσεις |
|---|---|---|---|
| Αυτόματο | Ναι — ευρετηριάζει σε κάθε έναρξη συνεδρίας | Όχι — γράφετε εσείς | Όχι |
| Αναζητήσιμο | Σημασιολογική αναζήτηση | Η AI το διαβάζει, αλλά μόνο ό,τι γράψατε | Μόνο Ctrl+F |
| Κλιμάκωση | Χιλιάδες συνεδρίες | Ένα αρχείο | Διασκορπισμένα αρχεία |
| Ευαισθησία πλαισίου | Επιστρέφει σχετικό πλαίσιο | Στατικοί κανόνες | Χειροκίνητη αναζήτηση |
| Ρύθμιση | 5 λεπτά | Συνεχής συντήρηση | Συνεχής συντήρηση |

Το MemoTrail δεν αντικαθιστά το `CLAUDE.md` — το συμπληρώνει. Τα αρχεία κανόνων είναι για οδηγίες. Το MemoTrail είναι για μνήμη.

## Οδικός Χάρτης

- [x] Ευρετηρίαση συνεδριών Claude Code
- [x] Σημασιολογική αναζήτηση μεταξύ συνομιλιών
- [x] MCP server με 7 εργαλεία
- [x] CLI για ευρετηρίαση και αναζήτηση
- [x] Αυτόματη ευρετηρίαση κατά την εκκίνηση του server
- [x] Αυτόματη εξαγωγή αποφάσεων
- [x] Σύνοψη συνεδριών
- [x] Συλλέκτης Cursor IDE
- [x] Αναζήτηση λέξεων-κλειδιών BM25 + υβριδική αναζήτηση
- [x] Παρακολούθηση αρχείων σε πραγματικό χρόνο (watchdog)
- [x] Πολλαπλές στρατηγικές τμηματοποίησης (token, turn, recursive)
- [x] Επέκταση VS Code
- [ ] Συλλέκτης Copilot
- [ ] Συγχρονισμός cloud (Pro)
- [ ] Ομαδική μνήμη (Team)

## Επέκταση VS Code

Το MemoTrail περιλαμβάνει επέκταση VS Code για άμεση ενσωμάτωση με το IDE.

**Διαθέσιμες εντολές:**
- `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
# Στη συνέχεια πατήστε F5 στο VS Code για εκκίνηση του Extension Development Host
```

## Ανάπτυξη

```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>
