praisonai-code is the terminal-native agent CLI — install it on its own for a smaller footprint when you only need agentic commands.
praisonai-code executes the agent in-process and prints the reply.
Which install do I need?
Bothpraisonai-code (console script) and python -m praisonai_code call the same entry point: configure logging, register commands, then run the Typer app.
Quick Start
1
Install standalone
--version for a quick one-liner (package version only, no panel):run "…" and --output plain|verbose|silent|actions|json|stream|stream-json — runs standalone via the in-process Agent path. chat and code (interactive TUI) still need the wrapper.2
Upgrade later if you need bots or gateway
praisonai-code binary keeps working. Wrapper-only commands (gateway, bot, onboard, pairing, identity, kanban, claw, dashboard) become available through the composed install.How It Works
Text-moderun always executes in-process via the Agent path on a standalone install. When the wrapper is present, human-readable modes delegate to its handle_direct_prompt; when it is absent, they route through the in-process Agent with the matching output preset. Only chat and code fall to the install-hint branch. Plugin discovery is vendored inside praisonai-code, so plugin-related flows keep working without the wrapper.
Output presets map as plain → plain, silent/default → silent, verbose → verbose; silent-style presets print the final text. chat and code raise the install hint on a standalone install:
_registry module means plugins work even without the wrapper installed. Version resolution reads from the praisonai-code package metadata directly, not the wrapper.
Command matrix
Three tiers decide what a command needs: fully standalone, wrapper-required (listed on a standalone install but needs the wrapper at runtime), and wrapper-only (not listed without the wrapper).
Wrapper-required commands are listed in
--help but fail fast with an install hint when the wrapper is missing. Wrapper-only names stay out of --help entirely and do not load a Typer module.
The 14 stub groups below are a special mixed case — their legacy entry points are wrapper-required, but native subcommands stay standalone-safe:
daemon start runs standalone in both foreground and --background modes — only the bot/gateway daemon sub-apps are wrapper-only.Standalone limits
On apip install praisonai-code-only install:
For interactive terminal UX (
chat, code), install the wrapper: pip install praisonai. Default run and every --output text mode already work standalone.
praisonai-code doctor returns exit 0 on a healthy standalone install — wrapper-presence checks (performance_praisonai_import, acp_module, praisonai_package_structure, console_script_execution) SKIP rather than FAIL (PR #2851).
Stub command groups on standalone
Run agents standalone without the wrapper — the SDK works directly:agents, workflow, registry, memory, skills, hooks, rules, eval, package, templates, todo, research, commit, and call — delegate to the praisonai wrapper for their legacy entry points. On a standalone pip install praisonai-code (PR #2854) those entry points exit 1 with a single-line install hint — no Rich traceback:
<group> name changes per command (workflow requires the full wrapper. …, registry requires the full wrapper. …, and so on).
These groups are mixed, not wholly wrapper-only. Their native subcommands keep working standalone — only the legacy delegating entry points fail fast.
Run
pip install praisonai to unlock the wrapper-delegating entry points, or use the native standalone-safe subcommand.Wrapper-command loading
Wrapper-only commands (bot, gateway, pairing, identity, onboard, kanban, dashboard, claw, daemon) are Typer sub-apps whose implementations live in the praisonai wrapper. When you install praisonai-code standalone, these commands are not listed in --help and are not resolvable — get_command() returns None instead of loading a module that doesn’t exist in praisonai_code.
bot, gateway, pairing, identity, onboard, kanban, dashboard, claw, or daemon, install the full wrapper:
Configuration and environment
Version commands
praisonai key is omitted when the wrapper is not installed.
praisonai-code version check needs outbound HTTPS to PyPI.Best Practices
When to use praisonai-code alone
When to use praisonai-code alone
Use
praisonai-code for any run "…" prompt (default or any --output mode), config, doctor, or the warm-runtime daemon — smaller install, no gateway/bot deps.When to install the full wrapper
When to install the full wrapper
Install
praisonai for interactive chat/code, Telegram/Discord/Slack bots, the WebSocket gateway, or kanban/dashboard.Monorepo dev install order
Monorepo dev install order
In dev,
pip install -e src/praisonai-agents && pip install -e src/praisonai-code && pip install -e src/praisonai (this exact order) — matches the release publish order in pypi-release.yml.AgentApp is a silent alias for AgentOS
AgentApp is a silent alias for AgentOS
from praisonai import AgentOS and from praisonai import AgentApp both work — AgentApp is a backward-compat silent alias for AgentOS. No deprecation warning is emitted.Related
Choose your install
Compare full wrapper, code-only, and SDK installs
Architecture
Six-package layout and dependency direction

