Iالتثبيت

الإثبات الأول.

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

TypeScriptNode ≥ 20

  1. 01التثبيت

  2. 02ربط مصدر

    import { createSQAI } from "@thyn-ai/sqai";
    
    const sqai = createSQAI();
    await sqai.connect("./sales.csv",
      { name: "sales" });
  3. 03إرسال استعلام

    const a = await sqai.ask({
      metric: "revenue",
      aggregation: "sum",
      group_by: "region",
      source_name: "sales",
    });
    // east 2130.5 · west 1519 · north 1000
    // plan_hash f87610d8afeb…
  4. 04حساب قيمة

    const r = await sqai.compute({
      module: "finance", function: "npv",
      args: [0.1, [-1000, 300, 420, 560, 680]],
    });
    r.value505.020148896933
    r.computation_hashb74f67d0…d91bc8

PythonPython ≥ 3.10

  1. 01التثبيت

  2. 02ربط مصدر

    from sqai import SQAI
    
    sqai = SQAI()
    sqai.connect("./sales.csv",
      name="sales")
  3. 03إرسال استعلام

    a = sqai.ask({
      "metric": "revenue",
      "aggregation": "sum",
      "group_by": "region",
      "source_name": "sales",
    })
    # east 2130.5 · west 1519 · north 1000
    # plan_hash f87610d8afeb…
  4. 04حساب قيمة

    r = sqai.compute(
      module="finance", function="npv",
      args=[0.1, [-1000, 300, 420, 560, 680]],
    )
    r["value"]505.020148896933
    r["computation_hash"]b74f67d0…d91bc8
computation_hash · TypeScript ≡ Python

b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8

متطابقان. بايتًا ببايت.

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

IIإعداد لمرة واحدة

أعدّه مرة واحدة. ثم يصبح فوريًا.

يعمل مستوى الاستعلام داخل العملية فور اكتمال التثبيت — لا خادم خلفي، لا مفتاح. يُهيّئ مستوى الحساب بيئة التشغيل الموقّعة مرة واحدة عند أول استدعاء لـ compute()، ثم تبقى مقيمة.

await sqai.compute(…)  // first call, ever~110 ث · مرة واحدة لكل جهاز

  1. 01تنزيل حزمة المنصة
  2. 02التحقق من توقيع RS256 وتجزئة sha256 لكل ملف
  3. 03الاستخراج والتثبيت بصورة ذرية
  4. 04تشغيل المحرك المقيم

await sqai.compute(…)  // every call after0.83–0.93 مللي ثانية · مقاسة

بيئة التشغيل مقيمة بالفعل — لا تنزيل، لا بدء بارد، لا إعداد لكل استعلام.

تُخزَّن الحزمة مؤقتًا لكل مستخدم، فيحدث التهيئة مرة واحدة لكل جهاز — لا لكل عملية.

IIIالتحقق

أمر واحد يفحص الجهاز بأكمله.

✓ node: v20.11.0
✓ sdk: @thyn-ai/sqai 0.1.4 imports cleanly
✓ contract: 4778 capabilities
  sha256:79f1c5a6c7164e7e9e1750e70a5c03292fa87eb52d8148a740c06695924be9a1
• tested-pair: skipped (not in the repo)
• runtime: unavailable (checks skipped)
✓ doctor: ok

يفحص doctor إصدار Node واستيراد SDK والعقد المضمّن ومسبارًا حيًا لبيئة التشغيل. على جهاز نظيف يظهر سطر بيئة التشغيل كـ unavailable — تخطٍّ لا فشل. مستوى الاستعلام لا يحتاج إلى بيئة تشغيل.

  • تشحن 4,778 قدرة في العقد المثبّت بالتجزئة؛ 4,574 منها مكشوفة لـ SDK — للقراءة فحسب، حتمية.
  • أضف --parity للتحقق من ذلك الثابت ومقارنة وحدات العقد بالمحرك الجاري.
  • أضف --json لطباعة كائن JSON واحد بالضبط — مُهيَّأ للتكامل المستمر.

IVالمتطلبات

ما تحتاجه تلك الدقيقة.

Node
20 أو أحدث لحزم npm — يفرضه doctor.
Python
3.10 أو أحدث لحزمة PyPI.
مستوى الحوسبة
darwin-arm64 أو linux-x64 — يُهيَّأ runtime الموقَّع عند أول استدعاء لـ compute().
مستوى الاستعلام
أي بيئة تشغيل Node أو Python.
Windows وغيره
مستوى الاستعلام يعمل بالكامل؛ تُعيد compute() خطأ unsupported_platform منظَّماً — لا تعطُّل قط.

خارج المضيف المدعوم، وجِّه الحوسبة إلى محرك بعيد عبر SQAI_ENGINE_URL أو SQAI_API_KEY — تظل الاستعلامات والإرسال تعمل؛ يُتخطى التهيئة المحلية فحسب.

Vشريط المشغِّل

ثلاثة أوامر حول SDK.

الاتصال والاستعلام والحوسبة تجري كلها داخل العملية عبر SDK. أما CLI فهو ما تشغّله حولها — تسجيل دخول الجهاز، فحص البيئة، إدارة runtime.

  1. $sqai login [--no-browser]

    تسجيل دخول اختياري للجهاز (RFC 8628) عبر accounts.thyn.ai. ينقل رمزاً موقَّعاً فحسب — لا بياناتك. مجاني على جهاز واحد.

  2. $sqai doctor [--parity] [--json]

    Node، واستيراد SDK، والعقد المضمَّن، وفحص runtime الحي. يُثبت ‎--parity الثبات القائم على القراءة فقط.

  3. $sqai runtime <status|install|verify|stop>

    runtime الحوسبة المقيم: عرضه، وتثبيته مسبقاً، والتحقق من sha256 المثبَّت، وإيقافه.

كل أمر يقبل ‎--json ويطبع كائن JSON واحداً بالضبط. رموز الخروج قابلة للبرمجة: 0 نجاح · 1 فحص فاشل · 2 خطأ في الاستخدام.