homelab-brain Mimarisi
Tarih: 2026-06-27 · Durum: kabul edildi
Bağlam / sorun
Claude’un, Ahmet ile yaptığı sohbetlerdeki ve projelerdeki bilgiyi kalıcı hafıza yapması isteniyor. Erişim hızlı ve odaklı olmalı; PDF/ofis/resim eklenerek hafıza büyütülebilmeli; 3 bilgisayardan çalışmalı; otonom olmalı; mevcut Claude/CLAUDE.md standartlarıyla uyumlu olmalı.
Karar
Karpathy “LLM Wiki” deseninin sade, bize özel bir uygulaması. Plain markdown + git
- Obsidian substrat; erişim Claude’un doğal agentic dosya araması (router → frontmatter/özet → bölüm → grep → eşanlamlı → semantik); merkezi bir konteyner servisle 3-konum + otonomi.
Bileşenler
- Vault (bu repo,
ahmetem/homelab-brain, private):CLAUDE.md(şema, hep yüklü),index.md(router),log.md, alan klasörleri,_sablonlar/,kaynaklar/. - CT 210 (
192.168.1.33, yeni LXC): canonical vault clone + brain-mcp + ingest izleyici + web wiki; otonom commit+push ile GitHub’a senkron. - brain-mcp (FastMCP, proxmox-mcp pattern’i):
brain_search/read/get_index/get_moc,brain_write_note/update_note/supersede/log,brain_ingest_file,brain_lint. 3 makinedeki Claude Desktop NPM ilebrain.ahmetkaraca.com’a bağlanır. - Semantik katman (1000+ not için): CT 200 PostgreSQL VectorChord üzerinde ayrı
brainDB; agentic grep yetmediğinde devreye girer (lokal, bulut vektör DB yok). - Ingest hattı:
_gelen/→ kademeli dönüştürücü (Docling/MarkItDown/pandoc/PyMuPDF, tarama→Tesseract/Claude vision, resim→vision açıklama) → sidecar.md→kaynaklar/ekler/→ manifest (SHA-256) → commit. - Obsidian (3 makine): insan düzenleme/görselleştirme; Obsidian Git ile senkron.
- Web wiki (Quartz): telefon/tarayıcıdan okuma, NPM + kimlik doğrulama arkasında.
Gerekçe (araştırmaya dayalı)
- Agentic arama > önceden-kurulu vektör RAG (navigasyonel dosya bilgisi için): bayatlamaz,
altyapı yok, gerçek-zamanlı; yüzlerce-binlerce notta grep, vektör RAG’ı eşitler/geçer.
Anthropic hibrit önerir (az şeyi önden yükle =
index.md; gerisini anında getir). - Yapı, asıl performans kaldıracıdır (motor değil): router, frontmatter, özet, etiket, atomik notlar.
- obsidian-wiki’den şema + provenance işaretleri + manifest deseni ödünç alındı; ama tek
kullanıcı için ağır +
~/.claudeiç yapısına kırılgan olduğundan bağımlılık olarak alınmadı. - Mevcut altyapı yeniden kullanıldı: VectorChord (CT 200), n8n (ingest tetikleyici), NPM, git/GitHub.
Değerlendirilen alternatifler
- Saf-git, her makinede lokal clone (merkezi servis yok): daha basit ama Claude Desktop’a ve otonomiye zayıf hizmet eder → reddedildi (merkezi brain-mcp seçildi, git yine source of truth).
- obsidian-wiki’yi fork/kur: hızlı ama bağımlılık + kırılganlık + tek-geliştirici riski → reddedildi.
- Bulut vektör DB / embeddings’i baştan kur: bayatlama + maliyet + gizlilik; yaşanmamış bir sorunun erken çözümü → ertelendi (VectorChord lokal, gerektiğinde).
Doğrulamadan gelen düzeltmeler (tasarımı etkileyen)
CLAUDE.local.mddeprecated değil;@importonu tamamlar (context tasarrufu sağlamaz).#ile hızlı-hafıza-ekleme artık çalışmıyor → doğal dil //memory/ dosya düzenleme.- Doğru terim “managed policy”; CLAUDE.md’ler birleştirilir (override değil), kök
/compactsonrası tekrar yüklenir, alt-dizindekiler yüklenmez → şema kökte. - Anthropic “RAG öldü” demiyor → hibrit (bizim
index.md= bilinçli önden-yükleme).
Sonuçlar / etkiler
- (+) Hızlı/odaklı erişim, sıfır bayatlama, git ile tam denetlenebilirlik + off-site yedek.
- (+) Multimodal genişleme, 3-konum, otonomi, mevcut altyapıyla uyum.
- (−) CT 210 + brain-mcp + ingest bakım yükü; otonom yazımlar git diff ile denetlenmeli.
- Risk yönetimi: provenance işaretleri + supersession + lint, kişisel hafızanın güvenilirliğini korur.
Faz planı
- Faz 1 ✅ — vault iskeleti, CLAUDE.md, şablonlar, tohum notlar.
- Faz 2 ✅ kod — brain-mcp sunucusu.
- Faz 3 ✅ kod — ingest hattı + VectorChord semantik.
- Deploy — CT 210 kurulumu, NPM, Obsidian (3 makine), web wiki. Bkz.
_sistem/deploy/.
İlgili
- postgres-mcp · homelab-agent · calisma-tarzi
_sistem/README.tr.md·_sistem/deploy/ct210-kurulum.md