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.
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
- Clone this repository or download the source code
- Navigate to the directory containing the
pyproject.toml
file - Install with pip:
pip install -e .
Requirements
- Python 3.9+
- CrewAI 0.98.0+
- A properly configured CrewAI project with a crew instance
Usage
- Navigate to your CrewAI project directory
- Run the chat UI:
crewai-chat-ui
- Open your browser and go to
http://localhost:5000
- Start chatting with your crew!
How It Works
The CrewAI Chat UI:
- Searches for crew.py or *_crew.py files in your current directory
- Loads your crew instance
- Uses the crew's chat_llm to initialize a chat interface
- Provides a modern web-based UI for interacting with your crew
- 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
Release history Release notifications | RSS feed
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ee3eccec6a0c7f8336c98113d81fb7e4afd23839f6365af74c383a1169962899
|
|
MD5 |
6c7b5a1ea25d7cc50e9f548855bfc329
|
|
BLAKE2b-256 |
f7b1c168fa821eaef618e1dd9620b2d666995348f610f997296721ce4cd7f5a7
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
db4fda3045b0789edba1ab9aa2b8d03dc59007163efeae9838e158ca48e1450b
|
|
MD5 |
0c532f896a9a4738ffb6583b0b7bfee0
|
|
BLAKE2b-256 |
05e8eca308ab304e515c978bf720ccf92bbfd347abe365f50140750b7cdf7993
|