تخطَّ إلى المحتوى

المتطلبات الأساسية

يستخدم هذا المكون الإضافي Turso المضمّن (@tursodatabase/database) مع متجهات F32_BLOB وبحث جيب التمام الدقيق عبر vector_distance_cos. لا حاجة لقاعدة بيانات متجهات منفصلة أو بناء SQLite مخصص.

بيئة التشغيل الموصى بها:

  • Bun
  • بيئة مكون OpenCode الإضافي القياسية
  • اتصال بالإنترنت عند أول استخدام إذا كنت تستخدم نموذج التضمين المحلي الافتراضي، لأن النموذج يُنزَّل بواسطة @huggingface/transformers.
  • لتثبيتات المصدر/التطوير، شغّل bun install قبل البناء أو الاختبار. حزمة المكون الإضافي المنشورة تثبّت تبعيات وقت التشغيل تلقائيًا عبر OpenCode.

المنصات المختبرة في CI: Linux وWindows وmacOS 15 / macOS 26 على Apple Silicon (darwin/arm64). Intel Mac (darwin/x64) غير مدعوم — @tursodatabase/database وإصدارات onnxruntime-node الثابتة لا توفّر ربطًا أصليًا لـ x64. إصدارات macOS الأقدم ليست مستبعدة من تلك المصفوفة؛ هي ببساطة خارج مجموعة مشغّلات GitHub الحالية المستضافة.

ملاحظات:

  • تُخزَّن تضمينات المتجهات وتُبحث مباشرة في Turso؛ عمليات الإدراج تخزّن متجهات F32_BLOB لترتيب جيب التمام الدقيق.
  • يستخدم بحث المتجهات مسافة جيب التمام الدقيقة عبر vector_distance_cos (بدون DiskANN / فهرس تقريبي)، مع ترتيب هجين اختياري بالكلمات المفتاحية عند توفير سلسلة استعلام (@tursodatabase/database لا يوفّر FTS5).
  • تستخدم عمليات البحث عن الجلسات عمود session_id مفهرسًا (مُعبَّأ رجعيًا من metadata.sessionID في المخطط v2).
  • الالتقاط التلقائي وتعلّم ملف المستخدم يتطلبان مزود ذكاء اصطناعي يمكنه إرجاع مخرجات منظمة/استدعاء أدوات. بحث/إضافة/قائمة الذاكرة ما زالت تعمل بدون إعداد مزود الالتقاط التلقائي.

توقعات الأجهزة / الموارد

Section titled “توقعات الأجهزة / الموارد”

opencode-mem لا يتطلب وحدة معالجة رسومات (GPU). تعمل التضمينات المحلية على وحدة المعالجة المركزية عبر @huggingface/transformers وONNX (لا يوجد خلفية MLX). لا حاجة لذاكرة فيديو إضافية (VRAM).

عبء العمل الموارد الإضافية النموذجية
التضمينات المحلية (الافتراضي Xenova/nomic-embed-text-v1) حوالي 0.5–2 GB RAM أثناء تحميل النموذج، حسب معرّف Hugging Face الذي تختاره. أول استخدام ينزّل النموذج؛ توجد ذاكرة التخزين المؤقت على القرص تحت {storagePath}/.cache (الافتراضي ~/.opencode-mem/data/.cache) وغالبًا تكون مئات الميجابايت إلى ~1–2 GB لكل نموذج.
التضمينات البعيدة (embeddingApiUrl + embeddingApiKey) ذاكرة ML محلية ضئيلة — فقط عبء المكون الإضافي + Turso.
قاعدة البيانات / المكون الإضافي Turso/libSQL على القرص تحت storagePath. ينمو الحجم بعدد الذكريات المخزّنة، وليس بذاكرة GPU.

تظل حدود المنصات أعلاه سارية (لا يوجد Intel Mac darwin/x64؛ استخدم Apple Silicon أو Linux أو Windows أو نقطة نهاية تضمين بعيدة). انظر اختيار / إعداد التضمينات.