release/windows-microsoft-store
md 157 lines 6.93 KB
Rendered Raw
1 <p align="center">
2 <img src="assets/app-icon.png" alt="Siti AI" width="96" height="96">
3 </p>
4
5 <h1 align="center">Siti AI</h1>
6
7 <p align="center">
8 <strong>A private, on-device AI assistant for macOS, iOS, and Android.</strong><br>
9 Your model runs locally. Your chats never leave the device.
10 </p>
11
12 <p align="center">
13 <a href="https://apps.apple.com/se/app/siti-ai/id6780047972"><img alt="App Store" src="https://img.shields.io/badge/App_Store-live-06a561?style=flat-square&labelColor=1a1a1a"></a>
14 <a href="https://play.google.com/store/apps/details?id=ai.siti.Siti"><img alt="Google Play" src="https://img.shields.io/badge/Google_Play-live-06a561?style=flat-square&labelColor=1a1a1a"></a>
15 <a href="https://github.com/ondeinference/onde"><img alt="Built with Onde" src="https://img.shields.io/badge/built_with-Onde-06a561?style=flat-square&labelColor=1a1a1a"></a>
16 <a href="LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache_2.0-blue?style=flat-square"></a>
17 <a href="https://github.com/sponsors/ondeinference"><img alt="Sponsor" src="https://img.shields.io/badge/♥-Sponsor-db61a2?style=flat-square"></a>
18 </p>
19
20 <p align="center">
21 <a href="https://getsiti.5mb.app">Website</a> ·
22 <a href="#quick-start">Quick start</a> ·
23 <a href="#architecture">Architecture</a> ·
24 <a href="CONTRIBUTING.md">Contributing</a> ·
25 <a href="SECURITY.md">Security</a>
26 </p>
27
28 ---
29
30 Siti AI is the assistant you already know, rebuilt around privacy. It loads an
31 open-weights language model onto your device and runs inference entirely
32 locally — no server round-trip, no account, nothing to leak. The name is a wink
33 at the assistant on your phone; the difference is where your words go.
34
35 **Siti is also the flagship open reference app for [Onde](https://ondeinference.com)** —
36 the on-device inference engine that powers it. If you want to see Onde driving a
37 real, shipping app on the App Store and Google Play, this is the codebase to read.
38
39 ## Why it exists
40
41 The device you keep closest to you should be the one that keeps your data
42 private. Most assistants send everything you type to a remote server; Siti keeps
43 it on your device instead. Using AI shouldn't be the price you pay to give that
44 up.
45
46 ## Features
47
48 - **Fully on-device inference** — chat runs locally via [Onde](https://crates.io/crates/onde): Metal-accelerated on Apple silicon, CPU on Android.
49 - **Bring your own model** — pick from on-device open-weights models; download and swap them in-app.
50 - **No account, no telemetry of your chats** — conversations stay on the device.
51 - **Native and small** — Rust core + Tauri, a real app rather than a web wrapper.
52
53 ## Quick start
54
55 **Prerequisites:** [Rust](https://rustup.rs) (stable), [pnpm](https://pnpm.io),
56 and the [Tauri prerequisites](https://tauri.app/start/prerequisites/) for your
57 platform (Xcode for macOS/iOS; Android SDK + NDK for Android).
58
59 ```bash
60 git clone https://github.com/ondeinference/siti.git
61 cd siti
62 pnpm install
63 make dev # or: pnpm tauri dev
64 ```
65
66 The first launch downloads a model; after that, inference is offline. The Onde
67 engine is pulled from crates.io — no separate SDK checkout needed. To develop
68 against a local Onde checkout, see the commented `[patch.crates-io]` block in
69 `src-tauri/Cargo.toml`.
70
71 Common tasks:
72
73 ```bash
74 make dev # start the Tauri dev server
75 make build # debug build
76 make fmt # cargo fmt
77 make lint # clippy + tsc
78 ```
79
80 ## Architecture
81
82 Siti is a thin, native shell around the Onde inference engine.
83
84 ```
85 ┌──────────────────────────────┐
86 │ React + Vite UI (src/) │ chat view, model settings
87 ├──────────────────────────────┤
88 │ Tauri command layer │ src-tauri/src/chat/command_*.rs
89 │ (load/unload model, send, │ typed IPC between UI and Rust
90 │ stream tokens, history) │
91 ├──────────────────────────────┤
92 │ Onde engine (crates.io) │ GGUF load + streaming generation;
93 │ Metal on Apple, CPU on │ Metal-accelerated on Apple silicon
94 │ Android │
95 └──────────────────────────────┘
96 ```
97
98 Things worth reading if you're evaluating the engineering:
99
100 - `src-tauri/src/chat/` — the command surface: model lifecycle, streaming token
101 events, and history. This is the cleanest example of wiring Onde into an app.
102 - `src-tauri/src/chat/mod.rs` — token-budget heuristics (reasoning models burn
103 a large `<think>` budget before the visible reply begins).
104 - `src-tauri/src/setup/` — redirecting the model cache into the App Group
105 container so the sandbox doesn't fight the download.
106 - `src-tauri/.cargo/config.toml` — the `+fullfp16` target-feature notes for
107 Apple silicon fp16 SIMD. Non-obvious, and load-bearing.
108
109 ## Repository layout
110
111 | Path | What |
112 | ---------- | ----------------------------------------------- |
113 | `/` | Tauri + Vite desktop/mobile app (the product) |
114 | `src/` | React UI |
115 | `src-tauri/` | Rust core, Tauri commands, platform config |
116 | `web/` | Next.js marketing + legal site (getsiti.5mb.app) |
117
118 ## The Onde SDK
119
120 The inference engine is developed separately and is open source under
121 MIT OR Apache-2.0, with SDKs for several ecosystems:
122
123 [Rust](https://crates.io/crates/onde) ·
124 [Swift](https://github.com/ondeinference/onde-swift) ·
125 [Kotlin Multiplatform](https://central.sonatype.com/artifact/com.ondeinference/onde-inference) ·
126 [Flutter](https://pub.dev/packages/onde_inference) ·
127 [React Native](https://www.npmjs.com/package/@ondeinference/react-native) ·
128 [CLI](https://github.com/ondeinference/onde-cli) ·
129 [Docs](https://ondeinference.com/sdk)
130
131 If Siti is useful to you, the engine underneath it probably is too.
132
133 ## Contributing
134
135 Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md). We ask
136 contributors to sign a lightweight [CLA](CLA.md) so the project can keep both
137 its open-source and commercial licensing options open. Start with issues labeled
138 [`good first issue`](https://github.com/ondeinference/siti/labels/good%20first%20issue).
139
140 ## Sponsor
141
142 Siti and Onde are built by a small team ([Splitfire AB](https://ondeinference.com)).
143 On-device AI that keeps user data private is worth funding — if you agree,
144 [**sponsor us on GitHub**](https://github.com/sponsors/ondeinference). Sponsorship
145 funds the engine, the SDKs, and this app.
146
147 ## Security & privacy
148
149 Chat content is processed on-device and is not transmitted to us. To report a
150 vulnerability, see [SECURITY.md](SECURITY.md) — please do not open a public
151 issue for security reports.
152
153 ## License
154
155 Code is licensed under [Apache-2.0](LICENSE). The "Siti AI" name, logos, and app
156 icons are trademarks of Splitfire AB and are **not** covered by the code license —
157 see [TRADEMARK.md](TRADEMARK.md).