UNPKG

senangwebs-chatbot

Version:

Lightweight JavaScript library with OpenRouter API integration for AI-powered conversations.

276 lines (193 loc) 6.93 kB
# SenangWebs Chatbot - Examples Comprehensive examples demonstrating all features of SenangWebs Chatbot library. ## Directory Structure ``` examples/ ├── basic/ # Basic chatbot examples ├── api-integration/ # AI-powered features with OpenRouter ├── proxy-servers/ # Secure server-side proxy implementations ├── advanced-features/ # Advanced functionality demos └── README.md # This file ``` ## Quick Start ### 1. Basic Chatbot (No AI) Start here if you're new to SenangWebs Chatbot: - **`basic/01-simple-chatbot.html`** - Traditional keyword-based chatbot - **`basic/02-custom-knowledge-base.html`** - Custom knowledge base using JSON **Features:** - Zero configuration needed - No API keys required - Instant responses - Perfect for FAQ chatbots **Quick Run:** ```bash # Just open in browser open basic/01-simple-chatbot.html ``` --- ## API Integration (AI-Powered) Examples using OpenRouter API for AI-powered conversations: ### Prerequisites - OpenRouter API key from [openrouter.ai](https://openrouter.ai/) - Modern web browser ### Examples 1. **`api-integration/01-ai-only-mode.html`** - Pure AI-powered chatbot - All responses from AI models - Real-time streaming - Best for: Open-ended conversations 2. **`api-integration/02-hybrid-mode.html`** - Smart routing between keywords and AI - Fast keyword responses for common queries - AI fallback for complex questions - Best for: Customer support, FAQ with flexibility 3. **`api-integration/03-interactive-testing.html`** - Test different AI models - Configure parameters in real-time - Compare responses - Best for: Development and testing 4. **`api-integration/04-secure-proxy-setup.html`** - Production-ready security setup - Server-side proxy examples - No exposed API keys - Best for: Production deployments **Quick Run:** ```bash # Open any AI example and enter your API key open api-integration/01-ai-only-mode.html ``` ⚠️ **Security Note:** Examples 1-3 are for development only. Use proxy setup (#4) for production! --- ## Proxy Servers (Production Security) Server-side proxies to keep API keys secure: ### Available Implementations 1. **`proxy-servers/proxy-nodejs.js`** - Node.js/Express server - Full streaming support - Health check endpoint ```bash cd proxy-servers npm install export OPENROUTER_API_KEY="your-key" npm start ``` 2. **`proxy-servers/proxy-php.php`** - PHP implementation - Works on shared hosting - Easy WordPress integration ```bash # Upload to server # Edit API key in file # Access: yourdomain.com/proxy-php.php ``` 3. **`proxy-servers/proxy-cloudflare-worker.js`** - Serverless edge computing - Global CDN distribution - Free tier: 100k requests/day ```bash npm install -g wrangler wrangler secret put OPENROUTER_API_KEY wrangler deploy ``` **Documentation:** See `proxy-servers/README.md` for complete setup guide. --- ## Advanced Features Advanced functionality demonstrations: 1. **`advanced-features/01-chat-history.html`** - Save/load conversation history - Export chat as JSON - Import previous conversations - Clear history - Best for: Session persistence 2. **`advanced-features/02-external-knowledge-base.html`** - Load knowledge base from JSON file - Dynamic content loading - Declarative configuration - Best for: Large FAQ databases **Quick Run:** ```bash open advanced-features/01-chat-history.html ``` --- ## Examples Quick Reference | Example | Type | Difficulty | API Needed | Best For | | --------------------------------------------------- | -------- | ------------ | ---------- | ------------------- | | `basic/01-simple-chatbot.html` | Keyword | Beginner | ❌ | FAQ, Simple bots | | `basic/02-custom-knowledge-base.html` | Keyword | Beginner | ❌ | Custom flows | | `api-integration/01-ai-only-mode.html` | AI | Intermediate | ✅ | Conversational AI | | `api-integration/02-hybrid-mode.html` | Hybrid | Intermediate | ✅ | Customer support | | `api-integration/03-interactive-testing.html` | Testing | Advanced | ✅ | Development | | `api-integration/04-secure-proxy-setup.html` | Security | Advanced | ✅ | Production setup | | `advanced-features/01-chat-history.html` | Feature | Intermediate | ❌ | Session persistence | | `advanced-features/02-external-knowledge-base.html` | Feature | Intermediate | ❌ | Dynamic content | --- ## Learning Path ### For Beginners 1. Start with `basic/01-simple-chatbot.html` 2. Understand keyword matching 3. Try `advanced-features/01-chat-history.html` 4. Learn about history persistence ### For AI Integration 1. Get OpenRouter API key 2. Try `api-integration/01-ai-only-mode.html` 3. Explore `api-integration/02-hybrid-mode.html` 4. Test with `api-integration/03-interactive-testing.html` ### For Production Deployment 1. Understand security concerns 2. Review `api-integration/04-secure-proxy-setup.html` 3. Choose your proxy (Node.js/PHP/Cloudflare) 4. Deploy from `proxy-servers/` directory 5. Configure chatbot to use proxy endpoint --- ## Configuration Quick Reference ### Basic Attributes ```html <div data-swc data-swc-theme-color="#007bff" data-swc-bot-name="Assistant" data-swc-chat-display="modern" ></div> ``` ### AI Integration ```html <div data-swc data-swc-api-mode="hybrid" data-swc-api-key="your-key" data-swc-api-model="openai/gpt-3.5-turbo" data-swc-system-prompt="You are helpful" ></div> ``` ### Secure Proxy ```html <div data-swc data-swc-api-mode="ai-only" data-swc-api-base-url="https://your-domain.com/api/chat" data-swc-api-model="openai/gpt-3.5-turbo" ></div> ``` --- ## Troubleshooting ### "Can't find swc.js/swc.css" ```bash # Build the project first cd .. npm install npm run build ``` ### "API key not working" - Check key is valid at [openrouter.ai/keys](https://openrouter.ai/keys) - Ensure you have credits - Check browser console for errors ### "Proxy connection failed" - Ensure proxy server is running - Check API base URL is correct - Verify CORS settings --- ## Contributing Contributions are welcome! Please fork the repository, make your changes, and submit a pull request. --- ## License MIT License