PraisonAI ๐ฆ โ Hire a 24/7 AI Workforce. Stop writing boilerplate and start shipping autonomous, self-improving agents that research, plan, and execute tasks across your apps. From one agent to an entire organization, deployed in 5 lines of code.
curl -fsSL https://praison.ai/install.sh | bash
โโโโโโโ โโโโโโโ โโโโโโ โโโโโโโโโโโ โโโโโโโ โโโโ โโโ โโโโโโ โโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโ โโโ โโโโโโโโโโโ
โโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโ
โโโ โโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโ โโโโโโ
โโโ โโโ โโโโโโ โโโโโโโโโโโโโโ โโโโโโโ โโโ โโโโโ โโโ โโโโโโ
pip install praisonai
๐ฏ Use Cases
AI agents solving real-world problems across industries:
| Use Case | Description |
|---|---|
| ๐ Research & Analysis | Conduct deep research, gather information, and generate insights from multiple sources automatically |
| ๐ป Code Generation | Write, debug, and refactor code with AI agents that understand your codebase and requirements |
| โ๏ธ Content Creation | Generate blog posts, documentation, marketing copy, and technical writing with multi-agent teams |
| ๐ Data Pipelines | Extract, transform, and analyze data from APIs, databases, and web sources automatically |
| ๐ค Customer Support | Deploy 24/7 support bots on Telegram, Discord, Slack with memory and knowledge-backed responses |
| โ๏ธ Workflow Automation | Automate multi-step business processes with agents that hand off tasks, verify results, and self-correct |
๐ Meet your first Agent (Under 1 Minute)
- Install the lightweight core SDK:
pip install praisonaiagents
export OPENAI_API_KEY="your-api-key"
- Run your first autonomous agent:
from praisonaiagents import Agent
# Give your agent a goal, and watch it work.
agent = Agent(instructions="You are a senior data analyst.")
agent.start("Analyze the top 3 tech trends of 2026 and format as a markdown table.")
๐งฌ The Five-Layer Agent Stack
Most frameworks hand you one or two layers and leave the rest as homework. PraisonAI covers all five โ plus the outer layer that decides where your agent actually runs.
Each layer wraps the one inside it. When an agent misbehaves, the layer tells you where to look.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โฌก MANAGED AGENTS โ Where does it actually run? โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ 5 ยท GRAPH โ Who runs when, and who checks whom? โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ 4 ยท LOOP โ When do we stop? โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ
โ โ โ โ 3 ยท HARNESS โ Can it act, and be checked? โ โ โ โ
โ โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ โ
โ โ โ โ โ 2 ยท CONTEXT โ Is the right thing in the window? โ โ โ โ โ
โ โ โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ โ โ
โ โ โ โ โ โ 1 ยท PROMPT โ Did I say it clearly? โ โ โ โ โ โ
โ โ โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ โ โ
โ โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Layer | The question it answers | PraisonAI |
|---|---|---|
| 1 ยท Prompt | Did I say it clearly? | instructions=, role/goal/backstory, output=, templates= |
| 2 ยท Context | Is the right thing in the window? | memory=, knowledge=, context=, handoff ContextPolicy |
| 3 ยท Harness | Can it act, and be checked? | tools=, MCP(), guardrails=, approval=, hooks=, sandbox= |
| 4 ยท Loop | When do we stop? | execution=ExecutionConfig(...), reflection=, autonomy=, doom-loop detection |
| 5 ยท Graph | Who runs when, and who checks whom? | AgentFlow, route(), parallel(), loop(), repeat() |
| โฌก Managed | Where does it actually run? | run_on="docker" โ one shared remote sandbox, or a fully hosted loop |
Layer 1 ยท Prompt โ Did I say it clearly?
Role, instructions, examples, output format.
from praisonaiagents import Agent
agent = Agent(
role="Senior Data Analyst",
goal="Turn raw numbers into decisions",
output="verbose", # markdown-formatted output
)
agent.start("Summarise Q3 revenue trends")
Layer 2 ยท Context โ Is the right thing in the window?
Write, select, compress, isolate โ the four context operations, one parameter each.
from praisonaiagents import Agent
agent = Agent(
instructions="You are a support engineer.",
memory={"user_id": "u-42"}, # write โ persists across runs (needs a user_id)
knowledge=["docs/"], # select โ retrieves only what's relevant
context="summarize", # compress โ auto-compacts before the limit
)
Isolate is
handoffs=[specialist]โ a sub-agent inherits the last few messages and the intersection of your tools, not your whole transcript. ๐ Handoffs
Layer 3 ยท Harness โ Can it act, and be checked?
Agent = Model + Harness. Tool dispatch, plus the guides that steer before acting and the sensors that observe after.
from praisonaiagents import Agent, MCP, tool
@tool
def deploy(env: str) -> str:
"""Deploy the current build to an environment."""
return f"Deployed to {env}"
agent = Agent(
name="ReleaseEngineer",
instructions="You are a release engineer.",
tools=[deploy, MCP("npx -y @modelcontextprotocol/server-filesystem /tmp")],
approval=True, # guide โ human gate before risky tools run
)
agent.start("Deploy to staging, then list the files you can read")
Layer 4 ยท Loop โ When do we stop?
Hard iteration caps, budget ceilings, no-progress detection and completion checks โ every brake is explicit.
from praisonaiagents import Agent, ExecutionConfig
agent = Agent(
instructions="Fix the failing tests.",
execution=ExecutionConfig(max_iter=30, max_budget=0.50, on_budget_exceeded="stop"),
reflection=True, # completion check โ the agent grades its own answer
autonomy=True, # required to drive the loop with run_autonomous()
)
result = agent.run_autonomous("Refactor the auth module", max_iterations=5)
print(result.completion_reason)
# goal | no_tool_calls | max_iterations | timeout | doom_loop | needs_help | error
# (with on_budget_exceeded="stop", hitting the cap raises BudgetExceededError,
# surfaced here as completion_reason="error")
Doom-loop detection is on by default. Repeated identical tool calls and AโBโAโB oscillation get caught โ while a poller whose output keeps changing does not. ๐ Doom Loop Detection
Layer 5 ยท Graph โ Who runs when, and who checks whom?
Topology as a versionable artifact: prompt chaining, routing, parallelisation, orchestrator-worker.
from praisonaiagents import AgentFlow
from praisonaiagents.workflows import route, parallel, repeat
flow = AgentFlow(steps=[
classifier,
route({"bug": [bug_agent], "feature": [feature_agent], "default": [triage]}),
parallel([reviewer, tester]), # fan out, join automatically
repeat(editor, until=lambda ctx: "approved" in ctx.previous_result.lower(),
max_iterations=3), # evaluatorโoptimizer
])
flow.run("Ticket #123: login fails on Safari")
The same graph is expressible in YAML with no Python at all. ๐ AgentFlow
โฌก Outside the stack: Managed Agents โ Where does it actually run?
The harness is commoditising; where the agent executes is the next multiplier. Rather than burning your laptop's CPU, hand an agent a short-lived cloud sandbox โ repo, tools and tests run there.
pip install praisonai
The simplest way in is run_on= โ one whole team or workflow shares one sandbox, so a file written by step 1 is there for step 2:
from praisonaiagents import Agent, AgentFlow
writer = Agent(name="Writer", instructions="You write files.")
reader = Agent(name="Reader", instructions="You read files.")
flow = AgentFlow(run_on="docker", steps=[writer, reader]) # or e2b | modal | daytona | flyio
flow.run("Write 'hello' to /workspace/note.txt, then read it back")
Same thing with no Python at all:
name: remote-demo
run_on: docker # every step shares one sandbox
agents:
writer: {role: Writer, goal: Write files}
reader: {role: Reader, goal: Read files}
steps:
- agent: writer
action: "Write 'hello' to /workspace/note.txt"
- agent: reader
action: "Read /workspace/note.txt"
For a single agent, pick the axis you need โ remote tools or a remote loop:
from praisonai import Agent, LocalAgent, LocalAgentConfig, HostedAgent
# A. Tools run in a remote sandbox; the agent loop stays local
agent = Agent(name="builder", backend=LocalAgent(
compute="e2b", # or modal | daytona | flyio | docker | tenki
config=LocalAgentConfig(model="gpt-4o-mini", name="RemoteTools"),
))
# B. The entire agent loop runs in the cloud (needs ANTHROPIC_API_KEY)
agent = Agent(name="teacher", backend=HostedAgent(provider="anthropic"))
agent.start("Write a Python script that prints the first 10 primes, then run it")
See what is running and reclaim strays:
praisonai managed ps # list running sandboxes
praisonai managed stop --all # reclaim them
Sandboxes shut themselves down when idle (auto_shutdown, idle_timeout_s), and a post-setup snapshot is reused so the next run skips the image pull and dependency install. Commit a .praisonai/environment.yaml and the environment travels with the repo.
๐ 20 runnable examples ยท manage sessions with
praisonai managed sessions list <agent-id>orpraisonai managed sessions resume <session-id> "<prompt>"
Stack framing adapted from The Five-Layer Agent Stack and Agent Harnesses vs Orbs.
๐ The PraisonAI Ecosystem
Start simple with the core SDK, or expand to full visual builders and dashboards when you're ready.
- Core SDK (
praisonaiagents): For pure Python development.pip install praisonaiagents - ๐ป PraisonAI CLI (
praisonai): For terminal-based developers.pip install praisonai - ๐ฆ Claw Dashboard: Connect agents directly to Telegram, Slack, or Discord.
pip install "praisonai[claw]" - ๐ Flow Visual Builder: Drag-and-drop workflow creation.
pip install "praisonai[flow]" - ๐ค PraisonAI UI: Clean chat interface.
pip install "praisonai[ui]"
JavaScript SDK
npm install praisonai
๐ง Supported Providers & Features
Powered by 100+ LLMs (OpenAI, Anthropic, Gemini & local models).
View all 24 providers with examples
| Provider | Example |
|---|---|
| OpenAI | Example |
| Anthropic | Example |
| Google Gemini | Example |
| Ollama | Example |
| Groq | Example |
| DeepSeek | Example |
| xAI Grok | Example |
| Mistral | Example |
| Cohere | Example |
| Perplexity | Example |
| Fireworks | Example |
| Together AI | Example |
| OpenRouter | Example |
| HuggingFace | Example |
| Azure OpenAI | Example |
| AWS Bedrock | Example |
| Google Vertex | Example |
| Databricks | Example |
| Cloudflare | Example |
| AI21 | Example |
| Replicate | Example |
| SageMaker | Example |
| Moonshot | Example |
| vLLM | Example |
"Grok 3 customer support" โ Elon Musk quoting PraisonAI's tutorial
๐ Why PraisonAI?
| Feature | How | |
|---|---|---|
| ๐ | MCP Protocol โ stdio, HTTP, WebSocket, SSE | tools=MCP("npx ...") |
| ๐ง | Planning Mode โ plan โ execute โ reason | planning=True |
| ๐ | Deep Research โ multi-step autonomous research | Docs |
| ๐ค | External Agents โ orchestrate Claude Code, Gemini CLI, Codex | Docs |
| ๐ | Agent Handoffs โ seamless conversation passing | handoffs=[other_agent] |
| ๐ก๏ธ | Guardrails โ input/output validation | Docs |
| Web Search + Fetch โ native browsing | web=True |
|
| ๐ช | Self Reflection โ agent reviews its own output | Docs |
| ๐ | Workflow Patterns โ route, parallel, loop, repeat | Docs |
| ๐ง | Memory (zero deps) โ works out of the box | memory=True |
View all 25 features
| Feature | How | |
|---|---|---|
| ๐ก | Prompt Caching โ reduce latency + cost | caching=True |
| ๐พ | Sessions + Auto-Save โ persistent state across restarts | auto_save="my-project" |
| ๐ญ | Thinking Budgets โ control reasoning depth | agent.thinking_budget = 1024 |
| ๐ | RAG + Quality-Based RAG โ auto quality scoring retrieval | Docs |
| ๐ | Model Router โ auto-routes to cheapest capable model | Docs |
| ๐ง | Shadow Git Checkpoints โ auto-rollback on failure | Docs |
| ๐ก | A2A Protocol โ agent-to-agent interop | Docs |
| ๐ | Context Compaction โ never hit token limits | Docs |
| ๐ก | Telemetry โ OpenTelemetry traces, spans, metrics | Docs |
| ๐ | Policy Engine โ declarative agent behavior control | Docs |
| ๐ | Background Tasks โ fire-and-forget agents | Docs |
| ๐ | Doom Loop Detection โ auto-recovery from stuck agents | Docs |
| ๐ธ๏ธ | Graph Memory โ Neo4j-style relationship tracking | Docs |
| ๐๏ธ | Sandbox Execution โ isolated code execution | Docs |
| ๐ฅ๏ธ | Bot Gateway โ multi-agent routing across channels | Docs |
๐ Using Python Code
1. Single Agent
from praisonaiagents import Agent
agent = Agent(instructions="You are a helpful AI assistant")
agent.start("Write a movie script about a robot in Mars")
2. Multi Agents
from praisonaiagents import Agent, Agents
research_agent = Agent(instructions="Research about AI")
summarise_agent = Agent(instructions="Summarise research agent's findings")
agents = Agents(agents=[research_agent, summarise_agent])
agents.start()
3. MCP (Model Context Protocol)
from praisonaiagents import Agent, MCP
# stdio - Local NPX/Python servers
agent = Agent(tools=MCP("npx @modelcontextprotocol/server-memory"))
# Streamable HTTP - Production servers
agent = Agent(tools=MCP("https://api.example.com/mcp"))
# WebSocket - Real-time bidirectional
agent = Agent(tools=MCP("wss://api.example.com/mcp", auth_token="token"))
# With environment variables
agent = Agent(
tools=MCP(
command="npx",
args=["-y", "@modelcontextprotocol/server-brave-search"],
env={"BRAVE_API_KEY": "your-key"}
)
)
๐ Full MCP docs โ stdio, HTTP, WebSocket, SSE transports
4. Custom Tools
from praisonaiagents import Agent, tool
@tool
def search(query: str) -> str:
"""Search the web for information."""
return f"Results for: {query}"
@tool
def calculate(expression: str) -> float:
"""Safely evaluate a numeric arithmetic expression."""
import ast
import operator
# Define allowed operations
_OPS = {
ast.Add: operator.add,
ast.Sub: operator.sub,
ast.Mult: operator.mul,
ast.Div: operator.truediv,
ast.Pow: operator.pow,
ast.USub: operator.neg,
ast.UAdd: operator.pos,
}
def _safe_eval(node):
if isinstance(node, ast.Constant) and isinstance(node.value, (int, float)):
return node.value
elif isinstance(node, ast.BinOp) and type(node.op) in _OPS:
return _OPS[type(node.op)](_safe_eval(node.left), _safe_eval(node.right))
elif isinstance(node, ast.UnaryOp) and type(node.op) in _OPS:
return _OPS[type(node.op)](_safe_eval(node.operand))
else:
raise ValueError("Unsupported expression")
try:
return _safe_eval(ast.parse(expression, mode="eval").body)
except (ValueError, SyntaxError, TypeError, ZeroDivisionError, OverflowError):
raise ValueError("Invalid arithmetic expression")
agent = Agent(
instructions="You are a helpful assistant",
tools=[search, calculate]
)
agent.start("Search for AI news and calculate 15*4")
โ ๏ธ Security Note: Never use
eval(),exec(), orsubprocessin tool functions that process LLM-generated or user-supplied input. Always validate and sanitize inputs to prevent code injection attacks. ๐ Full tools docs โ BaseTool, tool packages, 100+ built-in tools
5. Persistence (Databases)
from praisonaiagents import Agent, db
agent = Agent(
name="Assistant",
memory={
"db": db(database_url="postgresql://localhost/mydb"),
"session_id": "my-session",
},
)
agent.chat("Hello!") # Auto-persists messages, runs, traces
๐ Full persistence docs โ PostgreSQL, MySQL, SQLite, MongoDB, Redis, and 20+ more
6. PraisonAI Claw ๐ฆ (Dashboard UI)
Connect your AI agents to Telegram, Discord, Slack, WhatsApp and more โ all from a single command.
pip install "praisonai[claw]"
praisonai claw
Required Environment Variables
Copy .env.example to .env and configure the following variables:
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY |
Yes | OpenAI API key for all LLM calls |
TAVILY_API_KEY |
Yes (Claw) | Tavily key for the built-in web-search tool. Get one free at https://app.tavily.com |
Open http://localhost:8082 โ the dashboard comes with 13 built-in pages: Chat, Agents, Memory, Knowledge, Channels, Guardrails, Cron, and more. Add messaging channels directly from the UI.
๐ Full Claw docs โ platform tokens, CLI options, Docker, and YAML agent mode
7. Langflow Integration ๐ (Visual Flow Builder)
Build multi-agent workflows visually with drag-and-drop components in Langflow.
pip install "praisonai[flow]"
praisonai flow
Open http://localhost:7861 โ use the Agent and Agent Team components to create sequential or parallel workflows. Connect Chat Input โ Agent Team โ Chat Output for instant multi-agent pipelines.
๐ Full Flow docs โ visual agent building, component reference, and deployment
8. PraisonAI UI ๐ค (Clean Chat)
Lightweight chat interface for your AI agents.
pip install "praisonai[ui]"
praisonai ui
๐ Using YAML (No Code)
Example 1: Two Agents Working Together
Create agents.yaml:
framework: praisonai
topic: "Write a blog post about AI"
agents:
researcher:
role: Research Analyst
goal: Research AI trends and gather information
instructions: "Find accurate information about AI trends"
writer:
role: Content Writer
goal: Write engaging blog posts
instructions: "Write clear, engaging content based on research"
Run with:
praisonai agents.yaml
The agents automatically work together sequentially
Example 2: Agent with Custom Tool
Create two files in the same folder:
agents.yaml:
framework: praisonai
topic: "Calculate the sum of 25 and 15"
agents:
calculator_agent:
role: Calculator
goal: Perform calculations
instructions: "Use the add_numbers tool to help with calculations"
tools:
- add_numbers
tools.py:
def add_numbers(a: float, b: float) -> float:
"""
Add two numbers together.
Args:
a: First number
b: Second number
Returns:
The sum of a and b
"""
return a + b
Run with:
praisonai agents.yaml
๐ก Tips:
- Use the function name (e.g.,
add_numbers) in the tools list, not the file name- Tools in
tools.pyare automatically discovered- The function's docstring helps the AI understand how to use it
๐ฏ CLI Quick Reference
| Category | Commands |
|---|---|
| Execution | praisonai, --auto, --interactive, --chat |
| Research | research, --query-rewrite, --deep-research |
| Planning | --planning, --planning-tools, --planning-reasoning |
| Workflows | workflow run, workflow list, workflow auto |
| Memory | memory show, memory add, memory search, memory clear |
| Knowledge | knowledge add, knowledge query, knowledge list |
| Sessions | session list, session resume, session delete |
| Tools | tools list, tools info, tools search |
| MCP | mcp list, mcp create, mcp enable |
| Development | commit, docs, checkpoint, hooks |
| Scheduling | schedule start, schedule list, schedule stop |
๐ Full CLI reference
โจ Key Features
๐ค Core Agents
| Feature | Code | Docs |
|---|---|---|
| Single Agent | Example | ๐ |
| Multi Agents | Example | ๐ |
| Auto Agents | Example | ๐ |
| Self Reflection AI Agents | Example | ๐ |
| Reasoning AI Agents | Example | ๐ |
| Multi Modal AI Agents | Example | ๐ |
๐ Workflows
| Feature | Code | Docs |
|---|---|---|
| Simple Workflow | Example | ๐ |
| Workflow with Agents | Example | ๐ |
Agentic Routing (route()) |
Example | ๐ |
Parallel Execution (parallel()) |
Example | ๐ |
Loop over List/CSV (loop()) |
Example | ๐ |
Evaluator-Optimizer (repeat()) |
Example | ๐ |
| Conditional Steps | Example | ๐ |
| Workflow Branching | Example | ๐ |
| Workflow Early Stop | Example | ๐ |
| Workflow Checkpoints | Example | ๐ |
๐ป Code & Development
| Feature | Code | Docs |
|---|---|---|
| Code Interpreter Agents | Example | ๐ |
| AI Code Editing Tools | Example | ๐ |
| External Agents (All) | Example | ๐ |
| Claude Code CLI | Example | ๐ |
| Gemini CLI | Example | ๐ |
| Codex CLI | Example | ๐ |
| Cursor CLI | Example | ๐ |
๐ง Memory & Knowledge
| Feature | Code | Docs |
|---|---|---|
| Memory (Short & Long Term) | Example | ๐ |
| File-Based Memory | Example | ๐ |
| Claude Memory Tool | Example | ๐ |
| Add Custom Knowledge | Example | ๐ |
| RAG Agents | Example | ๐ |
| Chat with PDF Agents | Example | ๐ |
| Data Readers (PDF, DOCX, etc.) | CLI | ๐ |
| Vector Store Selection | CLI | ๐ |
| Retrieval Strategies | CLI | ๐ |
| Rerankers | CLI | ๐ |
| Index Types (Vector/Keyword/Hybrid) | CLI | ๐ |
| Query Engines (Sub-Question, etc.) | CLI | ๐ |
๐ฌ Research & Intelligence
| Feature | Code | Docs |
|---|---|---|
| Deep Research Agents | Example | ๐ |
| Query Rewriter Agent | Example | ๐ |
| Native Web Search | Example | ๐ |
| Built-in Search Tools | Example | ๐ |
| Unified Web Search | Example | ๐ |
| Web Fetch (Anthropic) | Example | ๐ |
๐ Planning & Execution
| Feature | Code | Docs |
|---|---|---|
| Planning Mode | Example | ๐ |
| Planning Tools | Example | ๐ |
| Planning Reasoning | Example | ๐ |
| Prompt Chaining | Example | ๐ |
| Evaluator Optimiser | Example | ๐ |
| Orchestrator Workers | Example | ๐ |
๐ฅ Specialized Agents
| Feature | Code | Docs |
|---|---|---|
| Data Analyst Agent | Example | ๐ |
| Finance Agent | Example | ๐ |
| Shopping Agent | Example | ๐ |
| Recommendation Agent | Example | ๐ |
| Wikipedia Agent | Example | ๐ |
| Programming Agent | Example | ๐ |
| Math Agents | Example | ๐ |
| Markdown Agent | Example | ๐ |
| Prompt Expander Agent | Example | ๐ |
๐จ Media & Multimodal
| Feature | Code | Docs |
|---|---|---|
| Image Generation Agent | Example | ๐ |
| Image to Text Agent | Example | ๐ |
| Video Agent | Example | ๐ |
| Camera Integration | Example | ๐ |
๐ Protocols & Integration
| Feature | Code | Docs |
|---|---|---|
| MCP Transports | Example | ๐ |
| WebSocket MCP | Example | ๐ |
| MCP Security | Example | ๐ |
| MCP Resumability | Example | ๐ |
| MCP Config Management | Docs | ๐ |
| LangChain Integrated Agents | Example | ๐ |
๐ก๏ธ Safety & Control
| Feature | Code | Docs |
|---|---|---|
| Guardrails | Example | ๐ |
| Human Approval | Example | ๐ |
| Rules & Instructions | Docs | ๐ |
โ๏ธ Advanced Features
| Feature | Code | Docs |
|---|---|---|
| Async & Parallel Processing | Example | ๐ |
| Parallelisation | Example | ๐ |
| Repetitive Agents | Example | ๐ |
| Agent Handoffs | Example | ๐ |
| Stateful Agents | Example | ๐ |
| Autonomous Workflow | Example | ๐ |
| Structured Output Agents | Example | ๐ |
| Model Router | Example | ๐ |
| Prompt Caching | Example | ๐ |
| Fast Context | Example | ๐ |
๐ ๏ธ Tools & Configuration
| Feature | Code | Docs |
|---|---|---|
| 100+ Custom Tools | Example | ๐ |
| YAML Configuration | Example | ๐ |
| 100+ LLM Support | Example | ๐ |
| Callback Agents | Example | ๐ |
| Hooks | Example | ๐ |
| Middleware System | Example | ๐ |
| Configurable Model | Example | ๐ |
| Rate Limiter | Example | ๐ |
| Injected Tool State | Example | ๐ |
| Shadow Git Checkpoints | Example | ๐ |
| Background Tasks | Example | ๐ |
| Policy Engine | Example | ๐ |
| Thinking Budgets | Example | ๐ |
| Output Styles | Example | ๐ |
| Context Compaction | Example | ๐ |
๐ Monitoring & Management
| Feature | Code | Docs |
|---|---|---|
| Sessions Management | Example | ๐ |
| Auto-Save Sessions | Docs | ๐ |
| History in Context | Docs | ๐ |
| Telemetry | Example | ๐ |
| Langfuse Tracing | Docs | ๐ |
| Project Docs (.praison/docs/) | Docs | ๐ |
| AI Commit Messages | Docs | ๐ |
| @Mentions in Prompts | Docs | ๐ |
๐ฅ๏ธ CLI Features
| Feature | Code | Docs |
|---|---|---|
| Slash Commands | Example | ๐ |
| Autonomy Modes | Example | ๐ |
| Cost Tracking | Example | ๐ |
| Repository Map | Example | ๐ |
| Interactive TUI | Example | ๐ |
| Git Integration | Example | ๐ |
| Sandbox Execution | Example | ๐ |
| CLI Compare | Example | ๐ |
| Profile/Benchmark | Docs | ๐ |
| Auto Mode | Docs | ๐ |
| Init | Docs | ๐ |
| File Input | Docs | ๐ |
| Final Agent | Docs | ๐ |
| Max Tokens | Docs | ๐ |
๐งช Evaluation
| Feature | Code | Docs |
|---|---|---|
| Accuracy Evaluation | Example | ๐ |
| Performance Evaluation | Example | ๐ |
| Reliability Evaluation | Example | ๐ |
| Criteria Evaluation | Example | ๐ |
๐ป Using JavaScript Code
npm install praisonai
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
const { Agent } = require('praisonai');
const agent = new Agent({ instructions: 'You are a helpful AI assistant' });
agent.start('Write a movie script about a robot in Mars');
โก Performance
PraisonAI is built for speed, with agent instantiation in around 14ฮผs. This reduces overhead, improves responsiveness, and helps multi-agent systems scale efficiently in real-world production workloads.
| Performance Metric | PraisonAI |
|---|---|
| Avg Instantiation Time | 14 ฮผs |
โญ Star History
* export TAVILY_API_KEY=xxxxx
๐ Langfuse Tracing
pip install "praisonai[langfuse]"
praisonai langfuse
๐ Video Tutorials
Learn PraisonAI through our comprehensive video series:
View all 22 video tutorials
๐ฅ Contributing
We welcome contributions! Fork the repo, create a branch, and submit a PR โ Contributing Guide.
โ FAQ & Troubleshooting
ModuleNotFoundError: No module named 'praisonaiagents'
Install the package:
pip install praisonaiagents
API key not found / Authentication error
Ensure your API key is set:
export OPENAI_API_KEY=your_key_here
For other providers, see Models docs.
How do I use a local model (Ollama)?
# Start Ollama server first
ollama serve
# Set environment variable
export OPENAI_BASE_URL=http://localhost:11434/v1
See Models docs for more details.
How do I persist conversations to a database?
Use the db parameter:
from praisonaiagents import Agent, db
agent = Agent(
name="Assistant",
memory={
"db": db(database_url="postgresql://localhost/mydb"),
"session_id": "my-session",
},
)
See Persistence docs for supported databases.
How do I enable agent memory?
from praisonaiagents import Agent
agent = Agent(
name="Assistant",
# Enables file-based memory (no extra deps!)
memory={"user_id": "user123"},
)
See Memory docs for more options.
How do I run multiple agents together?
from praisonaiagents import Agent, Agents
agent1 = Agent(instructions="Research topics")
agent2 = Agent(instructions="Summarize findings")
agents = Agents(agents=[agent1, agent2])
agents.start()
See Agents docs for more examples.
How do I use MCP tools?
from praisonaiagents import Agent, MCP
agent = Agent(
tools=MCP("npx @modelcontextprotocol/server-memory")
)
See MCP docs for all transport options.
Getting Help
- ๐ Full Documentation
- ๐ Report Issues
- ๐ฌ Discussions
Made with โค๏ธ by the PraisonAI Team
๐ Documentation โข GitHub โข โถ๏ธ YouTube โข ๐ X โข ๐ผ LinkedIn
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file praisonaiagents-1.6.167.tar.gz.
File metadata
- Download URL: praisonaiagents-1.6.167.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4dd8d7ff0e67b1e4532b528f943ff6b9b2086885dbede3eed41702cf2f1af85
|
|
| MD5 |
98e23e28911ba6ffdf984b1ca5a3b3e8
|
|
| BLAKE2b-256 |
2c9673ad6f27963128195e4862f821f2bf58caa2feaf8eec041dc43a110099e5
|
File details
Details for the file praisonaiagents-1.6.167-py3-none-any.whl.
File metadata
- Download URL: praisonaiagents-1.6.167-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ab62450fa5347408f31302098a3406e4486a4d29a8207a83ebd92b9b5d7d5fb
|
|
| MD5 |
7ebd5bfc30cf2ac497899b6670700758
|
|
| BLAKE2b-256 |
beb7c178875553c7c5ea8b3aa0212f40d539b08b65c444876e12a4f639fb40df
|