Skip to main content

Web UI for CrewAI chat functionality

Project description

CrewAI Chat UI

A modern web interface for interacting with CrewAI crews through an intuitive, feature-rich chat UI.

CrewAI Chat UI Screenshot light mode

CrewAI Chat UI Screenshot dark mode

Screenshot: CrewAI Chat UI in action

Features

  • 🌐 Modern Web Interface: Sleek, responsive chat UI for interacting with your CrewAI crews
  • 🔍 Auto-Discovery: Automatically finds and loads your crew from the current directory
  • 🎮 Interactive: Real-time chat with typing indicators and message formatting
  • 📋 Chat History: Save and manage conversation threads with local storage
  • 🗑️ Thread Management: Create new chats and delete old conversations
  • 🔄 State Persistence: Conversations are saved and can be resumed
  • 📱 Responsive Design: Optimized for various screen sizes
  • 🚀 Easy to Use: Simple installation and setup process
  • 🧵 Multi-Thread Support: Maintain multiple conversations with proper message tracking
  • 🔔 Cross-Thread Notifications: Get notified when responses arrive in other threads
  • 💬 Persistent Typing Indicators: Typing bubbles remain visible when switching threads
  • 🔄 Synchronization: Messages are properly synchronized between client and server

Installation

From PyPI (when published)

pip install crewai-chat-ui

From source

  1. Clone this repository or download the source code
  2. Navigate to the directory containing the pyproject.toml file
  3. Install with pip:
pip install -e .

Requirements

  • Python 3.9+
  • CrewAI 0.98.0+
  • A properly configured CrewAI project with a crew instance

Usage

  1. Navigate to your CrewAI project directory
  2. Run the chat UI:
crewai-chat-ui
  1. Open your browser and go to http://localhost:5000
  2. Start chatting with your crew!

How It Works

The CrewAI Chat UI:

  1. Searches for crew.py or *_crew.py files in your current directory
  2. Loads your crew instance
  3. Uses the crew's chat_llm to initialize a chat interface
  4. Provides a modern web-based UI for interacting with your crew
  5. Manages chat history using local storage for persistent conversations

Configuration

The chat UI uses the following configuration from your crew:

  • chat_llm: The language model to use for chat interactions (required)
  • Crew task descriptions: To understand your crew's purpose
  • Agent descriptions: To understand the agents' roles

Development

Project Structure

src/
└── crewai_chat_ui/
    ├── __init__.py        # Package initialization
    ├── server.py          # Web server implementation
    ├── crew_loader.py     # Logic to load user's crew
    ├── chat_handler.py    # Chat functionality
    └── static/            # Frontend assets
        ├── index.html     # Main UI page
        ├── styles.css     # Styling
        └── scripts.js     # Client-side functionality
pyproject.toml          # Package configuration
README.md               # Documentation

UI Features

Chat History Management

The UI provides several ways to manage your conversations:

  • Create New Chat: Click the "New Chat" button in the sidebar to start a fresh conversation
  • View Past Conversations: All your conversations are saved and accessible from the sidebar
  • Delete Conversations: Each conversation in the sidebar has a delete button (trash icon) to remove unwanted threads
  • Clear Current Chat: The "Clear" button in the header removes all messages in the current conversation while keeping the thread

Thread Management

The application supports sophisticated thread management:

  • Multiple Concurrent Threads: Maintain multiple conversations with different crews simultaneously
  • Thread Persistence: All messages are correctly stored in their respective threads
  • Cross-Thread Notifications: When a response arrives in a thread you're not currently viewing, you'll receive a notification
  • Persistent Typing Indicators: Typing bubbles remain visible when switching between threads until a response is received
  • Thread Synchronization: Messages are properly synchronized between client and server to ensure no messages are lost

Development

Building the Package

To build the package:

pip install build
python -m build

The package will be available in the dist/ directory.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crewai_chat_ui-0.1.2.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

crewai_chat_ui-0.1.2-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file crewai_chat_ui-0.1.2.tar.gz.

File metadata

  • Download URL: crewai_chat_ui-0.1.2.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for crewai_chat_ui-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ee3eccec6a0c7f8336c98113d81fb7e4afd23839f6365af74c383a1169962899
MD5 6c7b5a1ea25d7cc50e9f548855bfc329
BLAKE2b-256 f7b1c168fa821eaef618e1dd9620b2d666995348f610f997296721ce4cd7f5a7

See more details on using hashes here.

File details

Details for the file crewai_chat_ui-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: crewai_chat_ui-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for crewai_chat_ui-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 db4fda3045b0789edba1ab9aa2b8d03dc59007163efeae9838e158ca48e1450b
MD5 0c532f896a9a4738ffb6583b0b7bfee0
BLAKE2b-256 05e8eca308ab304e515c978bf720ccf92bbfd347abe365f50140750b7cdf7993

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page