Quick Start
SDK only — embed agents in your Python app
Agent, tools, memory, and hooks. No CLI, no gateway.Terminal CLI — run/chat/code, no gateway or bots
run, chat, code) and LLM runtime, without channel bots.Gateway + bots — channel runtime without the wrapper
How to Choose
Start at the top: installpraisonai unless you know you want a lighter footprint. Each lower tier trims dependencies at the cost of features.
How Tiers Interact at Runtime
The bot tier reaches wrapper-only features through a lazy bridge, so it stays installable on its own. The bot tier never imports the wrapper directly — the bridge resolves config the same way whether you run bot-tier standalone or the fullpraisonai install.
Ownership Table
Each tier owns a clear slice and must not depend upward.| Tier | Package | Owns | Must not depend on |
|---|---|---|---|
| 1 | praisonaiagents | Agent, tools, memory, hooks, protocols | any wrapper |
| 2a | praisonai-code | run/chat/code, Typer CLI, runtime, LLM | praisonai PyPI (lazy bridge only) |
| 2b | praisonai-bot | Bots, gateway, channel CLI, OS daemon, gateway scheduler tick | praisonai PyPI (lazy bridge for jobs/UI) |
| 3 | praisonai | Framework adapters (CrewAI/AutoGen), train, serve, dashboard, async jobs API | — |
praisonaiagents → praisonai-code + praisonai-bot → praisonai
Config Kernel
Shared configuration lives inpraisonai_code/cli/configuration/. The praisonai-bot tier reaches it through a lazy internal bridge, so the bot package stays installable on its own without importing the wrapper. You never call this bridge directly — it resolves config the same way whether you run bot-tier standalone or the full wrapper.
Common Patterns
Embed agents in my app
Install the SDK and callAgent directly.
Deploy a bot with scheduled updates, no CrewAI
Install the bot tier and run a scheduled agent tick — no wrapper required.Best Practices
Start with praisonai unless you know you want a lighter install
Start with praisonai unless you know you want a lighter install
The full wrapper pulls every tier and is the recommended default. Drop to
praisonai-code, praisonai-bot, or praisonaiagents only when you have a specific reason to trim dependencies.Shims keep old imports working — you don't need to migrate immediately
Shims keep old imports working — you don't need to migrate immediately
After the C9 module moves, the old
praisonai.scheduler.executor and praisonai.scheduler.condition_gate paths remain importable as backward-compatibility shims when the wrapper is installed. New code should import from praisonai_bot.scheduler.*, but existing code keeps running.The scheduler tick works standalone from bot tier; RunPolicy needs the wrapper
The scheduler tick works standalone from bot tier; RunPolicy needs the wrapper
ScheduledAgentExecutor ships in praisonai-bot, so scheduled ticks run without the wrapper. The RunPolicy safety gate stays in praisonai — install the wrapper if you need it for unattended runs.Related
Installation
Four-package install comparison
praisonai-bot SDK
Bot-tier package reference
Scheduler Pre-Run Gate
Cost-efficiency gate for scheduled ticks
Scheduled Run Policy
Safety gate for unattended runs

