praisonAI 2.3.44__tar.gz → 2.3.45__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. {praisonai-2.3.44 → praisonai-2.3.45}/PKG-INFO +73 -5
  2. {praisonai-2.3.44 → praisonai-2.3.45}/PraisonAI.egg-info/PKG-INFO +73 -5
  3. {praisonai-2.3.44 → praisonai-2.3.45}/PraisonAI.egg-info/SOURCES.txt +7 -0
  4. {praisonai-2.3.44 → praisonai-2.3.45}/README.md +72 -4
  5. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/__init__.py +4 -0
  6. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/__init__.py +33 -0
  7. praisonai-2.3.45/praisonai/cli/features/autonomy_mode.py +490 -0
  8. praisonai-2.3.45/praisonai/cli/features/cost_tracker.py +514 -0
  9. praisonai-2.3.45/praisonai/cli/features/git_integration.py +651 -0
  10. praisonai-2.3.45/praisonai/cli/features/interactive_tui.py +603 -0
  11. praisonai-2.3.45/praisonai/cli/features/repo_map.py +860 -0
  12. praisonai-2.3.45/praisonai/cli/features/router.py +466 -0
  13. praisonai-2.3.45/praisonai/cli/features/sandbox_executor.py +515 -0
  14. praisonai-2.3.45/praisonai/cli/features/slash_commands.py +650 -0
  15. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/workflow.py +68 -1
  16. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/deploy.py +1 -1
  17. praisonai-2.3.45/praisonai/version.py +1 -0
  18. praisonai-2.3.44/praisonai/cli/features/router.py +0 -160
  19. praisonai-2.3.44/praisonai/version.py +0 -1
  20. {praisonai-2.3.44 → praisonai-2.3.45}/PraisonAI.egg-info/dependency_links.txt +0 -0
  21. {praisonai-2.3.44 → praisonai-2.3.45}/PraisonAI.egg-info/entry_points.txt +0 -0
  22. {praisonai-2.3.44 → praisonai-2.3.45}/PraisonAI.egg-info/requires.txt +0 -0
  23. {praisonai-2.3.44 → praisonai-2.3.45}/PraisonAI.egg-info/top_level.txt +0 -0
  24. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/__main__.py +0 -0
  25. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/agents_generator.py +0 -0
  26. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/api/call.py +0 -0
  27. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/auto.py +0 -0
  28. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/chainlit_ui.py +0 -0
  29. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/__init__.py +0 -0
  30. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/auto_memory.py +0 -0
  31. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/base.py +0 -0
  32. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/external_agents.py +0 -0
  33. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/fast_context.py +0 -0
  34. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/flow_display.py +0 -0
  35. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/guardrail.py +0 -0
  36. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/handoff.py +0 -0
  37. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/image.py +0 -0
  38. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/knowledge.py +0 -0
  39. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/mcp.py +0 -0
  40. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/metrics.py +0 -0
  41. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/n8n.py +0 -0
  42. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/session.py +0 -0
  43. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/telemetry.py +0 -0
  44. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/todo.py +0 -0
  45. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/features/tools.py +0 -0
  46. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/cli/main.py +0 -0
  47. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/__init__.py +0 -0
  48. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/agent_tools.py +0 -0
  49. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/diff/__init__.py +0 -0
  50. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/diff/diff_strategy.py +0 -0
  51. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/__init__.py +0 -0
  52. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/apply_diff.py +0 -0
  53. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/execute_command.py +0 -0
  54. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/list_files.py +0 -0
  55. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/read_file.py +0 -0
  56. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/search_replace.py +0 -0
  57. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/tools/write_file.py +0 -0
  58. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/utils/__init__.py +0 -0
  59. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/utils/file_utils.py +0 -0
  60. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/utils/ignore_utils.py +0 -0
  61. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/code/utils/text_utils.py +0 -0
  62. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/inbuilt_tools/__init__.py +0 -0
  63. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  64. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/inc/__init__.py +0 -0
  65. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/inc/config.py +0 -0
  66. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/inc/models.py +0 -0
  67. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/integrations/__init__.py +0 -0
  68. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/integrations/base.py +0 -0
  69. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/integrations/claude_code.py +0 -0
  70. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/integrations/codex_cli.py +0 -0
  71. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/integrations/cursor_cli.py +0 -0
  72. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/integrations/gemini_cli.py +0 -0
  73. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/scheduler.py +0 -0
  74. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/setup/__init__.py +0 -0
  75. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/setup/build.py +0 -0
  76. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/setup/post_install.py +0 -0
  77. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/setup/setup_conda_env.py +0 -0
  78. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/setup.py +0 -0
  79. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/test.py +0 -0
  80. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/train.py +0 -0
  81. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/train_vision.py +0 -0
  82. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/agents.py +0 -0
  83. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/callbacks.py +0 -0
  84. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/chat.py +0 -0
  85. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/code.py +0 -0
  86. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/colab.py +0 -0
  87. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/colab_chainlit.py +0 -0
  88. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/components/aicoder.py +0 -0
  89. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/context.py +0 -0
  90. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/database_config.py +0 -0
  91. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/db.py +0 -0
  92. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/realtime.py +0 -0
  93. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/realtimeclient/__init__.py +0 -0
  94. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/realtimeclient/tools.py +0 -0
  95. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/ui/sql_alchemy.py +0 -0
  96. {praisonai-2.3.44 → praisonai-2.3.45}/praisonai/upload_vision.py +0 -0
  97. {praisonai-2.3.44 → praisonai-2.3.45}/pyproject.toml +0 -0
  98. {praisonai-2.3.44 → praisonai-2.3.45}/setup.cfg +0 -0
  99. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test.py +0 -0
  100. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_agents_playbook.py +0 -0
  101. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_basic.py +0 -0
  102. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_cli_features.py +0 -0
  103. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_custom_tools_fix.py +0 -0
  104. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_double_api_fix.py +0 -0
  105. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_n8n_integration.py +0 -0
  106. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_phase2_refactor.py +0 -0
  107. {praisonai-2.3.44 → praisonai-2.3.45}/tests/test_runner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 2.3.44
3
+ Version: 2.3.45
4
4
  Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -288,8 +288,14 @@ npm install praisonai
288
288
  | 📚 Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [📖](https://docs.praison.ai/features/knowledge) |
289
289
  | 🧠 Memory (Short & Long Term) | [Example](examples/python/general/memory_example.py) | [📖](https://docs.praison.ai/concepts/memory) |
290
290
  | 📄 Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [📖](https://docs.praison.ai/features/chat-with-pdf) |
291
- | 💻 Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [📖](https://docs.praison.ai/features/codeagent) |
292
- | ✏️ AI Code Editing Tools | [Example](#ai-code-editing) | [📖](https://docs.praison.ai/features/code) |
291
+ | **💻 Code** | | |
292
+ | ↳ Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [📖](https://docs.praison.ai/features/codeagent) |
293
+ | ↳ AI Code Editing Tools | [Example](examples/python/code/code_editing_example.py) | [📖](https://docs.praison.ai/code/editing) |
294
+ | ↳ External Agents (All) | [Example](examples/python/code/external_agents_example.py) | [📖](https://docs.praison.ai/code/external-agents) |
295
+ | ↳ Claude Code CLI | [Example](examples/python/code/claude_code_example.py) | [📖](https://docs.praison.ai/code/claude-code) |
296
+ | ↳ Gemini CLI | [Example](examples/python/code/gemini_cli_example.py) | [📖](https://docs.praison.ai/code/gemini-cli) |
297
+ | ↳ Codex CLI | [Example](examples/python/code/codex_cli_example.py) | [📖](https://docs.praison.ai/code/codex-cli) |
298
+ | ↳ Cursor CLI | [Example](examples/python/code/cursor_cli_example.py) | [📖](https://docs.praison.ai/code/cursor-cli) |
293
299
  | 📚 RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [📖](https://docs.praison.ai/features/rag) |
294
300
  | 🤔 Async & Parallel Processing | [Example](examples/python/general/async_example.py) | [📖](https://docs.praison.ai/features/async) |
295
301
  | 🔢 Math Agents | [Example](examples/python/agents/math-agent.py) | [📖](https://docs.praison.ai/features/mathagent) |
@@ -327,7 +333,7 @@ npm install praisonai
327
333
  | 💻 Programming Agent | [Example](examples/python/agents/programming-agent.py) | [📖](https://docs.praison.ai/agents/programming) |
328
334
  | 📝 Markdown Agent | [Example](examples/python/agents/markdown-agent.py) | [📖](https://docs.praison.ai/agents/markdown) |
329
335
  | 📝 Prompt Expander Agent | [Example](#prompt-expansion) | [📖](https://docs.praison.ai/agents/prompt-expander) |
330
- | 🔀 Router Agent | [Example](examples/python/agents/router-agent-cost-optimization.py) | [📖](https://docs.praison.ai/features/routing) |
336
+ | 🔀 Model Router | [Example](examples/python/agents/router-agent-cost-optimization.py) | [📖](https://docs.praison.ai/features/model-router) |
331
337
  | ⛓️ Prompt Chaining | [Example](examples/python/general/prompt_chaining.py) | [📖](https://docs.praison.ai/features/promptchaining) |
332
338
  | 🔍 Evaluator Optimiser | [Example](examples/python/general/evaluator-optimiser.py) | [📖](https://docs.praison.ai/features/evaluator-optimiser) |
333
339
  | 👷 Orchestrator Workers | [Example](examples/python/general/orchestrator-workers.py) | [📖](https://docs.praison.ai/features/orchestrator-worker) |
@@ -349,6 +355,14 @@ npm install praisonai
349
355
  | @ @Mentions in Prompts | [Example](#mentions-in-prompts) | [📖](https://docs.praison.ai/cli/mentions) |
350
356
  | 💾 Auto-Save Sessions | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
351
357
  | 📜 History in Context | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
358
+ | **🖥️ CLI Features** | | |
359
+ | ↳ Slash Commands | [Example](examples/python/cli/slash_commands_example.py) | [📖](https://docs.praison.ai/cli/slash-commands) |
360
+ | ↳ Autonomy Modes | [Example](examples/python/cli/autonomy_modes_example.py) | [📖](https://docs.praison.ai/cli/autonomy-modes) |
361
+ | ↳ Cost Tracking | [Example](examples/python/cli/cost_tracking_example.py) | [📖](https://docs.praison.ai/cli/cost-tracking) |
362
+ | ↳ Repository Map | [Example](examples/python/cli/repo_map_example.py) | [📖](https://docs.praison.ai/cli/repo-map) |
363
+ | ↳ Interactive TUI | [Example](examples/python/cli/interactive_tui_example.py) | [📖](https://docs.praison.ai/cli/interactive-tui) |
364
+ | ↳ Git Integration | [Example](examples/python/cli/git_integration_example.py) | [📖](https://docs.praison.ai/cli/git-integration) |
365
+ | ↳ Sandbox Execution | [Example](examples/python/cli/sandbox_execution_example.py) | [📖](https://docs.praison.ai/cli/sandbox-execution) |
352
366
 
353
367
  ---
354
368
 
@@ -1471,8 +1485,13 @@ praisonai "Complex analysis" --router --router-provider anthropic
1471
1485
  # Router automatically selects:
1472
1486
  # - Simple tasks → gpt-4o-mini, claude-3-haiku
1473
1487
  # - Complex tasks → gpt-4-turbo, claude-3-opus
1488
+
1489
+ # Create workflow with model routing template
1490
+ praisonai workflow create --template model-routing --output my_workflow.yaml
1474
1491
  ```
1475
1492
 
1493
+ Custom models can be configured in `agents.yaml`. See [Model Router Docs](https://docs.praison.ai/features/model-router) for details.
1494
+
1476
1495
  ### Flow Display CLI:
1477
1496
  ```bash
1478
1497
  # Enable visual workflow tracking
@@ -1561,6 +1580,55 @@ export N8N_API_KEY="your-api-key"
1561
1580
  praisonai agents.yaml --n8n
1562
1581
  ```
1563
1582
 
1583
+ ### External Agents CLI:
1584
+
1585
+ Use external AI coding CLI tools (Claude Code, Gemini CLI, Codex CLI, Cursor CLI) as agent tools:
1586
+
1587
+ ```bash
1588
+ # Use Claude Code for coding tasks
1589
+ praisonai "Refactor the auth module" --external-agent claude
1590
+
1591
+ # Use Gemini CLI for code analysis
1592
+ praisonai "Analyze codebase architecture" --external-agent gemini
1593
+
1594
+ # Use OpenAI Codex CLI
1595
+ praisonai "Fix all bugs in src/" --external-agent codex
1596
+
1597
+ # Use Cursor CLI
1598
+ praisonai "Add comprehensive tests" --external-agent cursor
1599
+ ```
1600
+
1601
+ **Python API:**
1602
+ ```python
1603
+ from praisonai.integrations import (
1604
+ ClaudeCodeIntegration,
1605
+ GeminiCLIIntegration,
1606
+ CodexCLIIntegration,
1607
+ CursorCLIIntegration
1608
+ )
1609
+
1610
+ # Create integration
1611
+ claude = ClaudeCodeIntegration(workspace="/project")
1612
+
1613
+ # Execute a coding task
1614
+ result = await claude.execute("Refactor the auth module")
1615
+
1616
+ # Use as agent tool
1617
+ from praisonai import Agent
1618
+ tool = claude.as_tool()
1619
+ agent = Agent(tools=[tool])
1620
+ ```
1621
+
1622
+ **Environment Variables:**
1623
+ ```bash
1624
+ export ANTHROPIC_API_KEY=your-key # Claude Code
1625
+ export GEMINI_API_KEY=your-key # Gemini CLI
1626
+ export OPENAI_API_KEY=your-key # Codex CLI
1627
+ export CURSOR_API_KEY=your-key # Cursor CLI
1628
+ ```
1629
+
1630
+ See [External Agents Documentation](https://docs.praison.ai/code/external-agents) for more details.
1631
+
1564
1632
  ### @Mentions in Prompts:
1565
1633
  ```bash
1566
1634
  # Include file content in prompt
@@ -2363,7 +2431,7 @@ PraisonAI provides zero-dependency persistent memory for agents. For detailed ex
2363
2431
  - 📖 **Wikipedia Agent** - Search and extract Wikipedia information
2364
2432
  - 💻 **Programming Agent** - Code development and analysis
2365
2433
  - 📝 **Markdown Agent** - Generate and format Markdown content
2366
- - 🔀 **Router Agent** - Dynamic task routing with cost optimisation
2434
+ - 🔀 **Model Router** - Smart model selection based on task complexity
2367
2435
 
2368
2436
  ### MCP Protocol
2369
2437
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PraisonAI
3
- Version: 2.3.44
3
+ Version: 2.3.45
4
4
  Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  License: MIT
@@ -288,8 +288,14 @@ npm install praisonai
288
288
  | 📚 Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [📖](https://docs.praison.ai/features/knowledge) |
289
289
  | 🧠 Memory (Short & Long Term) | [Example](examples/python/general/memory_example.py) | [📖](https://docs.praison.ai/concepts/memory) |
290
290
  | 📄 Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [📖](https://docs.praison.ai/features/chat-with-pdf) |
291
- | 💻 Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [📖](https://docs.praison.ai/features/codeagent) |
292
- | ✏️ AI Code Editing Tools | [Example](#ai-code-editing) | [📖](https://docs.praison.ai/features/code) |
291
+ | **💻 Code** | | |
292
+ | ↳ Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [📖](https://docs.praison.ai/features/codeagent) |
293
+ | ↳ AI Code Editing Tools | [Example](examples/python/code/code_editing_example.py) | [📖](https://docs.praison.ai/code/editing) |
294
+ | ↳ External Agents (All) | [Example](examples/python/code/external_agents_example.py) | [📖](https://docs.praison.ai/code/external-agents) |
295
+ | ↳ Claude Code CLI | [Example](examples/python/code/claude_code_example.py) | [📖](https://docs.praison.ai/code/claude-code) |
296
+ | ↳ Gemini CLI | [Example](examples/python/code/gemini_cli_example.py) | [📖](https://docs.praison.ai/code/gemini-cli) |
297
+ | ↳ Codex CLI | [Example](examples/python/code/codex_cli_example.py) | [📖](https://docs.praison.ai/code/codex-cli) |
298
+ | ↳ Cursor CLI | [Example](examples/python/code/cursor_cli_example.py) | [📖](https://docs.praison.ai/code/cursor-cli) |
293
299
  | 📚 RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [📖](https://docs.praison.ai/features/rag) |
294
300
  | 🤔 Async & Parallel Processing | [Example](examples/python/general/async_example.py) | [📖](https://docs.praison.ai/features/async) |
295
301
  | 🔢 Math Agents | [Example](examples/python/agents/math-agent.py) | [📖](https://docs.praison.ai/features/mathagent) |
@@ -327,7 +333,7 @@ npm install praisonai
327
333
  | 💻 Programming Agent | [Example](examples/python/agents/programming-agent.py) | [📖](https://docs.praison.ai/agents/programming) |
328
334
  | 📝 Markdown Agent | [Example](examples/python/agents/markdown-agent.py) | [📖](https://docs.praison.ai/agents/markdown) |
329
335
  | 📝 Prompt Expander Agent | [Example](#prompt-expansion) | [📖](https://docs.praison.ai/agents/prompt-expander) |
330
- | 🔀 Router Agent | [Example](examples/python/agents/router-agent-cost-optimization.py) | [📖](https://docs.praison.ai/features/routing) |
336
+ | 🔀 Model Router | [Example](examples/python/agents/router-agent-cost-optimization.py) | [📖](https://docs.praison.ai/features/model-router) |
331
337
  | ⛓️ Prompt Chaining | [Example](examples/python/general/prompt_chaining.py) | [📖](https://docs.praison.ai/features/promptchaining) |
332
338
  | 🔍 Evaluator Optimiser | [Example](examples/python/general/evaluator-optimiser.py) | [📖](https://docs.praison.ai/features/evaluator-optimiser) |
333
339
  | 👷 Orchestrator Workers | [Example](examples/python/general/orchestrator-workers.py) | [📖](https://docs.praison.ai/features/orchestrator-worker) |
@@ -349,6 +355,14 @@ npm install praisonai
349
355
  | @ @Mentions in Prompts | [Example](#mentions-in-prompts) | [📖](https://docs.praison.ai/cli/mentions) |
350
356
  | 💾 Auto-Save Sessions | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
351
357
  | 📜 History in Context | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
358
+ | **🖥️ CLI Features** | | |
359
+ | ↳ Slash Commands | [Example](examples/python/cli/slash_commands_example.py) | [📖](https://docs.praison.ai/cli/slash-commands) |
360
+ | ↳ Autonomy Modes | [Example](examples/python/cli/autonomy_modes_example.py) | [📖](https://docs.praison.ai/cli/autonomy-modes) |
361
+ | ↳ Cost Tracking | [Example](examples/python/cli/cost_tracking_example.py) | [📖](https://docs.praison.ai/cli/cost-tracking) |
362
+ | ↳ Repository Map | [Example](examples/python/cli/repo_map_example.py) | [📖](https://docs.praison.ai/cli/repo-map) |
363
+ | ↳ Interactive TUI | [Example](examples/python/cli/interactive_tui_example.py) | [📖](https://docs.praison.ai/cli/interactive-tui) |
364
+ | ↳ Git Integration | [Example](examples/python/cli/git_integration_example.py) | [📖](https://docs.praison.ai/cli/git-integration) |
365
+ | ↳ Sandbox Execution | [Example](examples/python/cli/sandbox_execution_example.py) | [📖](https://docs.praison.ai/cli/sandbox-execution) |
352
366
 
353
367
  ---
354
368
 
@@ -1471,8 +1485,13 @@ praisonai "Complex analysis" --router --router-provider anthropic
1471
1485
  # Router automatically selects:
1472
1486
  # - Simple tasks → gpt-4o-mini, claude-3-haiku
1473
1487
  # - Complex tasks → gpt-4-turbo, claude-3-opus
1488
+
1489
+ # Create workflow with model routing template
1490
+ praisonai workflow create --template model-routing --output my_workflow.yaml
1474
1491
  ```
1475
1492
 
1493
+ Custom models can be configured in `agents.yaml`. See [Model Router Docs](https://docs.praison.ai/features/model-router) for details.
1494
+
1476
1495
  ### Flow Display CLI:
1477
1496
  ```bash
1478
1497
  # Enable visual workflow tracking
@@ -1561,6 +1580,55 @@ export N8N_API_KEY="your-api-key"
1561
1580
  praisonai agents.yaml --n8n
1562
1581
  ```
1563
1582
 
1583
+ ### External Agents CLI:
1584
+
1585
+ Use external AI coding CLI tools (Claude Code, Gemini CLI, Codex CLI, Cursor CLI) as agent tools:
1586
+
1587
+ ```bash
1588
+ # Use Claude Code for coding tasks
1589
+ praisonai "Refactor the auth module" --external-agent claude
1590
+
1591
+ # Use Gemini CLI for code analysis
1592
+ praisonai "Analyze codebase architecture" --external-agent gemini
1593
+
1594
+ # Use OpenAI Codex CLI
1595
+ praisonai "Fix all bugs in src/" --external-agent codex
1596
+
1597
+ # Use Cursor CLI
1598
+ praisonai "Add comprehensive tests" --external-agent cursor
1599
+ ```
1600
+
1601
+ **Python API:**
1602
+ ```python
1603
+ from praisonai.integrations import (
1604
+ ClaudeCodeIntegration,
1605
+ GeminiCLIIntegration,
1606
+ CodexCLIIntegration,
1607
+ CursorCLIIntegration
1608
+ )
1609
+
1610
+ # Create integration
1611
+ claude = ClaudeCodeIntegration(workspace="/project")
1612
+
1613
+ # Execute a coding task
1614
+ result = await claude.execute("Refactor the auth module")
1615
+
1616
+ # Use as agent tool
1617
+ from praisonai import Agent
1618
+ tool = claude.as_tool()
1619
+ agent = Agent(tools=[tool])
1620
+ ```
1621
+
1622
+ **Environment Variables:**
1623
+ ```bash
1624
+ export ANTHROPIC_API_KEY=your-key # Claude Code
1625
+ export GEMINI_API_KEY=your-key # Gemini CLI
1626
+ export OPENAI_API_KEY=your-key # Codex CLI
1627
+ export CURSOR_API_KEY=your-key # Cursor CLI
1628
+ ```
1629
+
1630
+ See [External Agents Documentation](https://docs.praison.ai/code/external-agents) for more details.
1631
+
1564
1632
  ### @Mentions in Prompts:
1565
1633
  ```bash
1566
1634
  # Include file content in prompt
@@ -2363,7 +2431,7 @@ PraisonAI provides zero-dependency persistent memory for agents. For detailed ex
2363
2431
  - 📖 **Wikipedia Agent** - Search and extract Wikipedia information
2364
2432
  - 💻 **Programming Agent** - Code development and analysis
2365
2433
  - 📝 **Markdown Agent** - Generate and format Markdown content
2366
- - 🔀 **Router Agent** - Dynamic task routing with cost optimisation
2434
+ - 🔀 **Model Router** - Smart model selection based on task complexity
2367
2435
 
2368
2436
  ### MCP Protocol
2369
2437
 
@@ -24,19 +24,26 @@ praisonai/cli/__init__.py
24
24
  praisonai/cli/main.py
25
25
  praisonai/cli/features/__init__.py
26
26
  praisonai/cli/features/auto_memory.py
27
+ praisonai/cli/features/autonomy_mode.py
27
28
  praisonai/cli/features/base.py
29
+ praisonai/cli/features/cost_tracker.py
28
30
  praisonai/cli/features/external_agents.py
29
31
  praisonai/cli/features/fast_context.py
30
32
  praisonai/cli/features/flow_display.py
33
+ praisonai/cli/features/git_integration.py
31
34
  praisonai/cli/features/guardrail.py
32
35
  praisonai/cli/features/handoff.py
33
36
  praisonai/cli/features/image.py
37
+ praisonai/cli/features/interactive_tui.py
34
38
  praisonai/cli/features/knowledge.py
35
39
  praisonai/cli/features/mcp.py
36
40
  praisonai/cli/features/metrics.py
37
41
  praisonai/cli/features/n8n.py
42
+ praisonai/cli/features/repo_map.py
38
43
  praisonai/cli/features/router.py
44
+ praisonai/cli/features/sandbox_executor.py
39
45
  praisonai/cli/features/session.py
46
+ praisonai/cli/features/slash_commands.py
40
47
  praisonai/cli/features/telemetry.py
41
48
  praisonai/cli/features/todo.py
42
49
  praisonai/cli/features/tools.py
@@ -191,8 +191,14 @@ npm install praisonai
191
191
  | 📚 Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [📖](https://docs.praison.ai/features/knowledge) |
192
192
  | 🧠 Memory (Short & Long Term) | [Example](examples/python/general/memory_example.py) | [📖](https://docs.praison.ai/concepts/memory) |
193
193
  | 📄 Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [📖](https://docs.praison.ai/features/chat-with-pdf) |
194
- | 💻 Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [📖](https://docs.praison.ai/features/codeagent) |
195
- | ✏️ AI Code Editing Tools | [Example](#ai-code-editing) | [📖](https://docs.praison.ai/features/code) |
194
+ | **💻 Code** | | |
195
+ | ↳ Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [📖](https://docs.praison.ai/features/codeagent) |
196
+ | ↳ AI Code Editing Tools | [Example](examples/python/code/code_editing_example.py) | [📖](https://docs.praison.ai/code/editing) |
197
+ | ↳ External Agents (All) | [Example](examples/python/code/external_agents_example.py) | [📖](https://docs.praison.ai/code/external-agents) |
198
+ | ↳ Claude Code CLI | [Example](examples/python/code/claude_code_example.py) | [📖](https://docs.praison.ai/code/claude-code) |
199
+ | ↳ Gemini CLI | [Example](examples/python/code/gemini_cli_example.py) | [📖](https://docs.praison.ai/code/gemini-cli) |
200
+ | ↳ Codex CLI | [Example](examples/python/code/codex_cli_example.py) | [📖](https://docs.praison.ai/code/codex-cli) |
201
+ | ↳ Cursor CLI | [Example](examples/python/code/cursor_cli_example.py) | [📖](https://docs.praison.ai/code/cursor-cli) |
196
202
  | 📚 RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [📖](https://docs.praison.ai/features/rag) |
197
203
  | 🤔 Async & Parallel Processing | [Example](examples/python/general/async_example.py) | [📖](https://docs.praison.ai/features/async) |
198
204
  | 🔢 Math Agents | [Example](examples/python/agents/math-agent.py) | [📖](https://docs.praison.ai/features/mathagent) |
@@ -230,7 +236,7 @@ npm install praisonai
230
236
  | 💻 Programming Agent | [Example](examples/python/agents/programming-agent.py) | [📖](https://docs.praison.ai/agents/programming) |
231
237
  | 📝 Markdown Agent | [Example](examples/python/agents/markdown-agent.py) | [📖](https://docs.praison.ai/agents/markdown) |
232
238
  | 📝 Prompt Expander Agent | [Example](#prompt-expansion) | [📖](https://docs.praison.ai/agents/prompt-expander) |
233
- | 🔀 Router Agent | [Example](examples/python/agents/router-agent-cost-optimization.py) | [📖](https://docs.praison.ai/features/routing) |
239
+ | 🔀 Model Router | [Example](examples/python/agents/router-agent-cost-optimization.py) | [📖](https://docs.praison.ai/features/model-router) |
234
240
  | ⛓️ Prompt Chaining | [Example](examples/python/general/prompt_chaining.py) | [📖](https://docs.praison.ai/features/promptchaining) |
235
241
  | 🔍 Evaluator Optimiser | [Example](examples/python/general/evaluator-optimiser.py) | [📖](https://docs.praison.ai/features/evaluator-optimiser) |
236
242
  | 👷 Orchestrator Workers | [Example](examples/python/general/orchestrator-workers.py) | [📖](https://docs.praison.ai/features/orchestrator-worker) |
@@ -252,6 +258,14 @@ npm install praisonai
252
258
  | @ @Mentions in Prompts | [Example](#mentions-in-prompts) | [📖](https://docs.praison.ai/cli/mentions) |
253
259
  | 💾 Auto-Save Sessions | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
254
260
  | 📜 History in Context | [Example](#session-management-python) | [📖](https://docs.praison.ai/cli/session) |
261
+ | **🖥️ CLI Features** | | |
262
+ | ↳ Slash Commands | [Example](examples/python/cli/slash_commands_example.py) | [📖](https://docs.praison.ai/cli/slash-commands) |
263
+ | ↳ Autonomy Modes | [Example](examples/python/cli/autonomy_modes_example.py) | [📖](https://docs.praison.ai/cli/autonomy-modes) |
264
+ | ↳ Cost Tracking | [Example](examples/python/cli/cost_tracking_example.py) | [📖](https://docs.praison.ai/cli/cost-tracking) |
265
+ | ↳ Repository Map | [Example](examples/python/cli/repo_map_example.py) | [📖](https://docs.praison.ai/cli/repo-map) |
266
+ | ↳ Interactive TUI | [Example](examples/python/cli/interactive_tui_example.py) | [📖](https://docs.praison.ai/cli/interactive-tui) |
267
+ | ↳ Git Integration | [Example](examples/python/cli/git_integration_example.py) | [📖](https://docs.praison.ai/cli/git-integration) |
268
+ | ↳ Sandbox Execution | [Example](examples/python/cli/sandbox_execution_example.py) | [📖](https://docs.praison.ai/cli/sandbox-execution) |
255
269
 
256
270
  ---
257
271
 
@@ -1374,8 +1388,13 @@ praisonai "Complex analysis" --router --router-provider anthropic
1374
1388
  # Router automatically selects:
1375
1389
  # - Simple tasks → gpt-4o-mini, claude-3-haiku
1376
1390
  # - Complex tasks → gpt-4-turbo, claude-3-opus
1391
+
1392
+ # Create workflow with model routing template
1393
+ praisonai workflow create --template model-routing --output my_workflow.yaml
1377
1394
  ```
1378
1395
 
1396
+ Custom models can be configured in `agents.yaml`. See [Model Router Docs](https://docs.praison.ai/features/model-router) for details.
1397
+
1379
1398
  ### Flow Display CLI:
1380
1399
  ```bash
1381
1400
  # Enable visual workflow tracking
@@ -1464,6 +1483,55 @@ export N8N_API_KEY="your-api-key"
1464
1483
  praisonai agents.yaml --n8n
1465
1484
  ```
1466
1485
 
1486
+ ### External Agents CLI:
1487
+
1488
+ Use external AI coding CLI tools (Claude Code, Gemini CLI, Codex CLI, Cursor CLI) as agent tools:
1489
+
1490
+ ```bash
1491
+ # Use Claude Code for coding tasks
1492
+ praisonai "Refactor the auth module" --external-agent claude
1493
+
1494
+ # Use Gemini CLI for code analysis
1495
+ praisonai "Analyze codebase architecture" --external-agent gemini
1496
+
1497
+ # Use OpenAI Codex CLI
1498
+ praisonai "Fix all bugs in src/" --external-agent codex
1499
+
1500
+ # Use Cursor CLI
1501
+ praisonai "Add comprehensive tests" --external-agent cursor
1502
+ ```
1503
+
1504
+ **Python API:**
1505
+ ```python
1506
+ from praisonai.integrations import (
1507
+ ClaudeCodeIntegration,
1508
+ GeminiCLIIntegration,
1509
+ CodexCLIIntegration,
1510
+ CursorCLIIntegration
1511
+ )
1512
+
1513
+ # Create integration
1514
+ claude = ClaudeCodeIntegration(workspace="/project")
1515
+
1516
+ # Execute a coding task
1517
+ result = await claude.execute("Refactor the auth module")
1518
+
1519
+ # Use as agent tool
1520
+ from praisonai import Agent
1521
+ tool = claude.as_tool()
1522
+ agent = Agent(tools=[tool])
1523
+ ```
1524
+
1525
+ **Environment Variables:**
1526
+ ```bash
1527
+ export ANTHROPIC_API_KEY=your-key # Claude Code
1528
+ export GEMINI_API_KEY=your-key # Gemini CLI
1529
+ export OPENAI_API_KEY=your-key # Codex CLI
1530
+ export CURSOR_API_KEY=your-key # Cursor CLI
1531
+ ```
1532
+
1533
+ See [External Agents Documentation](https://docs.praison.ai/code/external-agents) for more details.
1534
+
1467
1535
  ### @Mentions in Prompts:
1468
1536
  ```bash
1469
1537
  # Include file content in prompt
@@ -2266,7 +2334,7 @@ PraisonAI provides zero-dependency persistent memory for agents. For detailed ex
2266
2334
  - 📖 **Wikipedia Agent** - Search and extract Wikipedia information
2267
2335
  - 💻 **Programming Agent** - Code development and analysis
2268
2336
  - 📝 **Markdown Agent** - Generate and format Markdown content
2269
- - 🔀 **Router Agent** - Dynamic task routing with cost optimisation
2337
+ - 🔀 **Model Router** - Smart model selection based on task complexity
2270
2338
 
2271
2339
  ### MCP Protocol
2272
2340
 
@@ -1,3 +1,7 @@
1
+ # Suppress crewai.cli.config logger BEFORE any imports to prevent INFO log
2
+ import logging
3
+ logging.getLogger('crewai.cli.config').setLevel(logging.ERROR)
4
+
1
5
  # Disable OpenTelemetry SDK
2
6
  import os
3
7
  os.environ["OTEL_SDK_DISABLED"] = "true"
@@ -22,6 +22,9 @@ Features:
22
22
  - workflow: YAML workflow management
23
23
  - n8n: Export workflows to n8n visual editor
24
24
  - external_agents: External AI CLI tool integrations (Claude, Gemini, Codex, Cursor)
25
+ - slash_commands: Interactive slash commands (/help, /cost, /plan, etc.)
26
+ - autonomy_mode: Autonomy levels (suggest, auto-edit, full-auto)
27
+ - cost_tracker: Real-time cost and token tracking
25
28
  """
26
29
 
27
30
  # Type hints available for IDE support
@@ -45,6 +48,14 @@ __all__ = [
45
48
  'WorkflowHandler',
46
49
  'N8nHandler',
47
50
  'ExternalAgentsHandler',
51
+ # New CLI enhancement features
52
+ 'SlashCommandHandler',
53
+ 'AutonomyModeHandler',
54
+ 'CostTrackerHandler',
55
+ 'RepoMapHandler',
56
+ 'InteractiveTUIHandler',
57
+ 'GitIntegrationHandler',
58
+ 'SandboxExecutorHandler',
48
59
  ]
49
60
 
50
61
  def __getattr__(name):
@@ -100,4 +111,26 @@ def __getattr__(name):
100
111
  elif name == 'ExternalAgentsHandler':
101
112
  from .external_agents import ExternalAgentsHandler
102
113
  return ExternalAgentsHandler
114
+ # New CLI enhancement features
115
+ elif name == 'SlashCommandHandler':
116
+ from .slash_commands import SlashCommandHandler
117
+ return SlashCommandHandler
118
+ elif name == 'AutonomyModeHandler':
119
+ from .autonomy_mode import AutonomyModeHandler
120
+ return AutonomyModeHandler
121
+ elif name == 'CostTrackerHandler':
122
+ from .cost_tracker import CostTrackerHandler
123
+ return CostTrackerHandler
124
+ elif name == 'RepoMapHandler':
125
+ from .repo_map import RepoMapHandler
126
+ return RepoMapHandler
127
+ elif name == 'InteractiveTUIHandler':
128
+ from .interactive_tui import InteractiveTUIHandler
129
+ return InteractiveTUIHandler
130
+ elif name == 'GitIntegrationHandler':
131
+ from .git_integration import GitIntegrationHandler
132
+ return GitIntegrationHandler
133
+ elif name == 'SandboxExecutorHandler':
134
+ from .sandbox_executor import SandboxExecutorHandler
135
+ return SandboxExecutorHandler
103
136
  raise AttributeError(f"module {__name__!r} has no attribute {name!r}")