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 ms · 实测值

运行时已常驻——无需下载,无冷启动,无逐查询初始化。

包按用户缓存,因此配置每台机器仅发生一次,而非每个进程一次。

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 对象——适配 CI 接入。

IV环境要求

这一分钟所需的条件。

Node
npm 包需要 20 或更高版本 — doctor 会强制检查。
Python
PyPI 包需要 3.10 或更高版本。
计算平面
darwin-arm64 或 linux-x64 — 签名运行时在首次调用 compute() 时自动部署。
查询平面
Node 或 Python 可运行的任何环境。
Windows 及其他平台
查询平面完整可用;compute() 返回结构化的 unsupported_platform 错误,不会崩溃。

若宿主平台不受支持,可通过 SQAI_ENGINE_URL 或 SQAI_API_KEY 将计算指向远程引擎 — 查询与调度照常运行,仅跳过本地部署。

V运维工具带

围绕 SDK 的三条命令。

连接、查询与计算均在进程内通过 SDK 完成。CLI 是围绕它们运行的工具 — 用于设备登录、环境检查和运行时管理。

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

    可选的设备登录(RFC 8628),通过 accounts.thyn.ai 完成。传输的是签名令牌,从不涉及您的数据。单台设备免费。

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

    检查 Node、SDK 导入、内嵌合约及运行时状态。--parity 断言只读确定性不变量。

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

    常驻计算运行时:查看状态、提前安装、验证固定的 sha256、停止运行。

每条命令均接受 --json,且精确输出一个 JSON 对象。退出码可用于脚本:0 成功 · 1 检查失败 · 2 用法错误。