المتطلبات الأساسية
يستخدم هذا المكون الإضافي 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 أو نقطة نهاية تضمين بعيدة). انظر اختيار / إعداد التضمينات.