التنزيلات
كل ما تحتاج إليه، مع مجموعه الاختباري
يُنشر كل ملف هنا مع قيمة SHA-256 الخاصة به. تحقّق منها. فالملف الذي ستسلّمه جهازًا يستحق عشر ثوانٍ من التحقق، والمجموع الاختباري الذي لا يقارنه أحد مجرد زينة.
تحت كل قائمة شرح خطوة بخطوة يبدأ من الملف المُنزَّل وينتهي والشيء يعمل. اتبعه حرفيًا — فقد كُتب أثناء تنفيذه.
لهذا الحاسوب
الوكيل
برنامج واحد مستقل بذاته لأنظمة Linux وmacOS وWindows وBSD. يكسب DAIN وفق الجدول الذي تحدده، ولا يزعجك في بقية الوقت.
خطوة بخطوة حتى التشغيل
خمس دقائق، ولا شيء لإعداده. يعرف الوكيل مكان الشبكة مسبقًا. يسجّل نفسه، ويبدأ أخذ العمل، ويطبع رمز المطالبة — وهذا الرمز هو ما يجعل الجهاز ملكك لا ملك الشبكة.
- 1
اعرف أي ملف يناسبك
يجيبك
uname -sm.Linux x86_64يعني linux-amd64، وLinux aarch64يعني linux-arm64. نزّل ذلك الملف.إن ظهر
armv7lأوi686فهذا نظام 32 بت ولا وكيل له — كل التنزيلات هنا 64 بت. في Raspberry Pi 3 وما بعده تكون اللوحة نفسها 64 بت والنظام المثبّت وحده ليس كذلك، فكتابة نسخة 64 بت من Raspberry Pi OS على البطاقة هي الحل كله. - 2
تأكّد أنه الملف الذي نشرناه
bashsha256sum dain-agent-2.0.0-linux-amd64.tar.gzقارن المخرجات بالمجموع الاختباري المدرج أعلاه. إن اختلفا فتوقّف.
- 3
فُكّ ضغطه
يضع الأرشيف ملفاته في المستوى الأعلى، فخصّص له مجلدًا بدل أن تتبعثر في مجلد التنزيلات.
bashmkdir -p ~/dain-agent tar xzf dain-agent-2.0.0-linux-amd64.tar.gz -C ~/dain-agent cd ~/dain-agentتخرج منه ثلاثة ملفات:
dain-agentوinstall.shوملف README. - 4
ثبّته وشغّله
bashsudo ./install.shيضع الملف التنفيذي في
/usr/local/bin، وينشئ حساب نظامdain-agentبلا واجهة أوامر، ويكتب وحدة systemd محصّنة ويشغّلها. صلاحيات الجذر مطلوبة لذلك فقط — فالوكيل نفسه لا يعمل أبدًا بصلاحيات الجذر. - 5
دوّن رمز المطالبة
ينتظر المثبّت حتى يصل الوكيل إلى الشبكة ثم يطبع رمزًا مثل R9JM-UG66-X3FW. أدخله في thecubefloor.com/dashboard فيصبح الجهاز ملكك. وحتى تفعل ذلك يعمل لحساب الشبكة — والأرباح لا تُحتسب بأثر رجعي، فافعلها الآن لا في الأسبوع القادم.
- 6
تفقّده لاحقًا
bashcurl -s localhost:7788/status journalctl -u dain-agent -fلإزالته:
sudo systemctl disable --now dain-agent، ثم احذف/usr/local/bin/dain-agentوملف الوحدة.
لا شيء لفتحه في جدار الحماية.
يتصل الوكيل بالخارج ولا يستمع أبدًا. إن لم يصل إلى الشبكة أعاد المحاولة؛ ولا يحتاج إلى إعادة توجيه منافذ ولا عنوان ثابت ولا عنوان IP عام.الجهاز الجاهز
CubeOS مثبّت مسبقًا، على شكل آلة افتراضية. استوردها، وشغّلها، وطالِب بها. أربع أنوية وذاكرة 2 GB، وأقل من نصف غيغابايت للتنزيل.
خطوة بخطوة حتى التشغيل
أسرع طريق إلى الشبكة، والطريق الذي لا يغيّر شيئًا في حاسوبك الذي تستخدمه. إنه جهاز كامل في ملف واحد: استورده، واضغط تشغيل، وبعد دقيقة تقريبًا يبدأ المساهمة.
- 1
ثبّت VirtualBox إن لم يكن مثبّتًا
مجاني من virtualbox.org، لـ Windows وmacOS وLinux. بلا ترخيص ولا حساب.
- 2
نزّل ملف .ova وتحقّق منه
bashsha256sum cubeos-node-2.0.0.ovaعلى Windows:
Get-FileHash .\cubeos-node-2.0.0.ova -Algorithm SHA256. - 3
استورده
انقر على الملف نقرًا مزدوجًا، أو اختر في VirtualBox ملف ← استيراد جهاز، وحدّد ملف
.ovaواضغط إنهاء. لا تغيّر أي إعداد: الأحجام المكتوبة في الملف هي التي بُنيت الصورة واختُبرت عليها. يستغرق ذلك ثوانيَ. - 4
أعطه شاشة يستطيع الرسم عليها
محوّل العرض الافتراضي في VirtualBox لا يستطيع تشغيل شاشة الحالة. أمر واحد قبل التشغيل:
bashVBoxManage modifyvm "CubeOS Node" --graphicscontroller vmsvga --vram 128 --accelerate3d onأو من الواجهة: الإعدادات ← العرض، وحدة التحكم الرسومية VMSVGA، وذاكرة الفيديو 128 MB، مع تفعيل تسريع ثلاثي الأبعاد. الأمران مطلوبان معًا. من دونهما ينضم الجهاز ويكسب ويقدّم صفحة حالته عبر الشبكة — لكن شاشته تبقى على سجل الإقلاع.
- 5
شغّله
حدّد CubeOS Node واضغط تشغيل. يُقلع إلى شاشة حالة. لا تسجيل دخول ولا سطح مكتب ولا شيء لإعداده — للجهاز مهمة واحدة فقط.
- 6
اقرأ رمز المطالبة من الشاشة
في غضون دقيقة تقريبًا تعرض شاشة الحالة اسم الجهاز ورمز مطالبة مثل R9JM-UG66-X3FW. أدخله في thecubefloor.com/dashboard لتصبح العقدة ملكك. وحتى ذلك الحين يساهم لحساب الشبكة، والأرباح لا تُحتسب بأثر رجعي.
- 7
أو اقرأه دون شاشة أصلًا
تُقدَّم الصفحة نفسها عبر الشبكة، وهكذا تصل إلى جهاز يعمل بلا شاشة. أعِد توجيه منفذ واحد، مرة واحدة:
bashVBoxManage modifyvm "CubeOS Node" --natpf1 "portal,tcp,127.0.0.1,7777,,7777"ثم افتح
http://localhost:7777. - 8
اتركه يعمل
صغّر النافذة؛ فهو يستخدم ما لا يستخدمه الجهاز. لإيقافه أغلق النافذة واختر إيقاف التشغيل. ولإزالته كليًا انقر بزر الفأرة الأيمن على الآلة ← إزالة ← حذف كل الملفات.
ما هو ملف .ova حقًا.
حزمة آلة افتراضية قياسية: إعدادات الجهاز (أربع أنوية، وذاكرة 2 GB، وبطاقة شبكة واحدة، وقرص واحد)، وقائمة بالمجاميع الاختبارية، والقرص نفسه، في ملف واحد. تقرؤها كل برامج الآلات الافتراضية المكتبية، فيعمل الملف نفسه في VirtualBox وVMware وغيرهما، ويستغرق الاستيراد ثواني.استورد ملف .ova من جديد بدل استنساخ جهاز.
استورد الملف بقدر ما تشاء: يصبح كل استيراد جهازًا مستقلًا باسمه ورمز مطالبته. والبدء من الملف المُنزَّل أنظف من استنساخ جهاز سبق أن عمل.قائمة الإقلاع مقفلة، وكلمة مرورها منشورة.
إنهاcubeos. كل نسخ الصورة المنشورة متطابقة، فكلمة مرور الإقلاع علنية على أي حال — والأفضل أن نقولها هنا. تمنع عابرًا من العبث بقائمة الإقلاع. إن أردت كلمة مرور لا يعرفها سواك، فثبّت من ملف ISO بدلًا من ذلك: فهو يولّد واحدة لكل جهاز.SDK
Python بلا اعتماديات. اقرأ المستندات الممسوحة، وابنِ فهارس متجهية، وطبّق دوالك على الشبكة كلها.
خطوة بخطوة حتى التشغيل
Python 3.10 أو أحدث، ولا شيء آخر. ليس لـ SDK أي اعتماديات — فالحزمة التي تجرّ وراءها ثلاثين حزمة أخرى حزمة لا تستطيع قراءتها قبل أن توجّهها إلى مستنداتك.
- 1
ثبّت الملف مباشرة
bashpython3 -m pip install dain-sdk-2.0.0.tar.gzلا شيء لبنائه أولًا — ملف
pyproject.tomlفي جذر الأرشيف، فيأخذ pip الملف كما هو. - 2
حدّد له عنوان الاتصال
يقرأ SDK ثلاثة متغيرات بيئة: نقطة الوصول إلى الشبكة في منطقتك (
eu-1أوus-1)، ورمز SDK الخاص بك، وشهادة الجذر الخاصة بالشبكة، تُنزَّل مرة واحدة منhttps://dir.thecubefloor.com/v1/root. أماDAIN_WALLETفاختياري؛ ومن دونه تدفع أول محفظة في حساب SDK الخاص بك. والرمز ليس مفتاحdk_من إعدادات المطوّر: نحن من يجهّز الوصول إلى SDK عند الطلب عبر [email protected]. احفظ هذه القيم في البيئة لا في شيفرتك.bashmkdir -p "$HOME/.dain" curl -fsS https://dir.thecubefloor.com/v1/root -o "$HOME/.dain/root.pem" export DAIN_URL=https://eu-1.ctl.thecubefloor.com:8443 # or https://us-1.ctl.thecubefloor.com:8443 export DAIN_TOKEN=dain_... export DAIN_CA_BUNDLE="$HOME/.dain/root.pem"إن لم يُضبط أيٌّ منها، يشغّل
dain.mapدالتك محليًا بالنتائج نفسها، فتستطيع البدء قبل أن يكون لديك رمز. - 3
شغّل شيئًا
pythonimport dain doc = dain.scan.read("invoice.pdf", budget=1) # تتحول صفحة ممسوحة إلى نص print(doc.text[:400]) - 4
ثم اقرأ الأمثلة لا المرجع
لكل قدرة برنامج جاهز للتشغيل في أرشيف الأمثلة أدناه، مع سطر الأوامر لتشغيله. البدء من هناك يخبرك في دقيقة إن كان هذا يناسب مشكلتك؛ والمرجع يخبرك في ساعة.
الأمثلة
برامج جاهزة للتشغيل لكل قدرة، مع سطر الأوامر لكل منها. أسرع طريقة لتعرف إن كان هذا يناسب مشكلتك.
خطوة بخطوة حتى التشغيل
كل قدرة على شكل برنامج تشغّله. كل ملف قائم بذاته، يبدأ بما يفعله وما يحتاج إليه وكم يكلّف، ويشرح ما يفعله أثناء عمله.
- 1
ثبّت SDK أولًا
bashpython3 -m pip install dain-sdk-2.0.0.tar.gz - 2
فُكّ ضغط الأمثلة
ملف tar لـ Linux وmacOS وBSD، وملف zip لـ Windows؛ ويحويان البرامج نفسها.
bashmkdir -p ~/dain-examples tar xzf dain-examples-2.0.0.tar.gz -C ~/dain-examples cd ~/dain-examples - 3
اضبط البيئة نفسها التي يحتاجها SDK
bashmkdir -p "$HOME/.dain" curl -fsS https://dir.thecubefloor.com/v1/root -o "$HOME/.dain/root.pem" export DAIN_URL=https://eu-1.ctl.thecubefloor.com:8443 # or https://us-1.ctl.thecubefloor.com:8443 export DAIN_TOKEN=dain_... export DAIN_CA_BUNDLE="$HOME/.dain/root.pem" - 4
شغّل واحدًا
bashpython3 scan_read.py invoice.pdf --lang auto --budget 1 python3 rag_build.py ./my-notes --name notes --out ./rag.tar python3 montecarlo.pyيسرد
README.mdفي الأرشيف كل مثال بسطر أوامره الدقيق. كل استدعاء يأخذbudgetبعملة DAIN — سقفًا لا تقديرًا؛ ويُظهرbudget_demo.pyما يحدث حين يُبلَغ.
CubeOS
صورة صغيرة موقّعة لجهاز مهمته الوحيدة المساهمة. يُقلع إلى شاشة حالة؛ لا سطح مكتب ولا شيء آخر يعمل.
خطوة بخطوة حتى التشغيل
هذا لجهاز تمنحه للشبكة — حاسوب مكتبي قديم، أو خادم توقفت عن استخدامه، أو حاسوب صغير. إنه يمحو القرص ويستبدل كل ما عليه. لتجربة الفكرة دون تخصيص عتاد، خذ الجهاز الافتراضي الجاهز أعلاه بدلًا منه.
- 1
اختر الصورة الصحيحة
iso-metal للعتاد الفعلي. وiso-vm النظام نفسه مبنيًا لبرنامج آلات افتراضية، ومنه يُصنع الجهاز الافتراضي الجاهز؛ ولا تحتاج إليه إلا إن كنت تبني جهازك الخاص.
- 2
تحقّق من المجموع الاختباري
bashsha256sum cubeos-node-metal-2.0.0-amd64.isoهذا أهم من غيره: فأنت على وشك إقلاع جهاز منه.
- 3
اكتبه على ذاكرة USB
استخدم
lsblkلتجد الذاكرة. ضع اسمها مكان/dev/sdXوتحقّق منه مرتين — فهذا يمسح ما تحدده.bashsudo dd if=cubeos-node-metal-2.0.0-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync - 4
أقلِع الجهاز المستهدف منها
مفتاح قائمة الإقلاع عادةً F12 أو F11 أو Esc. يعمل UEFI وBIOS التقليدي كلاهما: يضع المثبّت محمّل الإقلاع الذي يحتاجه الجهاز فعلًا، ويرفض الإنهاء إن لم ينجح أيٌّ منهما.
- 5
شغّل المثبّت
تعرض الشاشة الأولى تثبيت أو إلغاء، ثم تلقائي أو موجَّه. يقترح النمط الموجَّه القرص البديهي ويملأ كل إجابة مسبقًا؛ وكلاهما يعرض لك كل ما على القرص الذي سيُمحى. لا حساب ولا كلمة مرور ولا سطح مكتب لإعداده. النظام المثبَّت بلا واجهة أوامر ولا تسجيل دخول نصي ولا SSH؛ المساهمة هي الشيء الوحيد الذي يستطيعه.
- 6
دوّن كلمة مرور قائمة الإقلاع
في النهاية يعرض المثبّت مرة واحدة كلمة مرور لقائمة الإقلاع وُلّدت لهذا الجهاز، ولا يحتفظ بها في أي مكان. لن تحتاج إليها لاستخدام الجهاز — فهو يُقلع وحده — لكنها الطريقة الوحيدة لتعديل قائمة الإقلاع. إن فقدتها فالحل إعادة التثبيت.
- 7
أعد التشغيل، وطالِب به
يظهر على شاشة حالة تعرض اسمه ورمز مطالبة. أدخل الرمز في thecubefloor.com/dashboard. يمنح كل جهاز نفسه اسمًا مختلفًا عند الإقلاع الأول، فعشرون جهازًا ثُبّتت من ذاكرة USB واحدة هي عشرون جهازًا مستقلًا في لوحة المعلومات، لكلٍّ منها رمز مطالبته.
التحقق من تنزيل
شغّل الأمر الخاص بنظامك وقارن مخرجاته بقيمة SHA-256 المدرجة بجانب الملف. إن اختلفتا فلا تشغّله — وأخبرنا.
sha256sum <file>المصدر وقابلية إعادة الإنتاج
إصدارات الوكيل قابلة لإعادة الإنتاج: المصدر نفسه وأدوات البناء نفسها تنتج البايتات نفسها، فيستطيع أي شخص الوصول إلى المجموع الاختباري أعلاه بنفسه بدل أن يأخذه على الثقة.
التحديثات
لا يستبدل الوكيل نفسه بصمت أبدًا. كل تحديث موقَّع ولا يُطبَّق إلا حين تسمح بذلك — لا مفاجآت على جهاز ضبطته بطريقة معينة.