Syni is Synheart’s on-device LLM stack. It runs adaptive, persona-conditioned language model inference locally on the user’s device, with an optional cloud fallback for higher-capability requests. Syni is composed of four artifacts, each released independently and pinned by the consumer at install time:Documentation Index
Fetch the complete documentation index at: https://docs.synheart.ai/llms.txt
Use this file to discover all available pages before exploring further.
| Piece | What it is | Released as |
|---|---|---|
| Syni Flutter SDK | Dart/Flutter consumer SDK — agent, install lifecycle, persona binding, streaming chat | package:syni on pub.dev |
| Syni Runtime | Rust-based inference engine with a stable C ABI (FFI). The native artifact every SDK calls. | dist.synheart.ai/syni-runtime/ |
| Syni Spec | Canonical persona / safety / schema / grammar contracts | dist.synheart.ai/syni-spec/ |
| Syni Cloud Gateway | HTTP + SSE chat endpoint for cloud-fallback inference, persona-aware | api.synheart.ai |
Install
The Synheart CLI handles the runtime + spec on disk:synheart/vendor/syni-runtime/ and
synheart/vendor/syni-spec/. The verb shape is product + component:
product nouns (syni, core) install every component you’re entitled
to; component nouns (runtime, spec) fan out across products; two-arg
forms pin to one canonical package.
The Flutter SDK is added separately via pub:
synheart/vendor/syni-runtime/ tree.
Why Syni is split this way
- Runtime ≠ SDK. The Rust runtime + C ABI is the slow-changing artifact. SDKs in three languages (Dart, Swift, Kotlin) layer over the same ABI.
- Spec ≠ code. Persona behavior, safety rails, output schemas, and grammars are versioned contracts that can ship independently of any inference change. Same spec id → same behavior on local + cloud.
- Cloud is opt-in. Every persona declares an
execution_policy(local/cloud/hybrid). Apps can run fully offline, or fall back to cloud per call.
Persona model
Personas are JSON contracts insyni-spec. Each one
declares:
- a stable id (e.g.
focus.coach.v1) output_schema_id— the JSON Schema the response must satisfysafety_rule_ids— global policies that constrain outputexecution_policy— local / cloud / hybridprivacy— what data may leave the devicebudget— token / request limits
focus.coach.v1stress.coach.v1cognitive.companion.v1performance.coach.v1wellness.guide.v1
Related
- Syni Flutter SDK — getting started in a Flutter app
- Syni Runtime FFI — the C ABI for SDK authors
- Syni Spec — persona / safety / schema contracts
- Install via CLI —
synheart install syni