IInstallation
Der erste Beweis.
Von einer frischen Maschine zu einer gehashten, wiederholbaren Antwort in unter einer Minute. Kein Konto, kein Schlüssel, kein Server. Dieselben vier Schritte in beiden Sprachen — der Beweis ist derselbe Hash.
TypeScriptNode ≥ 20
01Installieren
02Quelle verbinden
import { createSQAI } from "@thyn-ai/sqai"; const sqai = createSQAI(); await sqai.connect("./sales.csv", { name: "sales" });03Abfrage stellen
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…04Wert berechnen
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 erforderlich
01Installieren
02Quelle verbinden
from sqai import SQAI sqai = SQAI() sqai.connect("./sales.csv", name="sales")03Abfrage stellen
a = sqai.ask({ "metric": "revenue", "aggregation": "sum", "group_by": "region", "source_name": "sales", }) # east 2130.5 · west 1519 · north 1000 # plan_hash f87610d8afeb…04Wert berechnen
r = sqai.compute( module="finance", function="npv", args=[0.1, [-1000, 300, 420, 560, 680]], )r["value"]505.020148896933r["computation_hash"]b74f67d0…d91bc8
b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8
Identisch. Byte für Byte.
Beide SDKs kanonisieren dasselbe Ergebnis zu denselben Bytes, sodass der Hash sprachübergreifend übereinstimmt — nicht zufällig, sondern konstruktionsbedingt. Den Aufruf beliebig wiederholen — diese Zeile muss erscheinen.
IIEinmalige Einrichtung
Einmal provisionieren. Dann sofort bereit.
Die Query-Ebene läuft im Prozess, sobald die Installation abgeschlossen ist — kein Daemon, kein Schlüssel. Die Compute-Ebene provisioniert ihren signierten Runtime einmalig beim ersten compute()-Aufruf und hält ihn dann resident.
await sqai.compute(…) // first call, ever~110 s · einmalig pro Maschine
await sqai.compute(…) // every call after0,83–0,93 ms · gemessen
Der Runtime ist bereits resident — kein Download, kein Cold Start, kein Aufwand pro Abfrage.
Das Bundle wird pro Benutzer gecacht, sodass die Provisionierung einmalig pro Maschine erfolgt — nicht pro Prozess.
IIIPrüfen
Ein Befehl liest die gesamte Maschine aus.
✓ 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: okdoctor prüft die Node-Version, den SDK-Import, den eingebetteten Vertrag und eine Live-Runtime-Sonde. Auf einer frischen Maschine zeigt die Runtime-Zeile unavailable — ein Überspringen, kein Fehler. Die Query-Ebene benötigt keinen Runtime.
- 4.778 Capabilities werden im hash-gepinnten Vertrag ausgeliefert; 4.574 sind den SDKs zugänglich — schreibgeschützt, deterministisch.
- --parity hinzufügen, um diese Invariante zu prüfen und Vertragsmodule gegen den laufenden Engine zu vergleichen.
- --json hinzufügen, um genau ein JSON-Objekt auszugeben — für CI verdrahtet.
IVVoraussetzungen
Was die Minute braucht.
- Node
- 20 oder neuer für die npm-Pakete — wird von doctor erzwungen.
- Python
- 3.10 oder neuer für das PyPI-Paket.
- Compute-Ebene
- darwin-arm64 oder linux-x64 — die signierte Runtime wird beim ersten compute() bereitgestellt.
- Query-Ebene
- Überall, wo Node oder Python läuft.
- Windows & andere
- Die Query-Ebene funktioniert vollständig; compute() gibt einen strukturierten unsupported_platform-Fehler zurück — kein Absturz.
Außerhalb eines unterstützten Hosts compute via SQAI_ENGINE_URL oder SQAI_API_KEY auf eine Remote-Engine verweisen — Abfragen und Dispatch funktionieren weiterhin; nur die lokale Bereitstellung entfällt.
VDas Operator-Werkzeug
Drei Befehle rund um das SDK.
Verbinden, Abfragen und Berechnen laufen alle in-process über die SDKs. Die CLI ist das, was Sie drumherum ausführen — ein Gerät anmelden, die Umgebung prüfen, die Runtime verwalten.
$sqai login [--no-browser]
Optionale Geräteanmeldung (RFC 8628) über accounts.thyn.ai. Dabei wird ein signiertes Token übertragen — niemals Ihre Daten. Auf einem Gerät kostenlos.
$sqai doctor [--parity] [--json]
Node, SDK-Import, eingebetteter Vertrag, Live-Runtime-Probe. --parity prüft die schreibgeschützte, deterministische Invariante.
$sqai runtime <status|install|verify|stop>
Die lokale Compute-Runtime: Status anzeigen, vorab installieren, den gepinnten sha256 verifizieren, stoppen.
Jeder Befehl akzeptiert --json und gibt genau ein JSON-Objekt aus. Exit-Codes sind skriptfähig: 0 Erfolg · 1 fehlgeschlagene Prüfung · 2 Verwendungsfehler.
VIWeiter