عن المشروع
هذا تطبيق غلاف ينقل DeepSeek Harness (dsh) إلى هواتف أندرويد، اسم التطبيق DeepCode، اسم الحزمة com.dsharnessmobile.shell، الإصدار الحالي 0.14.0-preview، مع محرك مدمج @deepseek-ai/dsh 0.1.5-rc.1.
الفكرة الأساسية هي "فك الضغط والتشغيل": يحتوي ملف APK على لقطة مضغوطة بصيغة xz لبيئة Termux، تشمل node وgit وbash وcoreutils وdsh والإضافات وpnpm وpython/perl/ruby. يستغرق فك الضغط لأول مرة 2-4 دقائق، ثم يستمع المحرك على 127.0.0.1:3080، ويعمل دون اتصال بالإنترنت تمامًا، ولا يحتاج المستخدم لتثبيت تطبيق Termux بشكل منفصل.
فيما يتعلق ببيئة التشغيل ودورة الحياة، يدعم التطبيق تحديثات البيئة عبر الإنترنت مدفوعة بملف manifest: تنزيل، والتحقق من sha256، والتبديل الذري، وإعادة التشغيل التلقائي. استبدال الشجرة هو عملية معاملة واحدة، يمكن التراجع عنها في حالة الانقطاع، ولا تمس بيانات المستخدم (الجلسات، المرفقات، الإعدادات، بيانات الاعتماد، مساحات العمل). تحديث APK الذاتي يتطلب الضغط يدويًا على "التحقق من التحديثات" في صفحة البداية، ولا يتم تلقائيًا، حيث يتحقق من أحدث إصدار على GitHub ويطابق الأصول حسب ABI للجهاز. تشمل آلية الحفاظ على النشاط خدمة أمامية، ومراقبًا يعيد تشغيل المحرك المتجمد تلقائيًا كل 5 ثوانٍ، واستطلاعًا لواجهة المستخدم كل 3 ثوانٍ، وبوابة تراجع عند الانهيار. يوجد أيضًا وحدة تحكم تفاعلية مستقلة bash يمكن استخدامها لاستكشاف الأخطاء حتى عندما لا يعمل المحرك.
متصفح الذكاء الاصطناعي هو مساحة عمل WebView ثانية معزولة تمامًا عن الواجهة الرئيسية، يمكن للذكاء الاصطناعي فتح عدة علامات تبويب، ويمكن للبشر أيضًا عرضها مباشرة. يتم ضبط الدقة بناءً على CSS viewport، حيث تكون window.innerWidth مساوية تمامًا للقيمة المطلوبة، مع دعم التبديل بين هوية الكمبيوتر والهاتف.
ميزة الشاشة الافتراضية تنشئ شاشة مستقلة عبر قناة Shizuku المميزة لتشغيل تطبيقات الطرف الثالث دون إزعاج الشاشة الأمامية للمستخدم، بحد أقصى مثيل واحد. يتم تشغيل التطبيقات عبر مسار am start --display في Shizuku UserService على جانب الغلاف. إدخال الإحداثيات على الشاشة الافتراضية يستخدم x/y مطلق مع screenId، ويتم رفض الإحداثيات المعيارية صراحةً لتجنب النقر الخاطئ على الشاشة الحقيقية. تلتقط لقطات الشاشة على displayId الهدف وتستخدم بكسلات تلك الشاشة كمرساة للدقة. يتم إعادة تدوير الشاشة الافتراضية تلقائيًا بعد 10 دقائق من الخمول.
التحكم بالهاتف يوفر قناتين: إمكانية الوصول وShizuku. قناة إمكانية الوصول مسؤولة عن شجرة الدلالات وإجراءات ref؛ قناة Shizuku تنفذ أوامر مثل screencap وuiautomator وdumpsys وinput بمعرف المستخدم 2000، وهي أوامر للقراءة والإدخال فقط، مع رفض أي كتابة في إعدادات النظام.
فيما يتعلق بالمرفقات والملفات، قائمة المشبك الورقي المنبثقة تعرض "رفع مرفق/رفع صورة" بنقرة واحدة، وتستخدم منتقي ملفات النظام وألبوم النظام على التوالي. عبر "فتح مع تطبيقات أخرى/مشاركة" يمكن إرسال الملفات مباشرة إلى الجلسة، مع إنشاء مساحة عمل مؤقتة تلقائيًا، وتنظيفها بعد 7 أيام. جسر SAF يمكنه تعيين الدليل المحدد كمسار حقيقي.
بروتوكول الجسر v1 يعرض 51 طريقة @JavascriptInterface، وتقوم الصفحة باكتشاف الميزات عبر androidBridge.version، مما يفصل إصدار APK عن إصدار dsh. الأدوات المرئية للنموذج تأتي جميعها من الإضافات، حاليًا 45 أداة، وتُكشف تدريجيًا حسب مجموعات القدرات، حيث يجب استدعاء android_capabilities أولاً لفتحها، وتنقسم إلى مجموعات مثل phone وbrowser وvirtual-display.
الأذونات تشمل INTERNET وPOST_NOTIFICATIONS وخدمة أمامية وMANAGE_EXTERNAL_STORAGE وREQUEST_INSTALL_PACKAGES. الشاشة الافتراضية وshell المميز يتطلبان من المستخدم تثبيت Shizuku وتفويضه بنفسه.
الإصدارات متوفرة بحزمتي ABI: arm64 وx86_64، ويجب أن يتطابق ABI مع الجهاز، وإلا سيتعطل المحرك عند بدء التشغيل. يتطلب البناء JDK 17+ وAndroid SDK (compileSdk 36)، مع Gradle 8.11.1 المقدم عبر wrapper، ويتم بناء اللقطات وتعبئتها في المستودع المنسق.
يذكر README بوضوح: معظم إضافات الطرف الثالث في سوق الإضافات المدمج قد لا تعمل على الهاتف، ومن المحتمل أن تحتوي على أخطاء، ومرحلة beta تركز على التحقق من قابلية الاستخدام والملاحظات، ولا يُنصح بالاعتماد عليها في الإنتاج حاليًا. المشروع مرخص بموجب MIT، مع معالجة للامتثال لـ GPL.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.