Urðr (okunuşu "urth"), İskandinav mitolojisindeki kaderin kuyusundan adını alan, AI kodlama ajanları için açık kaynaklı bir hafıza mimarisi. Oturumlar arasında bilgiyi bir vektör veritabanında opak bir blob olarak değil, düz, git-diff'lenebilir Markdown dosyaları ve çökme-güvenli bir event-log olarak saklar. NatureCo CLI'nin kendi hafıza sisteminin temelini oluşturur; artık bağımsız, herkese açık bir proje.
git diff ile okunabilir, birden fazla ajan/kanal aynı hafızaya eşzamanlı ve kayıpsız yazabilir. Kurulum tek satır: npx urdr-mcp-server.
AI ajanları her yeni oturumda hafızasını kaybeder — ya da hafızayı bir vektör veritabanında embedding'lere gömüp anlamsal aramayla geri getirir. İkinci yaklaşım çalışır, ama iki bedeli var: (1) hafıza opak hale gelir — embedding'lerin içinde tam olarak ne saklandığını, ne zaman değiştiğini, neden değiştiğini göremezsiniz; (2) denetlenemez — bir ajanın hafızasına yanlış veya güncel olmayan bir bilgi girdiğinde, bunu bulup düzeltmek için embedding uzayında arama yapmanız gerekir, git diff ile bakamazsınız.
Urðr bu sorunu farklı çözer: hafızayı düz Markdown olarak, hiyerarşik bir ağaçta tutar ve her değişikliği bir event-log'a hash-zincirli olarak kaydeder. Sonuç: insan tarafından okunabilir, git ile versiyonlanabilir, birden fazla süreç tarafından güvenle paylaşılabilir bir hafıza.
Hafıza, dört ana kökten oluşan bir Markdown ağacında tutulur (İngilizce ve Türkçe eşdeğerleriyle):
Markdown dosyaları, altında yatan event-log'un materialize edilmiş bir görünümüdür — ama salt-okunur değildir, doğrudan elle de düzenlenebilir; Urðr bir sonraki işlemde uzlaştırır (reconcile). Her yaprağın (leaf) kararlı, benzersiz bir kimliği vardır (<!-- urdr:id:... -->), böylece dal yeniden adlandırılsa, taşınsa veya bölünse bile referanslar (bkz:) kopmaz.
Her yazma işlemi atomiktir: önce geçici dosyaya fsync yapılır, sonra platforma özgü dayanıklı bir rename ile canlı dosyanın yerine geçirilir (Windows'ta MoveFileExW + MOVEFILE_WRITE_THROUGH, POSIX'te dizin fsync'i dahil). Süreç ortasında çökse bile ya işlem tamamen uygulanmıştır ya da hiç uygulanmamıştır — asla yarım bir dosya kalmaz. Eşzamanlı yazıcılar arasında ise bir lease-lock mekanizması koordinasyonu sağlar.
Kaynak, düz Markdown — hafızanızın her değişimini normal bir git commit gibi görün, karşılaştırın, geri alın.
Her atomik yazma fsync + rename ile korunur; 4 farklı çökme noktasında fault-injection testleriyle doğrulanır.
Lease-lock koordinasyonuyla birden fazla kanal (terminal + botlar) aynı hafızaya güvenle, kayıpsız yazabilir.
Önce hiyerarşi, sonra LLM'siz hibrit metin eşleştirme fallback'i — Türkçe ek/kök farkındalığı dahil.
Model Context Protocol üzerinden 7 namespaced araçla (search/append/lint/compile_plan/apply_plan/forget_leaf/resume_forgetting) doğrudan bağlanır.
Kalıcı silme (redaksiyon) ve isteğe bağlı kaynak/güven metadata'sı — hafıza şeffaf, denetlenebilir kalır.
| Kriter | Urðr | Vektör DB | Düz metin/JSON dosyası |
|---|---|---|---|
| Git diff ile okunabilir | Evet | Hayır (embedding'ler opak) | Kısmen |
| Çökme-güvenli atomik yazma | Evet, test edilmiş | Motora bağlı | Genelde hayır |
| Eşzamanlı çoklu-yazıcı desteği | Evet, lease-lock ile | Motora bağlı | Genelde hayır |
| Semantik/anlamsal arama | Yok (hibrit metin eşleştirme) | Evet | Yok |
| Elle düzenlenebilir | Evet, doğrudan Markdown | Hayır | Evet |
| Kurulum | Tek komut, sunucu yok | Genelde ayrı bir servis | Yok |
Not: Urðr semantik aramayı hedeflemez. İhtiyacınız birincil olarak anlamsal benzerlik araması ise bir vektör DB daha uygun olabilir; birincil ihtiyacınız şeffaflık, denetlenebilirlik ve çökme güvenliğiyse Urðr bunun için tasarlandı.
npm üzerinden, ayrı bir kurulum adımı gerekmeden ajanınızı doğrudan Urðr'ın MCP sunucusuna bağlayabilirsiniz. Kullandığınız ajana göre aşağıdaki adımları izleyin.
Urðr'ın hafıza ağacını tutacağı bir klasör belirleyin (mevcut değilse otomatik oluşturulur):
git init), hafızanızın tüm geçmişini commit olarak izleyebilirsiniz — zorunlu değil ama şiddetle önerilir.Kullandığınız ajana göre tek satırlık komutu çalıştırın:
Claude Code:
Codex CLI:
OpenCode / diğer MCP istemcileri:
-y bayrağı npx'in "kurulsun mu?" onayını atlar — bir ajan tarafından çalıştırılan komutlar için önerilir.Ajanınıza basit bir hafıza sorgusu yaptırın (ör. "hafızanda ne var, bir şey arasana"). Sunucu ilk çağrıda ~/my-memory altında dört-kök şablonunu otomatik oluşturur ve stdio üzerinden yanıt vermeye başlar.
Kurulu bir yerel checkout'unuz varsa (katkıda bulunmak için) node scripts/mcp-server.mjs --root ~/my-memory alternatifi de mevcuttur. Tam kurulum rehberi, her ajan için hazır entegrasyon dosyaları ve gelişmiş seçenekler GitHub'daki README'de.
Bir hafıza sisteminde "çökme-güvenli" veya "veri kaybetmez" demek kolaydır; Urðr bu iddiaları test sonuçlarıyla arkalıyor:
npm audit)before-fsync, before-rename, after-rename, before-directory-fsyncnpx urdr-mcp-server "command not found" veriyorÇözüm: Node.js 22 veya üzeri kurulu olduğundan emin olun (node --version). npx, Node.js ile birlikte gelir; ayrı bir kurulum gerekmez.
Çözüm: claude mcp list veya codex mcp list ile sunucunun kayıtlı olduğunu doğrulayın. Komutu çalıştırdığınız kabuğun (shell) npx'e erişebildiğinden emin olun.
Çözüm: --root ile verdiğiniz yolun mevcut ve yazılabilir olduğunu kontrol edin; yol yoksa Urðr onu otomatik oluşturmaya çalışır, ancak üst dizin yazılabilir olmalıdır.
Çözüm: Bu, lease-lock'un beklenen davranışıdır — eşzamanlı yazma güvenliği için kısa bir bekleme normaldir. Sürekli tekrarlıyorsa GitHub'daki Issues sayfasından bildirin.
Hayır. Embedding üretmez, semantik arama yapmaz. Hiyerarşi-önce + hibrit metin eşleştirme kullanır. Karşılığında kazandığınız şey: hafızanın tamamen düz Markdown olarak git diff'lenebilir, denetlenebilir ve elle düzenlenebilir olması.
Tamamen kendi makinenizde veya sunucunuzda, belirlediğiniz bir klasörde (ör. ~/my-memory). Urðr hiçbir veriyi dışarı göndermez.
Evet. Lease tabanlı kilitleme ve atomik (fsync + rename) yazma sayesinde birden fazla yazıcı süreç aynı hafıza ağacına veri kaybı olmadan eşzamanlı yazabilir.
Evet, MIT lisansıyla tamamen açık kaynak ve ücretsiz. Kaynak kodu ve denetim geçmişi GitHub'da herkese açık.
NatureCo CLI'nin kendi ajan hafızası, Urðr'ın mimarisinden doğdu. Urðr artık bağımsız, herkese açık bir proje olarak geliştiriliyor ve npm üzerinden herkes tarafından kullanılabiliyor.