Onde Inference

onde

A terminal app for managing Onde Inference apps and fine-tuning models locally.
Sign in, assign models, and train adapters without bouncing between browser tabs.

Website PyPI npm pub.dev NuGet Crates.io License


onde CLI app list and model assignments



Install

pip install onde-cli

That installs the native onde binary for your platform. No compiler setup, no Node.js, no extra runtime to babysit. For package docs and the full install matrix, see https://ondeinference.com/cli.

What you get

Run:

onde --tui

and you'll get a full terminal UI where you can:

  • sign up or sign in
  • create and rename apps
  • assign models to apps
  • fine-tune supported Qwen models locally
  • merge adapters and export GGUF files

If you prefer doing this work in a terminal instead of a browser, that's the whole point.

Keyboard shortcuts

Auth screen

Key Action
Tab Move between fields
Enter Submit
Ctrl+L Switch to sign in
Ctrl+N Switch to create account
Ctrl+C Quit

Apps list

Key Action
↑ ↓ Move through apps
Enter Open app details
n Create a new app
s Sign out
Ctrl+C Quit

App detail

Key Action
m Assign or change model
r Rename app
s Sign out
Esc Back to apps list

Model picker

Key Action
↑ ↓ Move through models
Enter Assign selected model
Esc Cancel

Fine-tuning

Key Action
↑ ↓ Move through models
f Open fine-tune config for the selected model
m Merge adapter into base model
g Export merged model to GGUF

Fine-tuning

onde can fine-tune Qwen2, Qwen2.5, and Qwen3 safetensors models with LoRA.

Training runs locally: - on Metal for Apple Silicon - on CPU everywhere else

No cloud training job. No Python environment. No notebook setup spiral.

If you want the short version of what happens inside the model at inference time, Onde also has a plain-English note on the forward pass.

Supported base models

Model Size
Qwen/Qwen3-0.6B ~1.2 GB
Qwen/Qwen2.5-1.5B-Instruct ~3.0 GB
Qwen/Qwen3-1.7B ~3.4 GB
Qwen/Qwen3-4B ~8.0 GB

Only safetensors models can be fine-tuned. GGUF models are already quantized, so this pipeline doesn't use them as training inputs.

Training data format

Use one JSON object per line. Each object needs a text field containing the full conversation in Qwen's chat template.

{"text": "<|im_start|>user\nWhat is the boiling point of water?<|im_end|>\n<|im_start|>assistant\n100°C at sea level.<|im_end|>"}
{"text": "<|im_start|>user\nWhat about at high altitude?<|im_end|>\n<|im_start|>assistant\nLower, around 90°C at 3000 m.<|im_end|>"}

Running a fine-tune

  1. Open the Models tab.
  2. Pick a safetensors model with ↑ / ↓.
  3. Press f.
  4. Set your training data path, LoRA rank, epochs, and learning rate.
  5. Start training.

Default values: - LoRA rank: 8 - Epochs: 3 - Learning rate: 0.0001

As a rough reference, a rank-8 adapter for the 0.6B model is about 1.5 MB.

After training

Once the run finishes:

  • press m to merge the adapter into the base weights
  • press g to export the merged model to GGUF

The exported file loads directly in the Onde SDK for on-device AI inference.

Other ways to install

Method Command
npm npm install -g @ondeinference/cli
Homebrew brew install ondeinference/homebrew-tap/onde
uv uv tool install onde-cli
Dart pub dart pub global activate onde_cli
.NET tool dotnet tool install --global Onde.Cli
Cargo cargo install onde-cli

Build from source

git clone https://github.com/ondeinference/onde-cli
cd onde-cli
cargo build --release
./target/release/onde

Platform support

Prebuilt native binaries are available for:

Platform Architecture
macOS arm64, x64
Linux (glibc) arm64, x64
Windows arm64, x64

Debug logs

Logs are written to ~/.cache/onde/debug.log.

The app uses the terminal screen directly while the TUI is open, so logs go to the file instead of printing over the interface.

SDK Install
Swift SDK Swift Package Manager
Flutter SDK flutter pub add onde_inference
React Native SDK npm i @ondeinference/react-native
Rust crate cargo add onde

Source and issues

This package ships a prebuilt native binary. The source code lives here:

github.com/ondeinference/onde-cli

Bug reports and feature requests should go there too.

License

Dual-licensed under MIT and Apache 2.0.


© 2026 Splitfire AB (Onde Inference).