<!-- source: https://deepwiki.com/MervinPraison/PraisonAI/7-user-interfaces -->

# User Interfaces

- docker/Dockerfile
- docker/Dockerfile.chat
- docker/Dockerfile.dev
- docker/Dockerfile.ui
- docker/README.md
- src/praisonai-agents/praisonaiagents/main.py
- src/praisonai-agents/pyproject.toml
- src/praisonai-agents/test_callback_enhancement.py
- src/praisonai-agents/test_callback_fix.py
- src/praisonai-agents/test_callback_fix_verification.py
- src/praisonai-agents/test_callback_simple.py
- src/praisonai-agents/test_duplicate_callback_fix.py
- src/praisonai-agents/uv.lock
- src/praisonai/praisonai.rb
- src/praisonai/praisonai/cli/main.py
- src/praisonai/praisonai/deploy.py
- src/praisonai/praisonai/inc/models.py
- src/praisonai/praisonai/version.py
- src/praisonai/pyproject.toml
- src/praisonai/uv.lock

This document covers the various user interfaces available in PraisonAI for interacting with AI agents and managing multi-agent workflows. PraisonAI provides multiple interface options to accommodate different use cases and deployment scenarios.

For information about the underlying agent system architecture, see [Core Agent System](/MervinPraison/PraisonAI/2-core-agent-system). For deployment and infrastructure details, see [Deployment and Infrastructure](/MervinPraison/PraisonAI/8-configuration-system).

## Overview

PraisonAI offers several distinct user interfaces, each optimized for specific interaction patterns:

- Web UI : Chainlit-based web interface for general agent interaction
- Chat Interface : Dedicated conversational interface for chat-based workflows
- Code Interface : Development-focused interface for code generation and analysis
- Realtime Voice Interface : Voice-enabled real-time interaction
- Call Interface : Telephony integration for voice calls
- API Interface : REST API for programmatic access
- Command Line Interface : Terminal-based interaction

## User Interface Architecture

```

```

**Sources:** [docker/README.md1-265](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/README.md?plain=1#L1-L265) [src/praisonai/pyproject.toml27-101](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L27-L101) [docker/Dockerfile.ui1-33](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile.ui#L1-L33) [docker/Dockerfile.chat1-33](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile.chat#L1-L33)

## Service Deployment Architecture

```

```

**Sources:** [docker/README.md77-108](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/README.md?plain=1#L77-L108) [docker/docker-compose.yml](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/docker-compose.yml) [docker/Dockerfile1-46](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile#L1-L46)

## Web UI Interface

The primary web interface is built using Chainlit 2.5.5 and provides a comprehensive dashboard for agent interaction and management.

### Configuration

The Web UI service runs on port 8082 and requires the following dependencies:

```
chainlit==2.5.5
sqlalchemy>=2.0.36
aiosqlite>=0.20.0
greenlet>=3.0.3
pydantic<=2.10.1
```

### Environment Variables

### Docker Deployment

The UI service can be deployed using the dedicated Dockerfile:

```

```

**Sources:** [docker/Dockerfile.ui1-33](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile.ui#L1-L33) [src/praisonai/pyproject.toml28-34](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L28-L34) [docker/README.md78-85](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/README.md?plain=1#L78-L85)

## Chat Interface

The Chat Interface provides a dedicated conversational experience optimized for chat-based interactions with AI agents.

### Service Configuration

Runs on port 8083 with enhanced chat capabilities including:

```
litellm>=1.72.6
tavily-python==0.5.0
crawl4ai>=0.7.0
playwright>=1.47.0
```

### Features

- Real-time chat with AI agents
- Multi-modal support (text, images)
- Integration with external search APIs
- Document processing capabilities
- Persistent conversation history

### Deployment

```

```

**Sources:** [docker/Dockerfile.chat1-33](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile.chat#L1-L33) [src/praisonai/pyproject.toml46-57](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L46-L57)

## Code Interface

Specialized interface for code-related tasks including code generation, analysis, and review.

### Dependencies

Similar to chat interface but optimized for development workflows:

```
chainlit==2.5.5
litellm>=1.72.6
tavily-python==0.5.0
crawl4ai>=0.7.0
playwright>=1.47.0
```

### Capabilities

- Code generation and completion
- Code review and analysis
- Integration with development tools
- Syntax highlighting and formatting
- Multi-language support

**Sources:** [src/praisonai/pyproject.toml58-68](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L58-L68)

## Realtime Voice Interface

Voice-enabled interface supporting real-time audio interaction with AI agents.

### Technology Stack

```
websockets>=12.0
plotly>=5.24.0
yfinance>=0.2.44
duckduckgo_search>=6.3.0
```

### Features

- Real-time voice communication
- Audio processing and transcription
- Voice command recognition
- Audio response generation
- WebSocket-based real-time communication

### Configuration

Requires additional audio processing dependencies and WebSocket support for low-latency voice interaction.

**Sources:** [src/praisonai/pyproject.toml69-81](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L69-L81)

## Call Interface

Telephony integration using Twilio for voice call capabilities.

### Dependencies

```
twilio>=7.0.0
fastapi>=0.95.0
uvicorn>=0.20.0
websockets>=12.0
flaml[automl]>=2.3.1
pyngrok>=1.4.0
openai>=1.54.0
```

### Command Line Tool

The call interface includes a dedicated command-line tool:

```
praisonai-call = "praisonai.api.call:main"
```

### Capabilities

- Inbound and outbound phone calls
- Interactive voice response (IVR)
- Call routing and management
- Integration with AI agents for voice-based assistance
- Call recording and transcription

**Sources:** [src/praisonai/pyproject.toml82-91](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L82-L91) [src/praisonai/pyproject.toml25](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L25-L25)

## API Interface

REST API interface for programmatic access to PraisonAI functionality.

### Framework Options

The API can be deployed using either Flask or FastAPI:

```
flask>=3.0.0
fastapi>=0.115.0
uvicorn>=0.34.0
```

### Service Configuration

Runs on port 8080 and provides RESTful endpoints for:

- Agent creation and management
- Task execution and monitoring
- Configuration management
- Health checks and status monitoring

### Health Check Endpoint

```
GET http://localhost:8080/health
```

Returns service health status and basic system information.

### Docker Deployment

```

```

**Sources:** [docker/Dockerfile1-46](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile#L1-L46) [src/praisonai/pyproject.toml36-40](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L36-L40) [docker/README.md95-99](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/README.md?plain=1#L95-L99)

## Command Line Interface

The primary command-line interface for PraisonAI operations.

### Main Command

```
praisonai = "praisonai.__main__:main"
```

### Usage Patterns

```

```

### Configuration

The CLI respects environment variables and configuration files in the `~/.praison` directory.

**Sources:** [src/praisonai/pyproject.toml22-25](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai/pyproject.toml#L22-L25) [README.md102-106](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/README.md?plain=1#L102-L106)

## Development Interface

Comprehensive development environment with additional tools and capabilities.

### Development Dockerfile

The development environment includes:

```
jupyter
jupyterlab
notebook
pytest
pytest-asyncio
mkdocs
mkdocs-material
vim
nano
```

### Audio Development Support

Additional packages for audio development:

```
portaudio19-dev
python3-pyaudio
```

### Usage

```

```

**Sources:** [docker/Dockerfile.dev1-47](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/Dockerfile.dev#L1-L47)

## Configuration Management

### Directory Structure

All PraisonAI configuration and runtime files are centralized in the `~/.praison/` directory:

```
~/.praison/
|-- database.sqlite      # Chainlit database
|-- chainlit.md         # Chainlit configuration 
|-- .chainlit/          # Chainlit runtime files
`-- config/             # PraisonAI configuration
```

### Environment Variables

### Docker Volume Mounting

For persistent configuration:

```

```

**Sources:** [docker/README.md54-74](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/README.md?plain=1#L54-L74)

## Service Endpoints Summary

**Sources:** [docker/README.md102-108](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/docker/README.md?plain=1#L102-L108)
