الانتقال إلى المحتوى

التنزيلات

كل ما تحتاج إليه، مع مجموعه الاختباري

يُنشر كل ملف هنا مع قيمة SHA-256 الخاصة به. تحقّق منها. فالملف الذي ستسلّمه جهازًا يستحق عشر ثوانٍ من التحقق، والمجموع الاختباري الذي لا يقارنه أحد مجرد زينة.

الملفات المنشورة
منصات الوكيل
الإصدار الحالي
تاريخ النشر

تحت كل قائمة شرح خطوة بخطوة يبدأ من الملف المُنزَّل وينتهي والشيء يعمل. اتبعه حرفيًا — فقد كُتب أثناء تنفيذه.

لهذا الحاسوب

الوكيل

برنامج واحد مستقل بذاته لأنظمة Linux وmacOS وWindows وBSD. يكسب DAIN وفق الجدول الذي تحدده، ولا يزعجك في بقية الوقت.

خطوة بخطوة حتى التشغيل

خمس دقائق، ولا شيء لإعداده. يعرف الوكيل مكان الشبكة مسبقًا. يسجّل نفسه، ويبدأ أخذ العمل، ويطبع رمز المطالبة — وهذا الرمز هو ما يجعل الجهاز ملكك لا ملك الشبكة.

  1. 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. 2

    تأكّد أنه الملف الذي نشرناه

    bash
    sha256sum dain-agent-2.0.0-linux-amd64.tar.gz

    قارن المخرجات بالمجموع الاختباري المدرج أعلاه. إن اختلفا فتوقّف.

  3. 3

    فُكّ ضغطه

    يضع الأرشيف ملفاته في المستوى الأعلى، فخصّص له مجلدًا بدل أن تتبعثر في مجلد التنزيلات.

    bash
    mkdir -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. 4

    ثبّته وشغّله

    bash
    sudo ./install.sh

    يضع الملف التنفيذي في /usr/local/bin، وينشئ حساب نظام dain-agent بلا واجهة أوامر، ويكتب وحدة systemd محصّنة ويشغّلها. صلاحيات الجذر مطلوبة لذلك فقط — فالوكيل نفسه لا يعمل أبدًا بصلاحيات الجذر.

  5. 5

    دوّن رمز المطالبة

    ينتظر المثبّت حتى يصل الوكيل إلى الشبكة ثم يطبع رمزًا مثل R9JM-UG66-X3FW. أدخله في thecubefloor.com/dashboard فيصبح الجهاز ملكك. وحتى تفعل ذلك يعمل لحساب الشبكة — والأرباح لا تُحتسب بأثر رجعي، فافعلها الآن لا في الأسبوع القادم.

  6. 6

    تفقّده لاحقًا

    bash
    curl -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. 1

    ثبّت VirtualBox إن لم يكن مثبّتًا

    مجاني من virtualbox.org، لـ Windows وmacOS وLinux. بلا ترخيص ولا حساب.

  2. 2

    نزّل ملف ‎.ova وتحقّق منه

    bash
    sha256sum cubeos-node-2.0.0.ova

    على Windows: Get-FileHash .\cubeos-node-2.0.0.ova -Algorithm SHA256.

  3. 3

    استورده

    انقر على الملف نقرًا مزدوجًا، أو اختر في VirtualBox ملف ← استيراد جهاز، وحدّد ملف .ova واضغط إنهاء. لا تغيّر أي إعداد: الأحجام المكتوبة في الملف هي التي بُنيت الصورة واختُبرت عليها. يستغرق ذلك ثوانيَ.

  4. 4

    أعطه شاشة يستطيع الرسم عليها

    محوّل العرض الافتراضي في VirtualBox لا يستطيع تشغيل شاشة الحالة. أمر واحد قبل التشغيل:

    bash
    VBoxManage modifyvm "CubeOS Node" --graphicscontroller vmsvga --vram 128 --accelerate3d on

    أو من الواجهة: الإعدادات ← العرض، وحدة التحكم الرسومية VMSVGA، وذاكرة الفيديو 128 MB، مع تفعيل تسريع ثلاثي الأبعاد. الأمران مطلوبان معًا. من دونهما ينضم الجهاز ويكسب ويقدّم صفحة حالته عبر الشبكة — لكن شاشته تبقى على سجل الإقلاع.

  5. 5

    شغّله

    حدّد CubeOS Node واضغط تشغيل. يُقلع إلى شاشة حالة. لا تسجيل دخول ولا سطح مكتب ولا شيء لإعداده — للجهاز مهمة واحدة فقط.

  6. 6

    اقرأ رمز المطالبة من الشاشة

    في غضون دقيقة تقريبًا تعرض شاشة الحالة اسم الجهاز ورمز مطالبة مثل R9JM-UG66-X3FW. أدخله في thecubefloor.com/dashboard لتصبح العقدة ملكك. وحتى ذلك الحين يساهم لحساب الشبكة، والأرباح لا تُحتسب بأثر رجعي.

  7. 7

    أو اقرأه دون شاشة أصلًا

    تُقدَّم الصفحة نفسها عبر الشبكة، وهكذا تصل إلى جهاز يعمل بلا شاشة. أعِد توجيه منفذ واحد، مرة واحدة:

    bash
    VBoxManage modifyvm "CubeOS Node" --natpf1 "portal,tcp,127.0.0.1,7777,,7777"

    ثم افتح http://localhost:7777.

  8. 8

    اتركه يعمل

    صغّر النافذة؛ فهو يستخدم ما لا يستخدمه الجهاز. لإيقافه أغلق النافذة واختر إيقاف التشغيل. ولإزالته كليًا انقر بزر الفأرة الأيمن على الآلة ← إزالة ← حذف كل الملفات.

ما هو ملف ‎.ova حقًا.

حزمة آلة افتراضية قياسية: إعدادات الجهاز (أربع أنوية، وذاكرة 2 GB، وبطاقة شبكة واحدة، وقرص واحد)، وقائمة بالمجاميع الاختبارية، والقرص نفسه، في ملف واحد. تقرؤها كل برامج الآلات الافتراضية المكتبية، فيعمل الملف نفسه في VirtualBox وVMware وغيرهما، ويستغرق الاستيراد ثواني.

استورد ملف ‎.ova من جديد بدل استنساخ جهاز.

استورد الملف بقدر ما تشاء: يصبح كل استيراد جهازًا مستقلًا باسمه ورمز مطالبته. والبدء من الملف المُنزَّل أنظف من استنساخ جهاز سبق أن عمل.

قائمة الإقلاع مقفلة، وكلمة مرورها منشورة.

إنها cubeos. كل نسخ الصورة المنشورة متطابقة، فكلمة مرور الإقلاع علنية على أي حال — والأفضل أن نقولها هنا. تمنع عابرًا من العبث بقائمة الإقلاع. إن أردت كلمة مرور لا يعرفها سواك، فثبّت من ملف ISO بدلًا من ذلك: فهو يولّد واحدة لكل جهاز.

SDK

Python بلا اعتماديات. اقرأ المستندات الممسوحة، وابنِ فهارس متجهية، وطبّق دوالك على الشبكة كلها.

خطوة بخطوة حتى التشغيل

Python 3.10 أو أحدث، ولا شيء آخر. ليس لـ SDK أي اعتماديات — فالحزمة التي تجرّ وراءها ثلاثين حزمة أخرى حزمة لا تستطيع قراءتها قبل أن توجّهها إلى مستنداتك.

  1. 1

    ثبّت الملف مباشرة

    bash
    python3 -m pip install dain-sdk-2.0.0.tar.gz

    لا شيء لبنائه أولًا — ملف pyproject.toml في جذر الأرشيف، فيأخذ pip الملف كما هو.

  2. 2

    حدّد له عنوان الاتصال

    يقرأ SDK ثلاثة متغيرات بيئة: نقطة الوصول إلى الشبكة في منطقتك (eu-1 أو us-1)، ورمز SDK الخاص بك، وشهادة الجذر الخاصة بالشبكة، تُنزَّل مرة واحدة من https://dir.thecubefloor.com/v1/root. أما DAIN_WALLET فاختياري؛ ومن دونه تدفع أول محفظة في حساب SDK الخاص بك. والرمز ليس مفتاح dk_ من إعدادات المطوّر: نحن من يجهّز الوصول إلى SDK عند الطلب عبر [email protected]. احفظ هذه القيم في البيئة لا في شيفرتك.

    bash
    mkdir -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. 3

    شغّل شيئًا

    python
    import dain
    
    doc = dain.scan.read("invoice.pdf", budget=1)   # تتحول صفحة ممسوحة إلى نص
    print(doc.text[:400])
  4. 4

    ثم اقرأ الأمثلة لا المرجع

    لكل قدرة برنامج جاهز للتشغيل في أرشيف الأمثلة أدناه، مع سطر الأوامر لتشغيله. البدء من هناك يخبرك في دقيقة إن كان هذا يناسب مشكلتك؛ والمرجع يخبرك في ساعة.

الأمثلة

برامج جاهزة للتشغيل لكل قدرة، مع سطر الأوامر لكل منها. أسرع طريقة لتعرف إن كان هذا يناسب مشكلتك.

خطوة بخطوة حتى التشغيل

كل قدرة على شكل برنامج تشغّله. كل ملف قائم بذاته، يبدأ بما يفعله وما يحتاج إليه وكم يكلّف، ويشرح ما يفعله أثناء عمله.

  1. 1

    ثبّت SDK أولًا

    bash
    python3 -m pip install dain-sdk-2.0.0.tar.gz
  2. 2

    فُكّ ضغط الأمثلة

    ملف tar لـ Linux وmacOS وBSD، وملف zip لـ Windows؛ ويحويان البرامج نفسها.

    bash
    mkdir -p ~/dain-examples
    tar xzf dain-examples-2.0.0.tar.gz -C ~/dain-examples
    cd ~/dain-examples
  3. 3

    اضبط البيئة نفسها التي يحتاجها SDK

    bash
    mkdir -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. 4

    شغّل واحدًا

    bash
    python3 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. 1

    اختر الصورة الصحيحة

    iso-metal للعتاد الفعلي. وiso-vm النظام نفسه مبنيًا لبرنامج آلات افتراضية، ومنه يُصنع الجهاز الافتراضي الجاهز؛ ولا تحتاج إليه إلا إن كنت تبني جهازك الخاص.

  2. 2

    تحقّق من المجموع الاختباري

    bash
    sha256sum cubeos-node-metal-2.0.0-amd64.iso

    هذا أهم من غيره: فأنت على وشك إقلاع جهاز منه.

  3. 3

    اكتبه على ذاكرة USB

    استخدم lsblk لتجد الذاكرة. ضع اسمها مكان /dev/sdX وتحقّق منه مرتين — فهذا يمسح ما تحدده.

    bash
    sudo dd if=cubeos-node-metal-2.0.0-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync
  4. 4

    أقلِع الجهاز المستهدف منها

    مفتاح قائمة الإقلاع عادةً F12 أو F11 أو Esc. يعمل UEFI وBIOS التقليدي كلاهما: يضع المثبّت محمّل الإقلاع الذي يحتاجه الجهاز فعلًا، ويرفض الإنهاء إن لم ينجح أيٌّ منهما.

  5. 5

    شغّل المثبّت

    تعرض الشاشة الأولى تثبيت أو إلغاء، ثم تلقائي أو موجَّه. يقترح النمط الموجَّه القرص البديهي ويملأ كل إجابة مسبقًا؛ وكلاهما يعرض لك كل ما على القرص الذي سيُمحى. لا حساب ولا كلمة مرور ولا سطح مكتب لإعداده. النظام المثبَّت بلا واجهة أوامر ولا تسجيل دخول نصي ولا SSH؛ المساهمة هي الشيء الوحيد الذي يستطيعه.

  6. 6

    دوّن كلمة مرور قائمة الإقلاع

    في النهاية يعرض المثبّت مرة واحدة كلمة مرور لقائمة الإقلاع وُلّدت لهذا الجهاز، ولا يحتفظ بها في أي مكان. لن تحتاج إليها لاستخدام الجهاز — فهو يُقلع وحده — لكنها الطريقة الوحيدة لتعديل قائمة الإقلاع. إن فقدتها فالحل إعادة التثبيت.

  7. 7

    أعد التشغيل، وطالِب به

    يظهر على شاشة حالة تعرض اسمه ورمز مطالبة. أدخل الرمز في thecubefloor.com/dashboard. يمنح كل جهاز نفسه اسمًا مختلفًا عند الإقلاع الأول، فعشرون جهازًا ثُبّتت من ذاكرة USB واحدة هي عشرون جهازًا مستقلًا في لوحة المعلومات، لكلٍّ منها رمز مطالبته.

التحقق من تنزيل

شغّل الأمر الخاص بنظامك وقارن مخرجاته بقيمة SHA-256 المدرجة بجانب الملف. إن اختلفتا فلا تشغّله — وأخبرنا.

bash
sha256sum <file>

المصدر وقابلية إعادة الإنتاج

إصدارات الوكيل قابلة لإعادة الإنتاج: المصدر نفسه وأدوات البناء نفسها تنتج البايتات نفسها، فيستطيع أي شخص الوصول إلى المجموع الاختباري أعلاه بنفسه بدل أن يأخذه على الثقة.

التحديثات

لا يستبدل الوكيل نفسه بصمت أبدًا. كل تحديث موقَّع ولا يُطبَّق إلا حين تسمح بذلك — لا مفاجآت على جهاز ضبطته بطريقة معينة.