İçeriğe geç

Ön Koşullar

Bu eklenti, gömülü Turso (@tursodatabase/database) ile F32_BLOB vektörleri ve vector_distance_cos üzerinden kesin kosinüs araması kullanır. Ayrı bir vektör veritabanı veya özel SQLite derlemesi gerekmez.

Önerilen çalışma zamanı:

  • Bun
  • Standart OpenCode eklenti ortamı
  • Varsayılan yerel embedding modelini kullanıyorsanız ilk kullanımda internet erişimi gerekir; çünkü model @huggingface/transformers tarafından indirilir.
  • Kaynak/geliştirme kurulumlarında derlemeden veya testten önce bun install çalıştırın. Yayınlanan eklenti paketi çalışma zamanı bağımlılıklarını OpenCode üzerinden otomatik kurar.

CI’da test edilen platformlar: Linux, Windows ve Apple Silicon üzerinde macOS 15 / macOS 26 (darwin/arm64). Intel Mac (darwin/x64) desteklenmez — @tursodatabase/database ve sabit onnxruntime-node sürümleri x64 yerel bağlayıcı yayınlamaz. Daha eski macOS sürümleri bu matris tarafından dışlanmaz; yalnızca mevcut GitHub barındırmalı runner kümesinin dışındadırlar.

Notlar:

  • Vektör embedding’leri doğrudan Turso’da saklanır ve aranır; eklemeler kesin kosinüs sıralaması için F32_BLOB vektörleri depolar.
  • Vektör araması vector_distance_cos ile kesin kosinüs mesafesi kullanır (DiskANN / yaklaşık dizin yok); bir sorgu dizgesi verildiğinde isteğe bağlı anahtar kelime hibrit sıralaması vardır (@tursodatabase/database FTS5 içermez).
  • Oturum aramaları indeksli bir session_id sütunu kullanır (şema v2’de metadata.sessionID üzerinden geri doldurulur).
  • Otomatik yakalama ve kullanıcı profili öğrenme, yapılandırılmış/araç-çağrısı çıktısı döndürebilen bir AI sağlayıcısı gerektirir. Bellek arama/ekleme/listeleme, otomatik yakalama sağlayıcı yapılandırması olmadan da çalışır.

opencode-mem bir GPU gerektirmez. Yerel embedding’ler @huggingface/transformers ve ONNX üzerinden CPU’da çalışır (MLX backend yoktur). Ekstra VRAM gerekmez.

İş yükü Tipik ek kaynaklar
Yerel embedding’ler (varsayılan Xenova/nomic-embed-text-v1) Model yükleniyken yaklaşık 0,5–2 GB RAM, seçtiğiniz Hugging Face kimliğine bağlı. İlk kullanım modeli indirir; disk önbelleği {storagePath}/.cache altında yaşar (varsayılan ~/.opencode-mem/data/.cache) ve model başına genelde yüzlerce MB ile ~1–2 GB arasındadır.
Uzak embedding’ler (embeddingApiUrl + embeddingApiKey) İhmal edilebilir yerel ML RAM — yalnızca eklenti + Turso ek yükü.
Veritabanı / eklenti storagePath altında diskte Turso/libSQL. Boyut GPU belleğiyle değil, sakladığınız bellek sayısıyla büyür.

Yukarıdaki platform sınırlamaları geçerlidir (Intel Mac darwin/x64 yok; Apple Silicon, Linux, Windows veya uzak bir embedding uç noktası kullanın). Bkz. Embedding seçimi / yapılandırması.