uv tool → pipx → venv fallback) so you get a working praisonai CLI without touching your global Python environment.
install.sh (macOS / Linux / WSL)
How It Works
Detect isolation backend
Checks
PRAISONAI_BACKEND / --backend first. In auto mode (default), prefers uv tool → pipx → venv fallback.Build package spec
Defaults to
praisonai[all] for a full install. Respects PRAISONAI_EXTRAS / --extras and PRAISONAI_VERSION / --version.Install via chosen backend
- uv:
uv tool install --force praisonai[all]+uv tool update-shell - pipx:
pipx install --force praisonai[all]+pipx ensurepath - venv: Python check →
python -m venv ~/.praisonai/venv→pip install praisonai[all]→ symlink~/.local/bin/praisonai → ~/.praisonai/venv/bin/praisonai
Ensure ~/.local/bin on PATH
Adds
~/.local/bin to the current shell session and appends an idempotent block to your shell rc (unless --no-modify-path):Verify installation
- venv backend: imports
praisonaiagentsvia the venv python. - uv / pipx backends: checks that the resolved
praisonaiCLI runs (isolated env, not system Python).
Offer shell completions
Prompts once (TTY only, skipped under
--no-prompt / --no-onboard / --dry-run) to install tab-completions for bash, zsh, or fish.User Interaction Flow
CLI Flags
| Flag | Description |
|---|---|
--version VERSION | Install specific version (default: latest) |
--extras EXTRAS | Install with extras, e.g. ui,chat (default: all) |
--backend BACKEND | Force isolation backend: uv, pipx, venv, system, or auto |
--install-dir DIR | Base dir for the venv fallback (default: ~/.praisonai) |
--no-modify-path | Do not append a PATH block to your shell rc |
--no-venv | Skip isolation — install into the active Python environment |
--no-onboard | Skip interactive onboarding after install |
--python PATH | Use a specific Python executable |
--dry-run | Print what would happen without making any changes |
--no-prompt | Non-interactive mode — skip all prompts |
-h, --help | Show help |
Environment Variables
| Variable | Default | Description |
|---|---|---|
PRAISONAI_VERSION | latest | Version to install |
PRAISONAI_EXTRAS | "" | Comma-separated extras (defaults to all) |
PRAISONAI_BACKEND | auto | Force backend: uv / pipx / venv / system / auto |
PRAISONAI_INSTALL_DIR | ~/.praisonai | Base dir for the venv fallback |
PRAISONAI_NO_MODIFY_PATH | 0 | Skip shell rc PATH modification (1 to enable) |
PRAISONAI_SKIP_VENV | 0 | Skip isolation entirely (1 to enable, same as --no-venv) |
PRAISONAI_PYTHON | auto-detect | Path to Python executable |
PRAISONAI_DRY_RUN | 0 | Preview mode (1 to enable) |
PRAISONAI_NO_PROMPT | 0 | Skip all prompts (1 to enable) |
PRAISONAI_NO_ONBOARD | 0 | Skip interactive onboarding (1 to enable) |
Power-User Alternatives (No Installer Needed)
These are first-class supported paths — no installer required:Shell Completions
The installer offers to install tab-completions after a successful install:--no-onboard, --no-prompt, --dry-run, or no TTY is available (e.g. CI).
Re-run anytime:
_praisonai_completion or #compdef praisonai is not already present. Fish completions are overwritten.
Choosing a Backend
Not sure which backend to pick? The installer chooses the best one automatically. Read more in Isolation Backends.
CI/CD Usage
- GitHub Actions
- GitLab CI
- Docker
Uninstall
- uv
- pipx
- venv
- pip only
Troubleshooting
praisonai not found after install
praisonai not found after install
Restart your terminal or source your shell rc:Or add
~/.local/bin to PATH manually:Force a specific backend
Force a specific backend
Don't want PATH modified
Don't want PATH modified
~/.local/bin to PATH manually in your shell rc.I have both uv and pipx — which runs?
I have both uv and pipx — which runs?
The installer picks
uv first in auto mode. Override with --backend pipx or PRAISONAI_BACKEND=pipx.Python version too old
Python version too old
The installer requires Python 3.10+. If auto-install fails:
Permission denied on Linux
Permission denied on Linux
install.ps1 (Windows)
What It Does
Install Python (if needed)
- winget:
winget install Python.Python.3.12 - Chocolatey:
choco install python - Scoop:
scoop install python
PowerShell Parameters
| Parameter | Description |
|---|---|
-Version | Install specific version |
-Extras | Install with extras |
-NoVenv | Skip virtual environment |
-Python | Use specific Python |
-DryRun | Preview without changes |
-Help | Show help |
Post-Install Flow
After installation and verification, the installer runs an interactive onboarding sequence:- Shell completions — offered once, idempotent
- Setup wizard (
praisonai setup) — configure LLM API keys - Bot onboarding (
praisonai onboard) — set up Telegram / Discord / Slack / WhatsApp (default: Yes). See the onboard guide. - Final summary — the onboard wizard’s ✅ Done panel, or the installer’s Next Steps block if onboarding was skipped.
If you skip the setup wizard (
--no-prompt), the next praisonai invocation will detect missing credentials and offer to launch the wizard — or exit with a clear error in CI.Related
Quick Install
One-liner install with options
Isolation Backends
Choose between uv, pipx, and venv
Onboarding
Bot setup wizard
Scripts Reference
All developer scripts

