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: okdoctor проверяет версию Node, импорт SDK, встроенный контракт и живой зонд среды выполнения. На чистой машине строка среды выполнения показывает unavailable — это пропуск, не ошибка. Плоскость запросов не требует среды выполнения.
- В хеш-закреплённом контракте содержится 4 778 возможностей; 4 574 из них открыты для SDK — только чтение, детерминированно.
- Добавьте --parity, чтобы проверить этот инвариант и сравнить модули контракта с работающим движком.
- Добавьте --json, чтобы вывести ровно один JSON-объект — удобно для CI.
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Далее