> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runanywhere.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> RunAnywhere Electron SDK for Windows and macOS desktop apps

The RunAnywhere Electron SDK runs language, speech, and vision models inside a desktop app.
Prompts, documents, and audio stay on the machine, and everything keeps working with the
network off.

```ts theme={null}
import { createRunAnywhere, NativeBackend } from '@runanywhere/electron'

const RunAnywhere = createRunAnywhere(new NativeBackend())
await RunAnywhere.initialize()

const result = await RunAnywhere.llm.generate('Name three colours')
console.log(result.text)
```

<Note>
  Unlike the other SDKs, the facade is **constructed** rather than imported as a singleton.
  `createRunAnywhere(backend)` is how you get one.
</Note>

## Packages

| Package                          | Version | Role                                               |
| -------------------------------- | ------- | -------------------------------------------------- |
| `@runanywhere/electron`          | 0.20.24 | Core SDK: main-process host, preload, native addon |
| `@runanywhere/electron-llamacpp` | 0.20.24 | LlamaCPP backend: LLM and VLM                      |
| `@runanywhere/electron-onnx`     | 0.20.24 | ONNX backend: embeddings, segmentation             |
| `@runanywhere/electron-sherpa`   | 0.20.24 | Sherpa backend: STT, TTS, VAD                      |
| `@runanywhere/electron-neurt`    | 0.20.24 | Apple Neural Engine backend                        |
| `@runanywhere/electron-qhexrt`   | 0.20.24 | QHexRT: Qualcomm Hexagon NPU on Snapdragon X       |
| `@runanywhere/proto-ts`          | 0.20.24 | Generated protobuf types                           |

All seven publish at 0.20.24. Electron is the one platform where QHexRT is **not** pinned back
to 0.20.19, because it ships as an npm prebuild rather than through Maven or pub.dev.

## Which platform gets which engines

| platform-arch  | Engines that load                         |
| -------------- | ----------------------------------------- |
| `darwin-arm64` | llamacpp, onnx, sherpa                    |
| `win32-x64`    | llamacpp, onnx, sherpa                    |
| `win32-arm64`  | qhexrt only                               |
| linux          | no prebuild published; builds from source |

The two Windows lanes are mutually exclusive by construction: QAIRT ships no Hexagon stub for
x86\_64, and neither ggml nor ONNX Runtime builds for win-arm64. The NPU is the only engine on
an ARM64 Windows host, with no CPU fallback behind it.

Declaring all the backend packages unconditionally stays safe. A package with no payload for
the running platform records a path that does not exist, and the SDK drops non-existent paths
before forking the utility host. Only what your platform can run shows up in
`capabilities().backends`.

## The namespaces

Fourteen modality namespaces: `llm`, `vlm`, `stt`, `tts`, `vad`, `voice`, `rag`, `models`,
`embeddings`, `rerank`, `lora`, `images`, `diarization`, `segmentation`.

Five platform namespaces: `storage`, `logging`, `secure`, `auth`, `telemetry`.

Input constructors also hang off the facade as `audio`, `image`, and `ragDocument`, so renderer
code can build the same values main-process code builds.

## What Electron has that nothing else does

* **Download control**: `models.pause`, `models.resume`, `models.cancel`,
  `models.interrupted()`.
* **A delete dry-run**: `storage.deletePlan()` tells you what a delete would remove before you
  do it.
* **A live log stream**: `logging.records()`.
* **A `cancelled` terminal event** on generation streams.
* **The full LoRA catalog surface**, matching Swift rather than the short form the other
  TypeScript SDKs carry.

## Where to go next

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/electron/installation">
    Packages, processes, and packaging
  </Card>

  <Card title="Quick Start" icon="rocket" href="/electron/quick-start">
    A working window
  </Card>

  <Card title="Configuration" icon="gear" href="/electron/configuration">
    Models, storage, logging, auth
  </Card>
</CardGroup>
