发布与下载
客户拿到的是 runtime 构建。公开包可以解密、验票、推理、按清单装 Provider,物理上没有 darra_encrypt_ / darra_issue_ / darra_fingerprint_perturb。加密、签发、权重扰动只随 AI Studio 安装包(authoring 构建)。发布门用 strings 检查公开 runtime 包,命中上述前缀即拒发。
RKNN Provider(edge-rknn)只发布 linux-arm64。Windows / linux-x64 的内核包、语言包、环境管理器列表都不含它。板端才跑 rknn 载荷。
语言包与安装包从 下载 / shop.darra.xyz 取。Provider 细包走下方清单 URL,由 darra_runtime_ensure 自动拉取。
公开包里有什么
| 成品 | 平台 | 内容 |
|---|---|---|
darra-ai-core-windows-x64.zip | Windows x64 | DarraAI.Core.dll、darra_ai.h、import lib、darra-selftest |
darra-ai-core-linux-x64.tar.gz | Linux x86_64 | libdarraai_core.so + 同上 |
darra-ai-core-linux-arm64.tar.gz | Linux ARM64(RK3588 板端) | libdarraai_core.so + 同上;含消费 edge-rknn 的能力,不含 RKNN 转换工具 |
语言绑定(只装一个):
| 包 | 渠道 |
|---|---|
Darra.AI.Runtime | NuGet |
darra-ai | Python / Rust |
xyz.darra:darra-ai | Maven |
内核 native 绑在语言包里。ORT / CUDA / TensorRT / OpenVINO / RKNN runtime 等重依赖走 Provider 细包,首次开会话时 darra_runtime_ensure 按硬件探测下载并校验。
不随公开包走
- authoring 构建的 Core(加密 / 签发 / 权重扰动)
- AI Studio 安装包、训练 / 蒸馏 / 标注 GUI
- 系统驱动(NVIDIA / RK3588 NPU)——SDK 不代装
- rknn-toolkit2、trtexec 编译链(转换只在 Studio)
- Windows / linux-x64 上的
edge-rknn包(不存在这样的包)
darra_version_string() 对公开包返回形如 1.0.0+runtime;Studio 本机为 1.0.0+authoring。
运行时清单 URL
| 清单 | URL | 谁读 |
|---|---|---|
| v1 | https://download.darra.xyz/ai-studio/runtime/v1/runtime-manifest.json | AI Studio 环境管理器 |
| v2 | https://download.darra.xyz/ai-sdk/runtime/v2/runtime-manifest.json | Darra AI SDK(darra_runtime_ensure) |
两份分 URL 双发布,互不覆盖。v1 阅读器拒绝 schemaVersion != 1。字段与选包算法见 运行时清单。
对象不可变 + 清单最后上传
- Provider zip / tar 以 sha 前缀命名,上传后视为不可变对象,不以同名覆盖。
- manifest 最后上传。 包没齐之前不改线上清单。读线上清单异常时 fail-fast,拒绝用残清单覆盖本地。
- 下载必须 HTTPS。整体
sha256+size与解压后dependencies[]逐文件校验;任一不符 =DARRA_CHECKSUM_MISMATCH,不得跳过。 - 下载支持 Range 断点续传。网络失败 =
DARRA_NETWORK_FAILED。
离线现场
断网现场不要改清单、不要关校验。用离线整合包:
darra-runtime-offline-<profileId>-<yyyymmdd>-<sha8>.zip
内嵌 v2 清单子集 + 成员细包原始 zip。darra_runtime_ensure(id, offline_zip, ...) 跳过联网,仍走过 sha256 与逐文件闸。离线包不产生新二进制。详见 运行时清单 · 离线整合包。
场景 profile:cpu-only / nvidia-gpu / intel-iap / amd-dml / board-rk3588。board-rk3588 的成员只含 linux-arm64 包。
版本
公开 SDK 版本 1.0.0,与 darra_ai.h 的 DARRA_VERSION_MAJOR/MINOR/PATCH 同一组数字。加载后第一件事:DARRA_VERSION_DECODE_MAJOR(darra_version()) == DARRA_VERSION_MAJOR,不等 = 装错了库。
SDK 发布周期独立于 AI Studio 安装包版本。Studio 发新安装包不必等 SDK 发版;SDK 发版不必等 Studio。Provider 包的 abiVersion 必须等于本机 Core ABI 主版本,否则 DARRA_PROVIDER_ABI_MISMATCH——把 SDK 与运行时包升到同一发布批次。