Semantic search for chat messages powered by TurboQuant vector compression (ICLR 2026).
Search your Discord, KakaoTalk, and other chat exports by meaning, not just keywords.
"What was that restaurant my friend recommended?" → ChatMind finds it even if you don't remember the exact words.
| Feature | Discord Search | Ctrl+F | ChatMind |
|---|---|---|---|
| Semantic search | No | No | Yes |
| Synonym recognition | No | No | Yes |
| Similarity score | No | No | Yes (0.0~1.0) |
| Offline | No | Yes | Yes |
| Cross-language | No | No | Yes |
| Filter by sender/date | Partial | No | Yes |
pip install chatmindOr from source:
git clone https://github.com/wjddusrb03/chatmind.git
cd chatmind
pip install -e ".[dev]"Use DiscordChatExporter to export as JSON.
# Index the exported file
chatmind index discord_export.json
# Search by meaning
chatmind search "restaurant recommendation"
chatmind search "travel plans" --from Alex
chatmind search "homework help" --after 2024-01-01
chatmind search "game night" -k 10Search: restaurant recommendation
Found 5 results
#1 [HIGH] 0.89 2024-01-15 10:02
Park: I found an amazing sushi restaurant near Gangnam station
[general]
#2 [HIGH] 0.84 2024-01-15 14:32
Park: Try the pasta place on 5th street, their carbonara is amazing
[general]
#3 [MED] 0.71 2024-01-16 12:02
Alex: Their tonkotsu ramen is incredible, thick and creamy broth
[general]
| Platform | Format | How to Export |
|---|---|---|
| Discord | .json, .csv |
DiscordChatExporter |
| KakaoTalk | .txt |
Chat Room > Menu > Export Chat |
| More coming soon! |
| Command | Description |
|---|---|
chatmind index <file> |
Index chat messages |
chatmind search "query" |
Semantic search |
chatmind stats |
Show index statistics |
chatmind rooms |
List rooms/channels |
chatmind people |
List participants |
chatmind search "query" --from "Alex" # Filter by sender
chatmind search "query" --room "general" # Filter by room
chatmind search "query" --after 2024-01-01 # After date
chatmind search "query" --before 2024-12-31 # Before date
chatmind search "query" -k 20 # Top 20 resultsChat Export → Parse → Sentence Embeddings → TurboQuant Compression → Semantic Search
(multilingual model) (2x memory savings) (asymmetric scoring)
- Parse: Auto-detect and parse Discord/KakaoTalk export files
- Embed: Convert messages to 384D vectors using multilingual model
- Compress: TurboQuant (Google, ICLR 2026) for ~2x memory savings
- Search: Asymmetric scoring without decompression
Uses paraphrase-multilingual-MiniLM-L12-v2 model supporting 50+ languages:
- English, Korean, Japanese, Chinese, Spanish, French, German...
- Cross-language search: Search in Korean, find English results!
- Python 3.9+
- CPU only (no GPU needed)
- ~420 MB for embedding model (first-time download)
- CommitMind - Semantic search for Git commits
- langchain-turboquant - TurboQuant for LangChain
Found a bug or have an idea? Please open an Issue! Korean and English are both welcome.
MIT License