.deb.
127.0.0.1 — nothing leaves your machine unless the model itself does.
Prefer a terminal? The Desktop engine ships with praisonai-desktop — see Headless CLI.
Quick Start
1
Install a venv with praisonaiagents
The app looks for a local virtual environment inside the checkout. Create one and install the SDK:
2
Build the app from source
The bundle targets are defined in
src-tauri/tauri.conf.json (productName: "PraisonAI", identifier ai.praison.desktop): app, dmg, nsis, and deb. macOS builds require 10.15+.3
Launch and watch the startup pill
On first launch a status pill reports the engine’s state:
Silent launch (no window)? Open
%TEMP%\PraisonAI-startup.log — the last line tells you whether the launch became the primary shell or was handed off. See Troubleshooting → Startup Log.How It Works
The Rust shell picks a Python interpreter, proves it owns its ownsite-packages, spawns the engine, then confirms the announced port with a /health probe before handing it to the webview.
Where the app looks for the venv, in order (src-tauri/src/main.rs):
The first interpreter whose venv owns its own
site-packages wins. A system Python or a mismatched venv is refused rather than guessed at.
System Requirements
Each release ships one file per platform — there is no universal build.
On Debian/Ubuntu the
.deb declares its own dependencies, so apt resolves them:
The package is built on Ubuntu 22.04, so it runs on Ubuntu 22.04+, Debian 12, and anything newer. On an older distribution, build from source.
Install with
apt rather than dpkg -i so the WebKitGTK dependencies are resolved:When To Use It
Best Practices
Keep the venv beside the checkout
Keep the venv beside the checkout
The shell resolves the interpreter from fixed paths inside the checkout. Put your
.venv at src/praisonai-agents/.venv so the app finds it without configuration.Install praisonaiagents into that venv
Install praisonaiagents into that venv
A missing dependency surfaces as
engine failed: missing dependency. Install praisonaiagents into the same venv the app resolves.Read the pill, not the exit code
Read the pill, not the exit code
Every failure attaches the tail of the engine’s own output. Read the pill and the log viewer instead of guessing from a bare exit code.
Related
Chat & Streaming
Messages, streaming events, tool cards, and keyboard shortcuts
Training
Fine-tune a local model with live loss and reconnect-safe progress
Approvals & Safety
ask / smart / never modes and the per-call approval flowFine-Tuning
Train a model in the app and load the checkpoint
Settings Reference
Every field in the settings registry
Agent Framework
Run a turn through CrewAI, AutoGen, LangGraph and other adapters
Engine & Diagnostics
Startup states, the log viewer, and common failure modes

