|
1
|
[package] |
|
2
|
name = "sitiai" |
|
3
|
version = "1.0.0" |
|
4
|
description = "Siti AI — private, on-device personal assistant." |
|
5
|
authors = ["Splitfire AB <support@getsiti.5mb.app>"] |
|
6
|
edition = "2021" |
|
7
|
license = "Apache-2.0" |
|
8
|
repository = "https://github.com/ondeinference/siti" |
|
9
|
homepage = "https://getsiti.5mb.app" |
|
10
|
|
|
11
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html |
|
12
|
|
|
13
|
[lib] |
|
14
|
# The `_lib` suffix may seem redundant but it is necessary |
|
15
|
# to make the lib name unique and wouldn't conflict with the bin name. |
|
16
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519 |
|
17
|
name = "sitiai_lib" |
|
18
|
crate-type = ["staticlib", "cdylib", "rlib"] |
|
19
|
|
|
20
|
[build-dependencies] |
|
21
|
tauri-build = { version = "2", features = [] } |
|
22
|
|
|
23
|
[dependencies] |
|
24
|
tauri = { version = "2", features = [] } |
|
25
|
tauri-plugin-log = "2" |
|
26
|
tauri-plugin-opener = "2" |
|
27
|
serde = { version = "1", features = ["derive"] } |
|
28
|
serde_json = "1" |
|
29
|
log = "0.4" |
|
30
|
once_cell = "1" |
|
31
|
tokio = { version = "1", features = ["macros", "rt"] } |
|
32
|
# On-device LLM inference engine (Metal on Apple, CPU on Android). |
|
33
|
# Published crate: https://crates.io/crates/onde — this is the SDK Siti showcases. |
|
34
|
# For local SDK development, uncomment the [patch.crates-io] block at the bottom |
|
35
|
# of this file to build against a sibling `onde` checkout instead. |
|
36
|
onde = "1.2.2" |
|
37
|
|
|
38
|
# Apple App Group container lookup — used to redirect the HuggingFace model |
|
39
|
# cache into the shared `group.com.ondeinference.apps` container. |
|
40
|
[target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies] |
|
41
|
objc2-foundation = { version = "0.3", features = [ |
|
42
|
"NSFileManager", |
|
43
|
"NSBundle", |
|
44
|
"NSString", |
|
45
|
] } |
|
46
|
|
|
47
|
[profile.dev] |
|
48
|
# GGUF inference is unusably slow at opt-level 0; 2 keeps dev builds bearable. |
|
49
|
opt-level = 2 |
|
50
|
incremental = false |
|
51
|
|
|
52
|
[profile.release] |
|
53
|
opt-level = 3 |
|
54
|
lto = "thin" |
|
55
|
codegen-units = 1 |
|
56
|
strip = "debuginfo" |
|
57
|
|
|
58
|
# Do NOT strip proc-macro / build-script dylibs. On beta macOS (Darwin 26/27) |
|
59
|
# `strip = "debuginfo"` corrupts their Mach-O LINKEDIT ("mis-aligned LINKEDIT |
|
60
|
# string pool"), so rustc can't dlopen them mid-build ("can't find crate for |
|
61
|
# thiserror_impl"). The shipped app binary stays stripped via the profile above. |
|
62
|
[profile.release.build-override] |
|
63
|
strip = false |
|
64
|
|
|
65
|
# ── Local Onde SDK development ───────────────────────────────────────────────── |
|
66
|
# Uncomment to build Siti against a local checkout of the Onde engine (sibling |
|
67
|
# directory) instead of the published crate. Keep this commented on `main`. |
|
68
|
# [patch.crates-io] |
|
69
|
# onde = { path = "../../onde" } |