About Onde Inference CLI
Onde Inference CLI is a command-line interface for managing Onde Inference accounts and models, fine-tuning local models, and exporting GGUF files. It is for users working with Onde models from a terminal, with local LoRA training for supported Qwen models.
Key features
- 01Manage accounts and model catalog
- 02Create and rename apps
- 03Register and assign models
- 04Search Hugging Face models
- 05Fine-tune supported Qwen models locally
- 06Merge adapters and export GGUF
Use cases
- 01Manage Onde apps and models from a terminal
- 02Fine-tune a Qwen model using JSONL conversations
- 03Export a trained model for Onde SDK inference
MCP support
Run `onde --mcp` to expose account and model-catalog operations as MCP tools over stdio. MCP clients can use it non-interactively, and it reuses a token from TUI sign-in or the `login` tool.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README
Onde Inference CLI
Command-line interface for Onde Inference.
Swift · Flutter · React Native · Rust · Website
Manage your Onde Inference account, fine-tune local models, and export them to GGUF, all from the terminal.
Install
Install onde-cli with your favorite tool. For package docs and the full install matrix, see https://ondeinference.com/cli.
npm
npm install -g @ondeinference/cli
Homebrew
brew tap ondeinference/homebrew-tap && brew trust --tap ondeinference/homebrew-tap
brew install onde
pip / uv / uvx
pip install onde-cli
# or
uv tool install onde-cli
uv run onde --tui
# or with
uvx --from onde-cli onde --tui
.NET tool
dotnet tool install --global Onde.Cli
Dart pub global
dart pub global activate onde_cli
The Dart package is a thin launcher. On first run it downloads the right native binary into ~/.onde/cli, then reuses the local copy.
Pre-built binary
Download a release from GitHub Releases:
# macOS Apple Silicon
curl -Lo onde https://github.com/ondeinference/onde-cli/releases/latest/download/onde-macos-arm64
chmod +x onde && mv onde /usr/local/bin/onde
| Platform | File |
|---|---|
| macOS Apple Silicon | onde-macos-arm64 |
| macOS Intel | onde-macos-amd64 |
| Linux x64 | onde-linux-amd64 |
| Linux arm64 | onde-linux-arm64 |
| Windows x64 | onde-win-amd64.exe |
| Windows arm64 | onde-win-arm64.exe |
Usage
onde --tui
This opens the TUI. Plain onde prints usage and exits. You can sign up or sign in right there.
| Key | What it does |
|---|---|
Tab | Move between fields |
Enter | Submit or sign out |
Ctrl+L | Go to the sign-in screen |
Ctrl+N | Go to the new account screen |
Ctrl+C | Quit |
MCP server
Run onde as a Model Context Protocol server over stdio instead of the TUI:
onde --mcp
This exposes Onde account and model-catalog operations as MCP tools — login, me, apps_list, app_create, app_rename, models_list, model_register, model_assign, hf_search — returning structured JSON. stdout is the JSON-RPC channel; tools run non-interactively and reuse the token from a TUI sign-in (or the login tool). Point any MCP client at the command onde --mcp.
Fine-tuning
onde includes a LoRA fine-tuning pipeline for Qwen2, Qwen2.5, and Qwen3 models. It runs locally: Metal on Apple Silicon, CPU elsewhere. No cloud setup. No Python environment.
The flow is straightforward: download a safetensors base model, fine-tune it with LoRA, merge the adapter back into the base weights, then export to GGUF for use in the Onde SDK.
If you want a quick refresher on what the model is actually doing at inference time, Onde has a short note on the forward pass.
Training data format
Each line should be one complete conversation in Qwen's chat template:
{"text": "<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n<|im_start|>user\nWhat is LoRA?<|im_end|>\n<|im_start|>assistant\nLoRA adds small trainable matrices to frozen layers, letting you fine-tune large models without updating all the weights.<|im_end|>"}
Save the file wherever you want. The TUI lets you point to it directly.
Running it
onde --tui
→ Models tab (Tab from Apps)
→ Select a safetensors model (↑↓, Enter)
→ Press f
Only safetensors models can be fine-tuned. GGUF models are already quantized, so their weights are not differentiable.
Configure the run:
| Field | Default | Notes |
|---|---|---|
| Training data | ~/.onde/finetune/train.jsonl | Path to your JSONL file |
| LoRA rank | 8 | Higher means more capacity and more memory use |
| Epochs | 3 | Full passes over the dataset |
| Learning rate | 0.0001 | AdamW default |
Press Enter to start. In a healthy run, loss usually starts dropping by epoch 2. If it stays flat, try 0.0003.
After training
For rank 8 on a 0.6B model, the adapter is about 1.5 MB. From the fine-tune complete screen:
mto merge the adapter into the base modelgto export the merged model to GGUF
The resulting GGUF loads directly in the Onde SDK for on-device AI inference.
Supported base models
| Model | Size | Notes |
|---|---|---|
Qwen/Qwen3-0.6B | ~1.2 GB | Smallest and quickest to train |
Qwen/Qwen2.5-1.5B-Instruct | ~3.0 GB | Good default for instruction tuning |
Qwen/Qwen3-1.7B | ~3.4 GB | Newer small Qwen3 model |
Qwen/Qwen3-4B | ~8.0 GB | Best quality, better suited to macOS |
You can search for any of these from the Models tab with /.
Debug
Logs are written to ~/.cache/onde/debug.log.
If you installed through pub.dev, the launcher cache lives under ~/.onde/cli.
License
Dual-licensed under MIT and Apache 2.0.
Copyright
© 2026 Splitfire AB (Onde Inference).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.