identie-chat-widget
v1.0.3
Published
Embeddable AI chat widget with modern design and streaming responses
Maintainers
Readme
Identie Chat Widget
An embeddable AI chat widget with modern design, streaming responses, and easy integration.
🚀 Quick Start
CDN (Recommended)
<!-- Auto-initialization -->
<div data-identie-widget></div>
<script src="https://cdn.jsdelivr.net/npm/identie-chat-widget@latest/dist/identie-chat-widget.min.js"></script>
<!-- Manual initialization -->
<script src="https://cdn.jsdelivr.net/npm/identie-chat-widget@latest/dist/identie-chat-widget.min.js"></script>
<script>
IdentieWidget.init({
theme: 'light'
});
</script>
<!-- Custom API URL -->
<script>
IdentieWidget.init({
apiUrl: 'https://your-custom-api.com',
theme: 'dark'
});
</script>NPM
npm install identie-chat-widget⚙️ Configuration
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| containerId | string | 'identie-chat-widget' | Container element ID |
| apiUrl | string | 'https://fastapi.identie.net' | Backend API URL |
| theme | string | 'light' | Theme: 'light' or 'dark' |
| suggestions | array | [...] | Conversation starters |
📝 Features
- ✨ Modern, responsive design
- 🌙 Light/dark theme support
- 💬 Streaming chat responses
- 📱 Mobile-friendly
- 🎨 Customizable styling
- 🔧 Easy integration
- 💾 Persistent chat history
🔗 API Integration
The widget expects your backend to provide a streaming chat endpoint:
POST /api/assistant/chat/streamExpected request body:
{
"message": "User message",
"chat_history": [
{"role": "user", "content": "Previous message"},
{"role": "assistant", "content": "Previous response"}
]
}Expected response: Server-sent events with JSON data:
data: {"content": "Streaming response chunk"}
data: {"done": true}🎨 Customization
The widget uses CSS custom properties for easy theming:
:root {
--chat-primary-color: #007bff;
--chat-background: #ffffff;
--chat-text-color: #333333;
}📦 Building
npm run build # Build for development
npm run build:cdn # Build CDN version with integrity hash📄 License
MIT License - see LICENSE file for details.
🤝 Contributing
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
