عن المشروع

Echo هي مشغل موسيقى متعدد المنصات يعطي الأولوية للمحلي، موجه لسطح مكتب macOS و Windows و Linux. لا يعتمد على نظام حسابات أو مكتبة بث موسيقى، بعد أن يختار المستخدم دليل جذر لمكتبة الموسيقى المحلية، يقوم Echo بمسح ملفات الموسيقى الموجودة فيه، والتشغيل والإدارة والبحث لا تحتاج إلى شبكة. القدرات الأساسية إدارة المكتبة: مسح دليل جذر المكتبة، تحليل الوسوم والأغلفة والكلمات، الاستماع المستمر لتغيرات الدليل ودعم إعادة المسح اليدوي. عند استيراد أغنية جديدة يتم نسخها إلى دليل media/ في المكتبة، وتنظيمها حسب 'المغني/المغني - اسم الأغنية'؛ لا يتم الاستيراد المكرر إذا كان المحتوى متماثلاً، وإذا كان الاسم مكرراً والمحتوى مختلفاً يتم إضافة رقم تلقائياً، ولا يتم استبدال الملفات الموجودة. تجربة التشغيل: توفير قائمة تشغيل مستقرة وتقدم وصوت وضوابط اختصارات، وواجهة تشغيل غامرة بنمط الفينيل؛ تدعم الكلمات تحليل المضمنة وملف .lrc بنفس الاسم وطبقة تغطية المستخدم، وتحديد الموضع مع تقدم التشغيل، وعرض حالة فارغة عند عدم وجود كلمات. التكامل مع النظام: يوفر macOS شريط حالة شريط القائمة وتكامل مركز التحكم 'جار التشغيل'، ويوفر Windows/Linux صينية النظام؛ يمكن بعد إغلاق النافذة الرئيسية مشاهدة حالة التشغيل والتحكم بالتشغيل. يدعم تعيينه كمشغل افتراضي للنظام، ويمكن تشغيل الصوت مؤقتاً بالنقر المزدوج في مدير الملفات. التخصيص: ثلاث ثيمات مدمجة (المرجاني الوردي، الأزرق الكوبالت الداكن، الأخضر الحجر الجيري) مع تذكر الاختيار؛ يمكن ضبط الخروج أو البقاء في الخلفية عند إغلاق النافذة الرئيسية. يتم إدارة الأغلفة والكلمات والبيانات الوصفية بطريقة طبقة التغطية، دون تعديل الملف الأصلي، وتكون طبقة التغطية ذات أولوية على البيانات المضمنة في الملف عند العرض والتشغيل. الهندسة التقنية يتولى Rust Core مسؤولية المكتبة والاستيراد وتحليل الوسوم والمزامنة وحسم التعارض، مع الحفاظ على استقلاله عن واجهة المستخدم والمشغل؛ واجهة سطح المكتب تستخدم Tauri 2 + React + TypeScript، والتشغيل يستخدم mpv/libmpv مع تكييف قدرات التشغيل حسب المنصة. يحتوي المستودع على echo-core (نموذج المجال والحالات والبنية التحتية SQLite) و echo-desktop (وقت تشغيل سطح المكتب و IPC DTO وتكييف المنصة) وغيرها من الحزم، بالإضافة إلى قشرة React وقشرة Tauri ودليل native E2E. التطوير والتحقق متطلبات البيئة Node.js ≥ 20 و pnpm 11 و Rust 1.98.1، libmpv في macOS تم تضمينه مسبقاً مع المستودع. أمر البدء هو pnpm echo dev، ينفذ بالتسلسل توليد أنواع IPC وبناء الواجهة الأمامية و tauri dev؛ حزم الإصدار تُبنى عبر pnpm echo release. جميع مهام وأوامر السيناريو مسجلة في scripts/verify/manifest.json، ويمكن تشغيلها عبر node scripts/verify/run-task.mjs أو pnpm verify:scenario، ويحتوي manifest على مستوى السيناريو على 218 عنصراً. بوابات الجودة تشمل cargo fmt و cargo clippy و cargo test بالإضافة إلى typecheck واختبارات الواجهة الأمامية. مواصفات وتدفق التغييرات تستخدم OpenSpec، ويتم اشتقاق معرف السيناريو بواسطة السكربت بشكل حتمي حسب ترتيب العنوان. الحالة والخارطة حالياً في المرحلة الأولى، أي مشغل سطح مكتب كامل. تم إصدار v0.1.0، ويتم عبر GitHub Actions بناء حزم تثبيت macOS و Windows و Linux (DMG / EXE / deb / AppImage) مع التحقق SHA256SUMS؛ المنتجات حالياً غير موقعة وغير موثقة. تم إكمال التحقق من التشغيل و native E2E ومصفوفة استعادة الأعطال لمنصة macOS المنفردة، ويجري توسيع native E2E ومصفوفة الاستعادة لـ Windows/Linux. تخطط المراحل اللاحقة لمزامنة المكتبة (متوافق S3) وعملاء Android و iOS. حدود المرحلة الأولى هي عدم الاتصال والخلو من الحسابات وعدم الشبكة: واجهة المستخدم لا ترندر مدخل المزامنة، ولا يوجد أمر مزامنة في bridge، ولا توجد تبعيات عميل شبكة في Cargo workspace، و CSP يرفض الاتصالات البعيدة؛ المزامنة موجودة فقط بشكل شكل بيانات أساسي. الترخيص Echo يستخدم ترخيصاً مخصصاً مبنياً على Business Source License 1.1، مقيد للاستخدام الشخصي للتعلم والبحث، ويحظر الاستخدام التجاري والبيع الخاص أو إعادة البيع وإعادة التوزيع؛ بعد Change Date (2099-12-31) يتم توفيره وفق GPL-2.0-or-later. قائمة تراخيص التبعيات الثالثة انظر LICENSES.md.