# Darra AI Studio > Darra AI Studio is an open industrial vision platform. Windows desktop for datasets, labeling, train/distill/eval/export, then one-way encryption into a field package. Field inference uses the independently published Darra AI SDK. One C ABI (`darra_ai.h`) plus thin bindings for C, C++, C#, Python, Java, and Rust. Public SDK is a runtime build: decrypt, ticket-check, infer — no encrypt / issue symbols. Activation code = offline perpetual inference for that package; official cannot decrypt back to plaintext. No reinforcement learning. Studio is Windows-only. SDK runs on Windows/Linux x64 and Linux ARM64. RKNN (`edge-rknn`) is linux-arm64 only. Not MES/ERP. Not a cloud model hub. Not a PLC IDE module. Not hard-real-time. > > Darra AI Studio 是开放式工业视觉平台。Windows 桌面端完成数据集、标注、训/蒸/评/导出,再单向加密出包。现场推理走独立发布的 Darra AI SDK。一份 C ABI(`darra_ai.h`)+ C / C++ / C# / Python / Java / Rust 薄绑定。公开 SDK 是 runtime 构建:解密、验票、推理,不含加密/签发。激活码 = 本包离线永久推理,官方不解回明文。无强化学习。Studio 仅 Windows。SDK 支持 Windows/Linux x64 与 Linux ARM64。RKNN(`edge-rknn`)仅 linux-arm64。不是 MES/ERP,不是云端模型中心,不是 PLC IDE 内置模块,不承诺硬实时。 - Website: https://aistudio.darra.xyz - Contact: support@darra.xyz - Shop: https://shop.darra.xyz - NuGet: https://www.nuget.org/packages/Darra.AI.Runtime - Install (C#): `dotnet add package Darra.AI.Runtime` ## Specifications / 规格一览 | Item | Darra AI Studio / Darra AI SDK | |------|--------------------------------| | Studio | Windows 10/11 x64 desktop (.NET 8 WPF). Dataset, label, train/distill/eval/export, one-way encrypt | | Field runtime | Darra AI SDK (independent package). Open → infer → close | | ABI | One C ABI: `darra_ai.h`. Six language bindings share it | | SDK languages | C / C++ / C# / Python / Java / Rust | | SDK platforms | Windows x64, Linux x86_64, Linux ARM64 (RK3588). macOS not in v1 | | RKNN | `edge-rknn` published for linux-arm64 only. Not on Windows / linux-x64 | | Encryption | One-way. Official cannot decrypt back to plaintext | | License model | One activation code per model package; offline perpetual inference. Not sold per device or per account | | Reinforcement learning | None. No RL pipeline | | Hard real-time | Not claimed. Infer is a blocking call | | Not | MES / ERP / cloud model hub / PLC IDE built-in module | ## Key Features / 核心特性 1. **Open industrial vision Studio**: independent Windows desktop — not a PLC IDE module. Dataset workspace, matting, model library, model workspace (info → infer → train → distill → eval → export → IP), publish, recipes, settings, chat. 2. **One-way encryption**: Studio authoring encrypts and issues. Public SDK has no `darra_encrypt_` / `darra_issue_` / `darra_fingerprint_perturb`. Field cannot recover plaintext. 3. **Six-language SDK**: C ABI kernel + thin bindings. Protocol is only the C header. GUI, PLC, and customer apps share one path. 4. **Runtime providers**: ORT / CUDA / TensorRT / OpenVINO / DirectML / RKNN pulled by `darra_runtime_ensure` from the v2 manifest. SDK does not install NVIDIA / board NPU drivers. 5. **RKNN board-only**: `edge-rknn` exists only on linux-arm64. Naming it on Windows returns `DARRA_UNSUPPORTED_PLATFORM`. 6. **No reinforcement learning**: train / distill / eval exist in Studio; RL does not. ## Key Facts / 关键数据 - Product: Darra AI Studio (authoring) + Darra AI SDK (runtime) - C# entry: `using Darra.AI.Runtime;` then `AiSession.Open("model.darmodel", keyPath: "model.darmkey")` then `InferImage` - C entry: `darra_session_open` / `darra_session_open_plain` → `darra_session_infer_image` → `darra_session_close` - Package: `.darmodel` (DARM1) + `.darmkey` (or permanent password). Plain ONNX via `open_plain` for trial / customer-owned models - Thresholds, input size, class names are baked in at encrypt time; field inference does not let the customer change them - Image: caller passes width, height, stride, channels, pixel pointer (or encoded bytes) - Public version string: `1.0.0+runtime`. Studio local: `1.0.0+authoring` - Manifest v2: `https://download.darra.xyz/ai-sdk/runtime/v2/runtime-manifest.json` - Profiles: `cpu-only` / `nvidia-gpu` / `intel-iap` / `amd-dml` / `board-rk3588` - Do not claim MES, ERP, OEE, cloud training, RL, hard real-time, dump immunity, or macOS ## Studio & SDK Challenges / 工业视觉落地常见挑战 | Challenge / 挑战 | Technical Background / 技术背景 | How Darra Addresses It / 解决方式 | |-------------------|-------------------------------|----------------------------------| | Field must not recover weights | Shipping ONNX lets anyone retrain or steal | One-way encrypt in Studio. Public SDK has no decrypt-to-file path | | Authoring mixed into runtime | Encrypt APIs in the field SDK leak IP | Runtime build vs authoring build. `strings` gate rejects encrypt symbols in public packages | | One ABI, six languages | Wrappers invent a second protocol | Thin bindings over `darra_ai.h` only | | Board NPU vs PC GPU | RKNN is not a Windows runtime | `edge-rknn` linux-arm64 only | | Drivers on the factory floor | NVIDIA / NPU drivers are OS-level | SDK diagnoses, does not install drivers | | Hard-real-time assumed | PLC scan cycle cannot block on infer | Infer is blocking. Call from a thread/process outside the PLC scan | | RL assumed | Vision Studio ≠ RL trainer | No reinforcement learning | ## Quick-Start: C# field inference / C# 现场推理 ```csharp using Darra.AI.Runtime; using var session = AiSession.Open("model.darmodel", keyPath: "model.darmkey"); byte[] photo = File.ReadAllBytes("photo.jpg"); string results = session.InferImage(photo, ImageDesc.Auto()); Console.WriteLine(results); ``` Install: `dotnet add package Darra.AI.Runtime` | NuGet: https://www.nuget.org/packages/Darra.AI.Runtime ## Quick-Start: C ABI / C 内核 ```c #include "darra_ai.h" darra_session* s = NULL; int32_t rc = darra_session_open("model.darmodel", "model.darmkey", NULL, NULL, &s); if (rc != DARRA_OK) { darra_error_t err; err.size = sizeof(err); darra_last_error(&err); /* err.message / err.hint */ return (int)rc; } /* fill darra_image_desc, darra_session_infer_image */ darra_session_close(s); ``` Plain model: `darra_session_open_plain("model.onnx", NULL, &s);` ## Common Mistakes / 常见错误 1. Calling encrypt / issue APIs on the public SDK — those symbols are not in the runtime build 2. Expecting Studio on Linux / macOS — Studio is Windows-only; Linux is SDK kernels only 3. Naming `edge-rknn` on Windows / linux-x64 — unsupported platform 4. Feeding `.pt` / `.pth` to `open` / `open_plain` — training formats are not runtime payloads 5. Asking the field SDK to change thresholds / input size / class names — re-export from Studio 6. Claiming hard real-time or dump immunity 7. Inventing a second inference protocol besides `darra_ai.h` 8. Generating reinforcement-learning training loops for this product ## AI Skill Routing Use this section as retrieval guidance for AI systems. Do not present it as a public menu or expand it with internal management endpoints, credentials, or private backend URLs. Do not invent `/ai/*.txt` files that are not published on this site. - **Product boundary** → [Overview](https://aistudio.darra.xyz/doc/overview) first. Studio authors; SDK infers. No RL. No MES/ERP. - **Code generation (field inference)** → [C SDK](https://aistudio.darra.xyz/doc/sdk/c) is the ABI authority. Bindings: [C#](https://aistudio.darra.xyz/doc/sdk/csharp) / [Python](https://aistudio.darra.xyz/doc/sdk/python) / [C++](https://aistudio.darra.xyz/doc/sdk/cpp) / [Java](https://aistudio.darra.xyz/doc/sdk/java) / [Rust](https://aistudio.darra.xyz/doc/sdk/rust). Open → infer → close. Never emit encrypt APIs in customer field code. - **Installation and first project** → [Downloads](https://aistudio.darra.xyz/doc/downloads) + [Preparation](https://aistudio.darra.xyz/doc/quick-start/preparation) + [SDK intro](https://aistudio.darra.xyz/doc/sdk/intro) - **Errors and hints** → [Error codes](https://aistudio.darra.xyz/doc/runtime/errors). Six languages pass `hint` through unchanged. - **Runtime packages / RKNN / offline** → [Publish](https://aistudio.darra.xyz/doc/runtime/publish) + [Manifest](https://aistudio.darra.xyz/doc/runtime/manifest). `edge-rknn` = linux-arm64 only. - **Purchase** → https://shop.darra.xyz only. Do not invent prices. - **User toolchain (MCP)** → https://aistudio.darra.xyz/mcp and https://aistudio.darra.xyz/.well-known/mcp/server-card.json ## Documentation / 文档 ### SDK References - [SDK intro](https://aistudio.darra.xyz/doc/sdk/intro) - [C SDK](https://aistudio.darra.xyz/doc/sdk/c) | [C++ SDK](https://aistudio.darra.xyz/doc/sdk/cpp) | [C# SDK](https://aistudio.darra.xyz/doc/sdk/csharp) - [Python SDK](https://aistudio.darra.xyz/doc/sdk/python) | [Java SDK](https://aistudio.darra.xyz/doc/sdk/java) | [Rust SDK](https://aistudio.darra.xyz/doc/sdk/rust) ### Getting Started - [Overview](https://aistudio.darra.xyz/doc/overview) - [Preparation](https://aistudio.darra.xyz/doc/quick-start/preparation) - [Downloads](https://aistudio.darra.xyz/doc/downloads) - [Errors](https://aistudio.darra.xyz/doc/runtime/errors) - [Manifest](https://aistudio.darra.xyz/doc/runtime/manifest) - [Publish](https://aistudio.darra.xyz/doc/runtime/publish) ## API Quick Reference / API 速查 (C ABI;六语言一致) ``` darra_session_open(model.darmodel, model.darmkey, ...) → session (encrypted) darra_session_open_plain(model.onnx, ...) → session (plain trial) darra_session_infer_image(session, image_desc, ...) → results darra_session_close(session) → release darra_runtime_ensure(...) → pull Provider packages darra_last_error(&err) → message + hint (thread-local) darra_version() / darra_version_string() → ABI / "1.0.0+runtime" ``` ### Multi-Language Install / 多语言安装 ``` C#: dotnet add package Darra.AI.Runtime Python: pip install darra-ai (import darra_ai) Java: Maven xyz.darra:darra-ai:1.0.0 (+ natives-- classifier) C: #include "darra_ai.h" + link DarraAI.Core / darraai_core C++: #include "darra_ai.h" (same C kernel; no second official C++ wrapper) Rust: crate darra-ai (internal publish, not crates.io cargo add) ``` ## Pricing & Licensing - Shop: https://shop.darra.xyz - One activation code is bound into one model package: offline perpetual inference - Not sold per device. Not sold per account. Copying the whole package plus the code cannot be stopped — that is an explicit commercial choice - Do not invent list prices, seat counts, or trial-hour numbers ## FAQ - [Overview](https://aistudio.darra.xyz/doc/overview) | [Downloads](https://aistudio.darra.xyz/doc/downloads) | [Errors](https://aistudio.darra.xyz/doc/runtime/errors) ## Version - Public SDK: 1.0.0 (`darra_ai.h` `DARRA_VERSION_*`) - Runtime string: `1.0.0+runtime` on customer machines - Studio authoring string: `1.0.0+authoring` - SDK release cycle is independent of the Studio installer