Iالتثبيت
الإثبات الأول.
من جهاز نظيف إلى إجابة مجزّأة وقابلة للإعادة في أقل من دقيقة. لا حساب، لا مفتاح، لا خادم. شغّل الخطوات الأربع ذاتها بأي لغة — الإثبات هو التجزئة نفسها.
TypeScriptNode ≥ 20
01التثبيت
02ربط مصدر
import { createSQAI } from "@thyn-ai/sqai"; const sqai = createSQAI(); await sqai.connect("./sales.csv", { name: "sales" });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…04حساب قيمة
const r = await sqai.compute({ module: "finance", function: "npv", args: [0.1, [-1000, 300, 420, 560, 680]], });r.value505.020148896933r.computation_hashb74f67d0…d91bc8
PythonPython ≥ 3.10
01التثبيت
02ربط مصدر
from sqai import SQAI sqai = SQAI() sqai.connect("./sales.csv", name="sales")03إرسال استعلام
a = sqai.ask({ "metric": "revenue", "aggregation": "sum", "group_by": "region", "source_name": "sales", }) # east 2130.5 · west 1519 · north 1000 # plan_hash f87610d8afeb…04حساب قيمة
r = sqai.compute( module="finance", function="npv", args=[0.1, [-1000, 300, 420, 560, 680]], )r["value"]505.020148896933r["computation_hash"]b74f67d0…d91bc8
b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8
متطابقان. بايتًا ببايت.
كلا SDK يُحوّل النتيجة ذاتها إلى البايتات ذاتها بصورة قانونية، فتتطابق التجزئة عبر اللغتين — ليس مصادفةً، بل تصميمًا. أعد الاستدعاء في أي مكان وسيطبع هذا السطر بالضرورة.
IIإعداد لمرة واحدة
أعدّه مرة واحدة. ثم يصبح فوريًا.
يعمل مستوى الاستعلام داخل العملية فور اكتمال التثبيت — لا خادم خلفي، لا مفتاح. يُهيّئ مستوى الحساب بيئة التشغيل الموقّعة مرة واحدة عند أول استدعاء لـ compute()، ثم تبقى مقيمة.
await sqai.compute(…) // first call, ever~110 ث · مرة واحدة لكل جهاز
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.
$sqai login [--no-browser]
تسجيل دخول اختياري للجهاز (RFC 8628) عبر accounts.thyn.ai. ينقل رمزاً موقَّعاً فحسب — لا بياناتك. مجاني على جهاز واحد.
$sqai doctor [--parity] [--json]
Node، واستيراد SDK، والعقد المضمَّن، وفحص runtime الحي. يُثبت --parity الثبات القائم على القراءة فقط.
$sqai runtime <status|install|verify|stop>
runtime الحوسبة المقيم: عرضه، وتثبيته مسبقاً، والتحقق من sha256 المثبَّت، وإيقافه.
كل أمر يقبل --json ويطبع كائن JSON واحداً بالضبط. رموز الخروج قابلة للبرمجة: 0 نجاح · 1 فحص فاشل · 2 خطأ في الاستخدام.
VIالتالي