ürün

Kodunu anlayan
ve ona bağlı kalan hafıza

Çoğu AI hafızası, kodun ilerlediğini asla fark etmeyen bir yığın başıboş nottan ibaret. SecondOS her notu tam olarak ilgili olduğu sembole bağlar, böylece hiçbir şey sessizce güncelliğini yitirmez ve her araç aynı canlı haritayı okur.

merkez parça

Hafıza zekâsı

Bütün kategori aynı cümleyi satıyor: ajanına hafıza ekle. Atladıkları zor kısım, o hafızanın ne zaman yanlış olduğunu bilmek. SecondOS ona puan verir, tarih atar, kendisiyle çeliştiğini yakalar ve senin için önerir.

recall("how does auth hash?")
  ▸ "argon2id, m=64MB"   trust 0.92 ✓  anchored, reused 7×
  ▸ "bcrypt, cost 12"    trust 0.18 ⚠  stale · valid ≤ v1.2
  ≠ conflict: two answers, same scope → review

Güven / itibar puanı

Her not, zaten takip ettiğimiz sinyallerden derlenen tek bir 0..1 puanı alır: gerçek koda bağlı olması yükseltir, bayatlaması ya da yaşlanması düşürür, ajanlarının yeniden kullandığı notlar puanı hak eder. Böylece bir çağıran neye güveneceğini, neyi doğrulayacağını bilir.

Kod-sürümü geçerliliği

Bir hafıza, belirli bir sürümden itibaren artık-doğru-değil olarak işaretlenip recall'da geri plana atılabilir, silinmez. Sert geçerlilik pencereleri, yumuşak zamansal decay'in yanında durur, böylece “v1.2'de doğru” sessizce yalan söylemek yerine sorgulanabilir kalır.

Çelişki tespiti

Aynı konuda ayrışan notlar yalnızca embedding mesafesiyle inceleme için işaretlenir, modele gerek yok. Bir completer bağla, gerçek bir çelişki kontrolüne yükselir ve hangi notun hangisini geçersiz kıldığını önerir.

AI damıtma

Bir senkron sonrası SecondOS codebase haritandan kalıcı hafızalar önerir. Kabul eder ya da reddedersin. Destekli, asla otomatik yazılmaz ve yalnızca harita olduğu için kaynağını asla okumaz. Öneriler bağlı bir model ister; onsuz sessizce devre dışı kalır.

Hafıza grafiği

Notların gerçek sembollere nasıl bağlandığını, güvene göre renklendirilmiş gezilebilir bir grafikte tara, böylece bayat ve düşük-güvenli hafıza bir bakışta görünür. Hafızanın sonunda kendine ait bir haritası var.

Org / workspace hafızası

Tek bir projeye bağlı olmayan, workspace kapsamlı bir hafıza: her projenin recall'ına katılan repo-aşırı konvansiyonlar. Tüm ekibinin tekrar tekrar anlatıp durduğu kurallar için tek bir yuva.

çok-dilli grafik

Sembollerin haritası, bir yığın chunk değil

SecondOS repo'nu tree-sitter ile gerçek sembollere, imzalara, route'lara, import'lara ve çağrı noktalarına ayrıştırır, sonra çağrıları modüller arasında çözer, böylece who_uses ve impact_of güvene göre sıralanmış will-break ile might-break yanıtı verir. Araçların, ilgili olduğunu umdukları bulanık bir metin yığını değil, gezebilecekleri bir yapı alır.

  • Kesin semboller + imzalar, çözülmüş import'lar ve re-export'lar
  • Yedi dil için modüller-arası çağrı grafiği: TypeScript, JS, Go, Python, Rust, Java, PHP ve Ruby
  • Kotlin, C/C++, C#, Swift tespit edilir + aranabilir (sembol düzeyinde)
  • Body-chunk embedding'ler, böylece arama sadece isimleri değil mantığı da yakalar
# the map, not the source
UserService.authenticate(email, token)
  ← called by  routes/auth.ts:31    (resolved)
  ← called by  worker/session.go:12 (resolved)
  → reads      users, sessions     (drizzle)
impact_of: 2 will-break · 1 might-break
duruma-bağlı hafıza

Ne zaman bayatladığını bilen hafıza

Her not, gerçek bir senkronda gerçek bir sembole bağlanır. Anlattığı kod değiştiğinde, hafıza bir sonraki ajanına sessizce yalan söylemek yerine bayat olarak işaretlenir. Tazelik bir umut değil, bir özelliktir.

  • Notlar path:symbol'e bağlı, en son senkrona göre çözülür
  • Kod taşınır → bağlı hafıza bayat işaretlenir, recall'da geri plana atılır
  • Zamansal decay: altı ay önceki tavsiye, bugünküne yenilir
remember("auth uses argon2id")
  scope  packages/auth/hash.ts:hashPassword
  state  verified ✓  (symbol resolved)

… later, hashPassword rewritten …
  state  stale ⚠  (bound symbol changed)
drift, üç eksen

Uyuşmazlığı yayına çıkmadan yakala

SecondOS üç salt-okunur drift kontrolü çalıştırır: kodun ile Drizzle şemasını, kodun okuduğu ortam değişkenleri ile .env.example'ı ve import ettiğin paketler ile package.json'ı. Her biri, tanımlanmamış ve muhtemelen-kullanılmayanı iki konumla birlikte yüzeye çıkarır, asla bir tahmin, asla sessiz bir değişiklik değil.

  • Şema: pgTable / pgEnum'da olmayan, yazdığın bir kolon
  • Env: kodun okuduğu ama .env.example'ın hiç belgelemediği bir process.env
  • Deps: package.json kaydı olmayan bir import ve tanımlı-ama-kullanılmayan paketler
drift: 3 checks, read-only
  schema  users → column "lastSeenAt" not in schema
          code routes/ping.ts:44 · db/schema.ts:users
  env     reads STRIPE_KEY → missing from .env.example
  deps    imports "zod" → not in package.json
doğrulanmış + geri alınabilir

Her not bağlı, sürümlenmiş, geri döndürülebilir

Yazımlar, yere inmeden önce grafiğe göre doğrulanır. Bir notu geçersiz kıl, eskisi silinmez, saklanır. Bir geçmiş ekseni ve tek çağrıyla geri getirme elde edersin, böylece hafıza kaymak yerine birikir.

  • Doğrulanmış yazımlar: çözülemeyen referanslar unverified olarak kaydedilir, asla sessizce atılmaz
  • Herhangi bir not için geçmiş + diff, önceki bir sürümü veri kaybı olmadan geri getir
  • Belief-revision geçişi, recall'ı zehirlemek yerine çelişkileri tekilleştirir
GET /memories/42/history
  v3  today       "retry: 5x, backoff 2s"   ← current
  v2  3 weeks ago "retry: 3x"               superseded
  v1  sync-0f2    "no retry"                superseded
POST /memories/42/restore  → v4 supersedes v3
MCP üzerinden çok-araçlı

Tek senkron. Her araç aynı haritayı okur

Bütün mesele bu. Bir kez indexlersin ve Cursor, Claude Code, Copilot, Cline ve geri kalanı aynı yapı-farkında haritayı MCP üzerinden okur: codebase, memory ve context genelinde yirmi iki araç. Araç başına yeniden tarama yok, oturum başına yeniden anlatma yok.

  • Yirmi iki MCP aracı, codebase, memory ve context genelinde, hafıza-öncelikli yönlendirme çağrısı prime dahil
  • secondos mcp-config, Cursor, Claude Code, Claude Desktop, Windsurf, VS Code için yapıştırmaya-hazır kurulum yazdırır
  • GitHub'ı tek tıkla bağla, her push kendi CI'ını tetikleyip haritayı taze tutar
  • Taşınabilir ve dışa aktarılabilir: hafıza senindir, tek bir IDE'ye kilitli değil
$ bunx @secondos/cli push .
  ✓ 342 symbols · 51 routes · 13 tables

Cursor      → reads map over MCP
Claude Code → reads map over MCP
Copilot     → reads map over MCP
one index, every tool.
canlı bilgi tabanı · Pro

Codebase'in için kendini yazıp bakımını yapan ikinci bir beyin

Bir projeyi getir, SecondOS onun yapısından + ekibinin hafızalarından okunabilir bir doküman ailesinin tamamını yazar, asla kaynağını değil (K‑S23). Her push onları günceller, yalnızca haritası ya da hafızası değişen bölümleri yeniden yazar. Asla çürümeyen, kimsenin bakımını yapmadığı, yeni bir mühendisin ya da AI'ın projeyi anında anlamak için okuduğu dokümanlar.

  • Otomatik yazılan on bir doküman: overview · architecture · modules · dependencies · API · data model · knowledge · learnings · onboarding · changes · glossary
  • İlk senkronda otomatik oluşturulur, her push'ta artımlı tazelenir, sen hiçbir şeyin bakımını yapmazsın
  • Yalnızca SecondOS'ta olanı kullanır: çağrı/import grafiği, route'lar ve DB şeması, başka hiçbir aracın otomatik yazamayacağı dokümanlar
  • Sadece bir web sekmesi değil: read_living_doc ile her AI aracı tarafından MCP üzerinden okunabilir (salt-okunur, ücretsiz)
  • Yalnızca-harita: yapıdan yazılır, böylece kaynağın makineyi asla terk etmez
$ secondos push .    # or connect GitHub
  🧠 knowledge base updated
  ✅ overview · architecture · modules
     dependencies · api · datamodel …
  → 11 docs, always current

Metodolojiyi ve gerçek-repo rakamlarını (recall, search ve graf çözümü) yayınlıyoruz, düşük görünenler dahil, çünkü tahmin etmektense “bilinmiyor” demeyi tercih ederiz. Makinende çalışan client de source-available, yani ondan tam olarak neyin çıktığını github.com/Preatan/secondos-client'ta okuyabilirsin. Benchmark'ı gör → · Nasıl ölçüyoruz →

Bir kez indexle. Bırak her araç hatırlasın.

Başlamak ücretsiz. Kredi kartı yok.

> daemon: isimleri değil, neyin neyi çağırdığını da bilirim.