İçeriğe geç
Claude Code için

DS-ReCall: hafızayı tahmine bırakmadık.

Devsoy'un aylardır kendi projelerinde kullandığı küratörlü hafıza disiplinini Claude Code için açık kaynak yaptık. Hook'larda sıfır model çağrısı, %100 yerel, MIT lisanslı. Güncel sürüm 0.3.0 (19 Ekim 2026).

GitHub'da İncele Tek Satırda Kur Nasıl Çalışır

AI ajanının ne unuttuğunu görmek istedik

Claude Code'un yerleşik oto-hafızası kullanışlı ama neyin saklanacağına Claude karar veriyor; siz seçmiyorsunuz. Devsoy'da onlarca projeyi (finans terminali, GDYS, müşteri CRM'leri) aynı asistanla yürütürken bu bizim için gerçek bir risk oldu — "ajan uydurdu mu, yoksa ben mi bir şey mi kaçırdım" sorusuna her zaman net bir cevabımız olmalıydı.

DS-ReCall bunun cevabı: hook'ları sıfır model çağrısıyla çalışan, deterministik bir disiplin katmanı; neyin kalıcı olacağına karar veren ise sizsiniz. Otomatik hafıza araçlarıyla yarışmıyoruz — onlar "zahmetsiz" ekseninde daha olgun. Biz "neyin saklanacağına siz karar verirsiniz" ekseninde duruyoruz.

SIFIR
Hook'ta AI çağrısı
Hook'lar deterministik; model çağırmaz, ağa çıkmaz
100%
Yerel çalışır
Veri cihazdan çıkmaz, telemetri yok
MIT
Açık kaynak
Ücretsiz, inceleyip forklayabilirsiniz

Rakamlarla DS-ReCall 0.3.0

19 Ekim 2026 itibarıyla yayında; genç bir yazılım, tek bakımcı. Rakamlar 0.3.0 belgelerinden alınmıştır.

~158
token, her zaman yüklü
Claude Code'un kendi tahmini; /wrap çalışırken ~2,2k
140
otomatik test vakası
+ negatif koşum: 35 enjeksiyondan sınanabilir 34'ü, 34/34 yakalandı
0
model çağrısı (hook'lar)
Çalışma zamanı betikleri yalnız fs, path, zlib içe aktarır

Token değerleri claude plugin details ds-recall çıktısıdır (Claude Code 2.1.299), tam sayım değildir. Asıl maliyet eklenti değil, her oturumda tamamen yüklenen kendi CLAUDE.md ve kural dosyalarınızdır. Negatif koşumun yeni test kollarındaki ilk tam çalıştırması başarısız oldu (iki açık kendi testimizdeydi) ve yayından önce düzeltildi. Ölçümlerin ve kendi doğrulamamızın hikâyesi blog yazısında: DS-ReCall Kurulum Rehberi: Kendi Kurulum Kontrolümüz Başarısız Oldu.

Beş yapı taşı

DS-ReCall depolamayı yeniden icat etmiyor — Claude Code zaten her oturumda CLAUDE.md ve .claude/rules/'ı yüklüyor. DS-ReCall bu katmanı küratörlü hale getiriyor.

1. Yakala

Her oturum başında otomatik bir taslak açılır, sistem saatini enjekte eder (tarih halüsinasyonuna karşı) ve konsolide edilmemiş bir önceki oturum varsa sessizce hatırlatır.

2. Konsolide Et

/ds-recall:wrap — oturumu kanona işler: kararlar günlüğe, indeks tazelenir, kurallar güncellenir. Her satır durum etiketi taşır.

3. Doğrula

Bütünlük kontrolü: kırık link, öksüz dosya, indekslenmemiş oturum. Her git commit'te çalışır; bütünlük FAIL iken varsayılan olarak uyarır (0.3.0'dan beri), sıkı modda ("gateCommit": "block") commit'i durdurur.

4. Eşzamanlılık

Oturum başına kilit + paylaşılan kanona çakışan yazımları engelleyen bir koruma. Birden fazla oturum aynı projede güvenle çalışabilir.

5. Görselleştir

/ds-recall:graph — oturumları konu etiketine göre gezegenlere kümeler; konsolide edilmemiş her oturum tek bir "Needs Wrap" noktasında görünür kalır.

Hafızanızı görün, tahmin etmeyin

Sıfır bağımlılık, sıfır build — self-contained Canvas 2D. Aşağıdaki demo veri kümesiyle (gerçek proje adı içermez) üretilmiştir.

DS-ReCall canlı hafıza grafiği demo görünümü
DS-RECALL · github.com/toresoysal/ds-recall

Her araç aynı sorunu çözmüyor

Claude-mem ve Anthropic'in kendi Remember eklentisi gibi "otomatik" çözümler zahmetsizlik ekseninde daha olgun. DS-ReCall farklı bir ekseni seçiyor. Üç yaklaşımı yan yana koyduk.

Tüm sütunları görmek için tabloyu yana kaydırın.

Claude Code yerleşik oto-hafızaOtomatik sıkıştırma eklentileri (Remember, claude-mem…)DS-ReCall
KüratörlükNeyin saklanacağına Claude karar verirYapay zeka sizin için özetlerSiz (veya Claude, açıkça /wrap'te)
Oturum başı maliyetMEMORY.md'nin ilk 200 satırı / 25 KB'ı yüklenirGenelde oturum başına bir model çağrısıHook'lardan sıfır model çağrısı; her zaman yüklü ~158 token, /wrap çalışırken ~2,2k (Claude Code'un tahmini) — üstüne kendi CLAUDE.md ve kurallarınızın ağırlığı
Hafıza sınırı aşılıncaClaude Code 2.1.210'dan beri açık hata (öncesi: sessiz kırpma)Araca göre değişir/ds-recall:status ve /wrap'te görünür boyut uyarısı
Çoklu oturum güvenliğiÖne çıkan bir özellik değilİncelediğimiz araçlarda öne çıkan bir özellik değilOturum başına kilit + commit-gate (varsayılan: uyarır; sıkı modda engeller)
Geçmiş oturumlarda aramaKaydettiğini geri çağırırGenelde var (anlamsal / tam metin)Yok — indeks ve grep
KurulumYokKurulumKurulum + tek komutluk proje hazırlığı (init.js) + oturum başına bir açık adım (/wrap) — gerçek, kasıtlı sürtünme

Dürüst özet: sıfır düşünceyle çalışan bir hafıza istiyorsanız otomatik araçlar daha olgun — onları kullanın. Yerleşik oto-hafıza artık sessizce kırpmıyor; geriye kalan fark görünürlük değil, küratörlük. DS-ReCall, yapay zekanın ne tuttuğuna ne bıraktığına siz karar vermek istediğinizde; paylaşılan bir CLAUDE.md'niz, müşteriye "yapay zeka ne uydurdu" sorusuna gerçek bir cevabınız olması gerektiğinde anlamlı.

Kaynak: DS-ReCall 0.3.0 README'sindeki karşılaştırma tablosu ve Claude Code'un yayımlanmış sürüm notları (2.1.210: MEMORY.md sınırı aşılınca açık hata). Felsefede bize en yakın bulduğumuz araçlar engram ve total-recall (Eylül 2026 incelemesi; birbirleriyle kıyaslama ölçümü yapmadık).

4 adımda başlayın

Sürüm 0.3.0 için, 19 Ekim 2026 itibarıyla. Claude Code 2.1.275 veya üzeri ve PATH'te Node.js gerekir (v22'de denendi).

  1. Plugin'i kurunProjenizin klasöründe tek satır: claude plugin install ds-recall --marketplace toresoysal/ds-recall --scope project --scope project eklentiyi yalnız o projede etkinleştirir. Bu bayrak olmadan hook'lar açtığınız her projede çalışır; hazırlamadığınız projelerde de oturum taslağı, indeks dosyası ve transkript yedeği oluşturur. Kurmadan denemek için: git clone https://github.com/toresoysal/ds-recall ve claude --plugin-dir ./ds-recall.
  2. Projeyi bir kez hazırlayınProje kökünde tek komut (Windows PowerShell için aşağıdaki satır): node ~/.claude/plugins/cache/devsoy/ds-recall/0.3.0/scripts/init.js node "$env:USERPROFILE\.claude\plugins\cache\devsoy\ds-recall\0.3.0\scripts\init.js" Komut CLAUDE.md'yi, karar günlüğünü, zaman çizelgesini ve ayar dosyasını oluşturur, üç yardımcı betiği (validate.js, wrap-prep.js, session-lib.js) .claude/scripts/ içine kopyalar ve .gitignore satırlarını ekler. Var olan hiçbir dosyanın üzerine yazmaz; önce --dry-run ile ne yapacağını görebilirsiniz (hiçbir şey yazmaz). Yoldaki sürüm klasörünü kendi sürümünüze göre düzeltin. 0.1 ve 0.2'nin istediği sekiz elle kopyalama adımı kullanım rehberinde açılır bir bölümde duruyor.
  3. Yerleşik oto-hafızayı kapatınProje .claude/settings.json'unda "autoMemoryEnabled": false ya da init.js'i --disable-auto-memory ile yeniden çalıştırın (ayarlarınız bu seçenek olmadan kendiliğinden değiştirilmez) — unutursanız SessionStart her oturumda hatırlatır.
  4. Doğrulayın, sonra kullanınnode .claude/scripts/validate.js çıktısında RESULT: OK görün. Sonra /ds-recall:wrap ile oturumu kapatın, /ds-recall:status ile sağlığı görün, /ds-recall:graph ile haritayı açın.

Mevcut bir repoya kuruyorsanız: commit-gate 0.3.0'dan beri varsayılan olarak UYARIR, engellemez.

docs/ klasörünüz varsa ve CLAUDE.md ona bağlantı vermiyorsa DS-ReCall bunları "öksüz" sayar ve bütünlük kontrolü FAIL olduğu sürece her git commit'te uyarı verir; commit geçer. Sıkı mod için ds-recall.config.json içine "gateCommit": "block" yazın, tümden kapatmak için false.

Geçmiş: 0.1 ve 0.2'de varsayılan engellemekti. 0.2'de ölçüldü: bağlantısız docs/ klasörü olan taze bir kurulum her commit'i reddetti (orphan=1; kendi CLAUDE.md'niz varken kopyalanan DECISIONS.md ve TIMELINE.md da öksüz kalıyordu, orphan=2). Varsayılanı bu yüzden değiştirdik. 0.2.x'ten geçiyorsanız: ayar dosyasında gateCommit anahtarı olmayan projelerde varsayılan engellemeden uyarıya döner; engellemeye güveniyorsanız "block" yazın (true yazan ayarlar eskisi gibi engeller). Yükseltmede ayrıca init.js --upgrade ile projedeki üç betiği yeniden eşitleyin.

Dürüst not: uyarının çıktısını gerçek bir Claude Code oturumunda henüz biz görmedik. Belgelenmiş hook biçimini izliyor ve kendi testlerimizde sınanıyor; scripts/live-check-gate.js bunu kendi makinenizde, giriş yapılmış claude ile kanıtlar. Biz canlı yarısını çalıştıramadık (başsız claude "Not logged in" dedi).

Güncelleme notu (19 Ekim 2026): Bu yazı 1 Temmuz 2026'da, ilk yayın sırasında yazıldı ve olduğu gibi duruyor. Sonradan netleşen iki nokta: hook'lar model çağrısı yapmaz, ama /wrap'in yargı yarısı (neyin karar, neyin kural olduğu) modelle yapılır ve oturum ne kadar iyiyse o kadar iyidir; ve Claude Code'un yerleşik hafızası artık sınırı aşınca sessizce kırpmıyor, açık hata veriyor. Güncel kurulum, rakamlar ve karşılaştırma yukarıda.

Neden bunu paylaştım

Devsoy'da tek bir asistanla onlarca farklı projeyi aynı anda yürütüyoruz — finans terminali, gayrimenkul değerleme sistemi, müşteri CRM'leri, sosyal medya operasyonu. Hepsi aynı Claude Code oturumlarından geçiyor. Bir noktada kendime dürüstçe sormam gerekti: asistan bana bir şey söylediğinde, bunun gerçekten kayıtlı bir gerçek mi yoksa o an uydurulmuş bir şey mi olduğunu nereden biliyorum?

Cevap rahatsız ediciydi: bilmiyordum. Yerleşik oto-hafıza kullanışlı ama küratörsüz — asistan not tutuyor, zamanla o notlar elle yazdığım kurallardan sapıyor, sapınca da asistan hangisine güveneceğini keyfi seçiyor ve "uydurmaya" başlıyor. Müşteri projelerinde bunun bedeli gerçek: yanlış bir tarih, var olmayan bir karar, unutulan bir kısıt.

Ne inşa ettik

DS-ReCall bir yapay zeka ürünü değil — yapay zekanın üzerinde çalıştığı zemin. Sıfır model çağrısıyla çalışan bir disiplin: her oturum bir taslakla açılır, siz (veya asistan, açıkça /wrap komutuyla) neyin kanona gireceğine karar verir, bir bütünlük kontrolü kırık bağlantıları ve öksüz dosyaları yakalar, bir eşzamanlılık koruması paylaşılan dosyaların çakışmasını engeller. Hiçbir adımda yapay zeka "özetlemez" — siz her zaman tam olarak ne saklandığını görürsünüz.

Bunu altı aya yakın süredir, yüzden fazla gerçek oturumda, birden fazla projede kullandık. Mükemmel değil — /wrap adımı gerçek bir sürtünme, gizlemiyoruz. Ama "yapay zeka ne uydurdu" sorusuna her zaman net bir cevabımız oldu.

Neden açık kaynak

Claude Code'un hafıza alanı hızla kalabalıklaşıyor — otomatik sıkıştırma yapan araçlar (Anthropic'in kendi Remember eklentisi dahil) bu işi zaten iyi yapıyor, bazıları büyük ölçekte. DS-ReCall onlarla "zahmetsizlik" ekseninde yarışmıyor ve yarışmayacak. Bizim iddiamız daha dar ve daha dürüst: paylaşılan bir CLAUDE.md'nin birden fazla kişi/oturum arasında bozulmadan kalması gerektiğinde, ya da müşteriye "asistan neyi unuttu" sorusuna gerçek bir cevap borçlu olduğunuzda kullanın. Değilse, otomatik araçlar muhtemelen sizin için daha doğru seçim — ve bunu söylemekten çekinmiyoruz.

MIT lisansıyla, ücretsiz, GitHub'da. İnceleyin, forklayın, bize ne kırdığını söyleyin.

E. Töre Soysal Kurucu Ortak, Dev/Soy Danışmanlık · github.com/toresoysal/ds-recall
Alacakaranlıkta kızıl sancaklı bir ork savaş kampı WoW Forever için addon dövüyoruz Aynı Claude Code disipliniyle World of Warcraft Forever oyuncuları için ücretsiz addonlar geliştiriyoruz. İlki FelCast: alevli cast barı ve DoT uyarısı, beta olarak indirilebilir. WoW sayfasına git