Terminal UI for Onde Inference models, apps, and account management.
Project description
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.
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.
What you get
Run:
onde
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.
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
- Open the Models tab.
- Pick a safetensors model with
↑/↓. - Press
f. - Set your training data path, LoRA rank, epochs, and learning rate.
- 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
mto merge the adapter into the base weights - press
gto export the merged model to GGUF
The exported file loads directly in the Onde SDK for on-device 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 |
| 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.
Related SDKs
| 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.
Copyright
© 2026 Onde Inference (Splitfire AB).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onde_cli-0.3.0.tar.gz.
File metadata
- Download URL: onde_cli-0.3.0.tar.gz
- Upload date:
- Size: 888.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a93b78d36d215a044b1c5087d12e60f286d6c2a2475d80c0254e8a9f51d8a7e
|
|
| MD5 |
5f93f34a54927a5377ffd4cb2fdf4546
|
|
| BLAKE2b-256 |
2d9ae72a32069a8b7798031058c5d629c586631ba909434e8a303c044f328c84
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0.tar.gz:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0.tar.gz -
Subject digest:
5a93b78d36d215a044b1c5087d12e60f286d6c2a2475d80c0254e8a9f51d8a7e - Sigstore transparency entry: 1397847302
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type:
File details
Details for the file onde_cli-0.3.0-py3-none-win_arm64.whl.
File metadata
- Download URL: onde_cli-0.3.0-py3-none-win_arm64.whl
- Upload date:
- Size: 18.8 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
949587e7146f69e354546c617afead9930a61c520667c262e1db97eeb1a9e8bd
|
|
| MD5 |
6eebf628e6f8a95565be465aac5fbcb2
|
|
| BLAKE2b-256 |
27e31554b625766343586a7db501dcfb2a0caad6e3c6b31c08e6f1a1e3511e08
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0-py3-none-win_arm64.whl:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0-py3-none-win_arm64.whl -
Subject digest:
949587e7146f69e354546c617afead9930a61c520667c262e1db97eeb1a9e8bd - Sigstore transparency entry: 1397847315
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type:
File details
Details for the file onde_cli-0.3.0-py3-none-win_amd64.whl.
File metadata
- Download URL: onde_cli-0.3.0-py3-none-win_amd64.whl
- Upload date:
- Size: 19.8 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb4fe13fa989a073213094dd3d2781e49bbd7ffc6d7bf3b05af66f38e0f9c3f9
|
|
| MD5 |
e8b31129adfd74b19202833f0afb758b
|
|
| BLAKE2b-256 |
6bfbf777fff95c16dae5684bcd488e8cd548e0060e4bf2ea61dfd2451c4e7507
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0-py3-none-win_amd64.whl:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0-py3-none-win_amd64.whl -
Subject digest:
fb4fe13fa989a073213094dd3d2781e49bbd7ffc6d7bf3b05af66f38e0f9c3f9 - Sigstore transparency entry: 1397847406
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type:
File details
Details for the file onde_cli-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: onde_cli-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 20.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
355178ade77fad011eb443ad2d2402050d46a6af78d17c32d192d726cfe2fd91
|
|
| MD5 |
450bdfdffc85d8b2b491c889ee55d4d5
|
|
| BLAKE2b-256 |
c33abb18c09914a49576fc29c82f0e60b442b1fec8c4a4c5e8030f93d59dd949
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
355178ade77fad011eb443ad2d2402050d46a6af78d17c32d192d726cfe2fd91 - Sigstore transparency entry: 1397847342
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type:
File details
Details for the file onde_cli-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: onde_cli-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 19.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f1a4b9944acfed4305463878b214878bddb910fc2079955c5bef546dab50285
|
|
| MD5 |
5ec0de9262a08c17955d02ff1ce3b406
|
|
| BLAKE2b-256 |
2c916b4673e7c0e5a8140f0d855761ea3038637dbdd062b4b7d894c5912cad2c
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
9f1a4b9944acfed4305463878b214878bddb910fc2079955c5bef546dab50285 - Sigstore transparency entry: 1397847370
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type:
File details
Details for the file onde_cli-0.3.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: onde_cli-0.3.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 28.2 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2c1b9c5bb720cc11cfbbeb72f1c54bea6c3f78a378c91a6329473cc29f1b580
|
|
| MD5 |
6a33dfe5ed31107c1c422b0e38a58b40
|
|
| BLAKE2b-256 |
ad6b1b94e3a1cbc226053bf5fca52632350e24b726ff62d5c1f02c372827d4f1
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
d2c1b9c5bb720cc11cfbbeb72f1c54bea6c3f78a378c91a6329473cc29f1b580 - Sigstore transparency entry: 1397847437
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type:
File details
Details for the file onde_cli-0.3.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: onde_cli-0.3.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 29.0 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a2ad2f39e70b4dc07213c4878637fe36efdad08bbfed1a89bc0756551316216
|
|
| MD5 |
c41005c16ec01fc6a39ae39eede50e84
|
|
| BLAKE2b-256 |
8149db6556295b399242b791866622dc3585c0d28c84096ae65089a9a711be4e
|
Provenance
The following attestation bundles were made for onde_cli-0.3.0-py3-none-macosx_10_12_x86_64.whl:
Publisher:
release-pypi.yml on ondeinference/onde-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onde_cli-0.3.0-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
1a2ad2f39e70b4dc07213c4878637fe36efdad08bbfed1a89bc0756551316216 - Sigstore transparency entry: 1397847457
- Sigstore integration time:
-
Permalink:
ondeinference/onde-cli@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ondeinference
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@fcd987797f795ff50daa47c9fc9e6d1fa6405b13 -
Trigger Event:
push
-
Statement type: