Localmind 发布本地记忆系统,用 Ollama 与 MCP 管理智能体记忆
xmrah/localmind
Localmind 是一个完全本地运行的记忆系统,用 Ollama 模型做语义分析与实体抽取,数据不上传云端,也不需要 API 密钥、遥测或订阅。它把记忆按「心智宫殿」的 Wing、Room、Cabinet 层级组织,结合 ChromaDB 向量检索、SQLite BM25 关键词匹配和 Ebbinghaus 遗忘曲线做混合语义搜索。
Localmind, notları yalnızca depolayan pasif bir veritabanı değildir. Arka planda yerel Ollama modelleriyle çalışan, bilgileri anlayan, anlamsal ilişkiler ve varlık ağını çıkaran, Zihin Sarayı hiyerarşisiyle düzenleyen ve ihtiyaç anında bağlamıyla birlikte doğrudan yapay zeka modeline veya web konsoluna sunan durumsuz ve egemen bir bellek sistemidir.
Veriler internete veya bulut sunucularına iletilmez. API anahtarı, telemetri veya abonelik gerektirmez. Tamamen yerel çalışır ve harici bağımlılık içermez.
Hızlı Kurulum
1. Depoyu Klonlama ve Başlatma
git clone https://codeberg.org/xmrah/localmind.git cd localmind python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python server_sse.py
Web yönetim paneli http://127.0.0.1:8000 adresinde hazır hale gelir.
NixOS kullanıcıları doğrudan nix develop ile geliştirme kabuğuna geçebilir veya flake üzerinden çalıştırabilir.
2. Ollama Modeli
Yerel anlamsal analiz ve varlık çıkarımı için sistemde Ollama bulunması önerilir:
ollama serve ollama pull qwen2.5-coder:7b
Ollama çalışmadığında sistem 0 MB VRAM Hızlı Mod ile anında ve doğrudan manuel kayıt almaya devam eder.
Temel Yetenekler
- Veri Egemenliği: Bellek veritabanı, vektör indeksleri ve grafik ilişkileri yalnızca yerel diskte saklanır.
- Zihin Sarayı Hiyerarşisi: Anılar düz bir vektör havuzunda kaybolmaz; Kanat, Oda ve Dolap koordinatlarıyla yapılandırılır.
- Komut Paleti:
Ctrl+Kile klavye üzerinden doğrudan arama, sayfa geçişi ve anı ekleme. - Katkı Isı Haritası: 140 günlük kayıt geçmişini yoğunluk kademeleriyle izleme ve tarihe göre filtreleme.
- Canlı Bilgi Grafiği: D3.js ile merkez düğüm titreşimi, bağlantı akış çizgileri ve organik hareket sunan ilişki ağı.
- Analitik İçgörüleri: 30 günden eski yüksek öncelikli paslanan anılar, bağlantısız öksüz anılar ve tematik odak dağılımı.
- Dinamik Yapılandırma: Kod değiştirmeden
config.jsonveya arayüz üzerinden model değiştirme, anlık test ve ayar güncelleme. - Yönetim Konsolu: Geçmişe dönük kayıt, kalıcı silme, arşivleme ve geri alma desteği.
- Hibrit Semantik Arama: Cosine vektör benzerliği, SQLite BM25 anahtar kelime eşleşmesi ve Ebbinghaus çürüme puanı birleşimi.
- Ebbinghaus Bellek Çürümesi: Zaman içinde az erişilen kayıtları arka plana alan, sık kullanılan ve önemli anıları önde tutan matematiksel model.
Zihin Sarayı Hiyerarşisi
Localmind, antik Loci Yöntemi'ni ChromaDB metadata filtreleme şemasına entegre eder:
Zihin Sarayı
└── Kanat → En üst bağlam veya proje (örn: NixOS, Ağ Güvenliği, Frontend)
└── Oda → Tematik kategori (örn: mimari, guvenlik, donanim, ogrenme)
└── Dolap → Özel konu başlığı veya bileşen (örn: Flake, FastMCP, Hyprland)
└── Anı → Doğrudan not, karar metni veya bilgi
- Cerrahi Filtreleme: Binlerce kayıt taranmadan doğrudan hedeflenen kanat veya dolap içinde sorgulama yapılır.
- Geriye Dönük Uyumluluk: Kanat veya dolap belirtilmeyen kayıtlar varsayılan olarak genel alanına atanır.
Mimari Topoloji
flowchart TD
subgraph Clients ["İstemciler"]
direction LR
C1["Open-WebUI<br><i>:8001 HTTP/SSE</i>"]
C2["Antigravity / Continue / IDE<br><i>Stdio IPC</i>"]
C3["Yönetim Konsolu<br><i>:8000 REST/SSE</i>"]
end
subgraph Core ["Çekirdek Bellek Motoru"]
CFG[("config.json")] <-->|Dinamik Ayarlar| MM["MemoryManager"]
MM <-->|Sınıflandırma ve Upsert| INT["Zeka Katmanı"]
end
subgraph Storage ["Depolama ve Modeller"]
direction LR
VDB[("ChromaDB<br><i>zihin_sarayi</i>")]
GDB[("SQLite WAL<br><i>graph.db</i>")]
OLLAMA["Ollama<br><i>:11434</i>"]
end
C1 ==> MM
C2 ==> MM
C3 ==> MM
MM -->|Vektörler| VDB
MM -->|İlişkiler| GDB
INT <-->|Çıkarım| OLLAMA
Loading
Yönetim Konsolu
http://127.0.0.1:8000 adresindeki web arayüzü aşağıdaki bölümleri içerir:
| Bölüm | Özellikler |
|---|---|
| Genel Bakış | Canlı sistem göstergesi, sayaç animasyonları, hızlı anı girişi ve son hareketler. |
| Bilgi Grafiği | D3.js ile varlık ve bellek ağı, merkez düğüm aurası, akış çizgileri ve süzülme hareketi. |
| Odalar | Kanat ve dolap sayaçları, tazelik rozetleri ve son anı önizlemesi. |
| Zaman Çizelgesi | 140 günlük katkı ısı haritası, gün filtresi ve 90 günlük etkinlik eğrisi. |
| Analitik | Paslanan anılar, öksüz anılar, odak ağırlığı, unutma eğrisi ve önem dağılımı. |
| Hatırlatmalar | Ebbinghaus eğrisine göre unutulmaya yüz tutmuş kritik bilgilerin listesi. |
| Arşiv | Arşivlenen kayıtlar; tek tıkla geri alma veya kalıcı silme. |
| Ayarlar | Ollama model listesi, canlı test, unutma katsayısı ve yapılandırma kaydı. |
FastMCP Araçları
Ajanların çağırdığı temel işlevler:
| Araç | Tanım |
|---|---|
hafizaya_yaz |
Kanat, dolap ve önem derecesiyle kayıt alır; yapay zeka kapalıyken 0 MB VRAM ile anında yazar. |
hafizada_ara |
Vektör, metin ve unutma faktörünü harmanlayan semantik arama yapar. |
hafizayi_unut |
Kaydı silmeden arşive taşır. |
grafik_sorgula |
Bir kavram veya varlığın ilişki ağını getirir. |
oturum_ozetle |
Konuşma metnini yapılandırılmış anıya dönüştürür. |
hatirlat |
Unutulmaya başlayan önemli bilgileri listeler. |
gecmise_bak |
Belirtilen tarih aralığındaki kayıtları getirir. |
profil_goster |
Kullanıcının oda ve etiket dağılımını özetler. |
oda_listele |
Mevcut odaları, alt mekanları ve kayıt sayılarını döndürür. |
hafizayi_aktar |
Tüm belleği JSON formatında dışa aktarır. |
İstemci Entegrasyonları
Antigravity IDE, Claude Desktop ve Continue
mcp_config.json dosyasında:
{
"mcpServers": {
"localmind": {
"command": "/bin/bash",
"args": ["/home/KULLANICI/Projects/localmind/run_mcp.sh"]
}
}
}Open-WebUI
Yönetici Paneli > Ayarlar > Dış Araçlar sekmesinde:
- Tür: Streamable HTTP
- URL:
http://127.0.0.1:8001/mcp - ID:
localmind
Wiki Dokümantasyonu
Detaylı kullanım ve servis yapılandırmaları için Localmind Wiki sayfaları incelenebilir:
- Ana Sayfa
- Kurulum ve Servis Yapılandırması
- Zihin Sarayı Rehberi
- Dashboard Kılavuzu
- İstemci Entegrasyonları
- FastMCP Araçları Referansı
Mimari Karar Kayıtları
Projede alınan kararlar docs/adr/ dizininde belgelenmiştir:
Lisans
Bu proje MIT Lisansı ile sunulmaktadır.
来源:GitHub · github.com