Synapse Deck · ملف الإصدار
مراجعة مستودع المشروع نفسه: ما نُفِّذ، وما بقي جزئيًا، وما توقف عند الوثائق.
ليس منتج متصفح: Python 3.11 وasyncio على Raspberry Pi 400، مع BlueZ عبر D-Bus وevdev لقناة HID. تضيف الطبقة الثانية واجهة FastAPI ولوحة React، لكنهما تعملان على الجهاز نفسه.
٤ منفَّذ · ٣ جزئيًا · ١ غير منفَّذ · ١ في التخطيط
ما يُقرأ في الشيفرة
الموجّه ينقل HID عبر مقابس L2CAP أولية: PSM 17 للتحكم وPSM 19 للمقاطعات؛ VID:PID 1209:EDA2
الملف
src/synapse_deck/infrastructure/hid_bluetooth.pyالموجّه: ٣ مفاتيح سريعة (Ctrl+F1 وF2 وF3) و٣ مؤشرات LED في ٨ حالات
الملف
src/synapse_deck/application/interactor.pyنظام OS: ١٠ وكلاء لتحويل النص معرَّفون في الإعداد
الملف
synapsedeck/config/mappings.jsonنظام OS: ٨ فتحات n8n (F5–F12) و٧ مفاتيح تبديل أجهزة و٣ تخطيطات (en-US وru-RU وde-DE)
الملف
synapsedeck/config/mappings.jsonنظام OS: ٨ وحدات عليا مرقّمة و٢٢ وحدة مشتركة
الملف
synapsedeck/modules/كلتا الطبقتين تستهدف Raspberry Pi 400 على نظام ٦٤-بت
الملف
README.md, .env.exampleإصدار SynapseDeck OS هو v28.2.2؛ وثماني وحدات مرقّمة تعتمد على asyncio وthreading وsubprocess وحدها، بلا مكتبة تعلّم آلي أو قاعدة بيانات
الملف
synapsedeck/modules/محرّك «Neural Core» هو استدلالات الكتابة التنبؤية بعدّادات قبول ورفض التلميحات من الإعداد، لا شبكة مُدرَّبة
الملف
synapsedeck/modules/03_neural_core_engine.py«ذاكرة السياق» تُكتب في context_memory.json كعدّادات عبارات وأنماط؛ لا تضمينات ولا فهرس متجهي
الملف
synapsedeck/modules/shared/context_memory.py
حالة الوحدات
منفَّذ
نقل HID عبر L2CAP وملف BlueZ
نقل asyncio، وسجل SDP (UUID 0x1124)، ووكيل اقتران، ومعالج أوامر HIDP.
الملف
src/synapse_deck/infrastructure/منفَّذ
التقاط الإدخال وإعادة رسم التخطيط
evdev مع EVIOCGRAB، وآلة حالات بلغة Python، وجدول إعادة تعيين يتضمن بديل KEY_102ND لـ macOS.
الملف
src/synapse_deck/config/layout.yamlمنفَّذ
واجهة خلفية لنظام OS ولوحة ويب
تطبيق FastAPI بمسارات auth/health/history/system/setup ولوحة React على المنفذ ٥٠٠٠ بتدفق حيّ.
الملف
synapsedeck/src/synapsedeck/api/جزئيًا
«اتصال مزدوج» عبر USB gadget
الشيفرة موجودة لكنها تُسلَّم بـ USE_USB_GADGET=false مع ملاحظة أن Pi 400/500 تعمل عبر Bluetooth فقط.
الملف
synapsedeck/modules/shared/usb_gadget.pyجزئيًا
وضع «التخفي» عبر PGP
يُشفَّر المحتوى النصي بينما تمر المفاتيح عبر قناة HID عادية؛ والميزة متوقفة افتراضيًا.
الملف
synapsedeck/modules/07_pgp_encryption_layer.pyغير منفَّذ
الذاكرة المتجهية ومزامنة MCP والصوت والملحقات
شجرة OS لا تحتوي chromadb ولا خادم MCP ولا شيفرة صوت؛ هذه أقسام في صفحة تسويقية.
الملف
synapsedeck/في التخطيط
الدعم بالفأرة وخادم MCP على الجهاز وملفات Pi 500
وثيقة VISION.md v2.0.0 تذكرها كمراحل ٤٠–٤٥؛ لا وحدات مقابلة.
الملف
docs/VISION.mdمنفَّذ
الكتابة التنبؤية وذاكرة السياق
تُكمل الوحدة ٠٣ النص بالتكرار والأنماط من context_memory.json؛ و«المحرك العصبي» قواعد وعدّادات بلا مكتبة ML.
الملف
synapsedeck/modules/03_neural_core_engine.pyجزئيًا
«وكلاء الذكاء» في الصفحة مقابل الإعداد
يدّعي الموقع «وكلاء غير محدودين»، بينما يصف config/mappings.json ١٠ وكلاء لتحويل النص؛ وإطار الوحدة ٠٣ تلميحات تنبؤية لا وكلاء LLM مستقلين.
الملف
synapsedeck/config/mappings.json
كيف تحقَّق هذا
الموجّه ونظام OS مستودعان منفصلان وخطان للتطوير
عناوين git مختلفة وحالة main مختلفة؛ ويحدد CANON.md المجلد القانوني لكل طبقة.
أربع ثوابت «لا تلمس» في النقل موثَّقة
تقرير PSM 19 بطول ١٠ بايت، وتأخير GET_REPORT ٥٠٠ مللي ثانية، وLogical Maximum بقيمة 26 FF 00، والصمت عند الاتصال.
اختبارات الموجّه تتطلب جهازًا حيًّا
تُنفَّذ stress_test.py وtest_full_matrix.py وaudit_bt.sh عبر SSH على Pi مع جلسة Bluetooth نشطة.
الملف
tests/«مجموعة اختبارات E2E» المعلن عنها فارغة عمليًا
مجلد tests/e2e يحتوي __init__.py فقط؛ ولا ملفات test_*.py في شجرة OS.
يَعِد وصف الصفحة بـ«وكلاء غير محدودين» وبنص منطوق، بينما لا يوجد في شجرة OS عميل LLM ولا محرك نطق ولا خادم MCP
البحث في modules وshared لا يجد «MCP» و«tts» إلا كسلاسل فرعية في تعليقات الوحدتين ٠١ و٠٦؛ ولا classes مطبَّقة.
الملف
synapsedeck/modules/
حدود هذه الادعاءات
- لا يعمل أي من الطبقتين دون Raspberry Pi 400 فعلي بلوحته وراديوه؛ ولا خدمة مستضافة هنا.
- «صفر تأخير» و«يعمل على كل الأنظمة» مستمدان من مواصفة Bluetooth HID 1.1 وفحوص يدوية على macOS Sequoia، لا من CI متعدد المنصات.
- الموجّه لا يملك اختبارات وحدة آلية، بل تشغيلات تكامل عتادية فقط.
- أتمتة n8n تتطلب خادمًا خارجيًا مع webhook مضبوط؛ والسيناريوهات الجاهزة لا تُسلَّم مُعدَّة.
- خطوط git متباعدة، لذا لا ضمان لتكافئ الوظائف والإصدارات بين شجرة الموجّه وشجرة OS.
- صفحة التسويق موجودة كملفات خارج تحكم الإصدارات، لذا تعديلاتها غير متتبَّعة.
- النطاق الفرعي المنشور هو موقع التسويق لا بيئة تشغيل SynapseDeck OS؛ ولا تعمل أي وحدة في متصفح، لذا تعرض الصفحة النية وتُقرأ عباراتها وفق هذا الملف.
إصدار حيّ
إصدار حيّsynapse-deck.moonsugar.space ↗
يخدم هذا النطاق الفرعي موقع التسويق الخاص بالمشروع نفسه، مثبَّتًا بملخّص محتوى لا بإيداع، لأن المصدر شجرة ملفات خارج git. بعض عبارات الصفحة (عدد الوكلاء، الذاكرة المتجهية، الصوت، الملحقات المادية) غير مطبَّقة في الشيفرة؛ وحالات الوحدات في هذا الملف هي المعتمدة.
الصفحة نفسها لا تؤكد التوافر: تُفحص الضيافة عند نشر الإصدار.