duckduckGO-chat-interface
repoCreated Jun 2025
Original
JavaScript
Stars
5
Forks
0
Size
159 KB
Last Update
8 months ago
A Node.js interface for DuckDuckGo AI Chat Simple and efficient integration with streaming support and session management
README.md
🦆 DuckDuckGo AI Chat Interface
✨ Key Features
🧠 5 Advanced AI Models
- GPT-4o mini - Versatile + WebSearch + Image Support
- Claude 3 Haiku - Excellent for creative writing
- Llama 3.3 70B - Optimized for programming
- Mistral Small - Advanced analysis and reasoning
- o4-mini - Ultra-fast for quick responses
🔧 Advanced Configuration
- Intelligent rate limiting - Automatic protection
- Configurable tools - WebSearch, news, weather, local search
- Logging system - Debugging and monitoring
- Automatic retry - Robust error recovery
- Optimized presets - Ready-to-use configurations
📱 Flexible Interfaces
- Simple messages - Intuitive API
- Real-time streaming - Progressive responses
- Multimodal support - Images with GPT-4o mini
- Persistent sessions - Conversation history
- Complete TypeScript - IntelliSense and validation
📦 Installation
npm install duckduckgo-chat-interface
🚀 Quick Usage
Basic Example
import { DuckDuckGoChat, Models } from 'duckduckgo-chat-interface'; const chat = new DuckDuckGoChat(Models.GPT4Mini); await chat.initialize(); const response = await chat.sendMessage("Hello, how are you?"); console.log(response);
With WebSearch (GPT-4o mini)
import { DuckDuckGoChat, ChatConfig, Models } from 'duckduckgo-chat-interface'; const config = ChatConfig.webSearchMode(); const chat = new DuckDuckGoChat(Models.GPT4Mini, config); await chat.initialize(); chat.enableWebSearch(); const response = await chat.sendMessage("Latest AI news?"); console.log(response);
Image Support
const images = [{ base64: imageBase64String, mimeType: 'image/jpeg' }]; const response = await chat.sendMessage("Describe this image", images); console.log(response);
Real-time Streaming
const response = await chat.sendMessageStream( "Tell me a story", (chunk) => process.stdout.write(chunk) );
📚 Documentation
- 🚀 Quick Start - Get started in 5 minutes
- 📋 API Reference - Complete API documentation
- 💡 Examples - Practical usage examples
📊 Models and Capabilities
| Model | WebSearch | Images | Strength | Recommended Usage |
|---|---|---|---|---|
| GPT-4o mini | ✅ | ✅ | Versatile | General questions, search |
| Claude 3 Haiku | ❌ | ❌ | Creativity | Writing, explanations |
| Llama 3.3 70B | ❌ | ❌ | Technical | Code, programming |
| Mistral Small | ❌ | ❌ | Logic | Analysis, reasoning |
| o4-mini | ❌ | ❌ | Speed | Quick responses |
🔧 Configuration Presets
// WebSearch mode (GPT-4o mini) const config = ChatConfig.webSearchMode(); // News mode const config = ChatConfig.newsMode(); // Local mode (weather + local search) const config = ChatConfig.localMode(); // High performance mode const config = ChatConfig.highVolumeMode();
📈 Examples
Explore detailed examples in the examples/ folder:
test.js- Basic examples and configurationtest-advanced.js- Advanced featurestest-simple.js- Simple tests and validation
🛡️ Compatibility
- Node.js : >= 14.0.0
- TypeScript : Full support with types
- ES Modules : Native ESM format
- Backward compatibility : 100% with 1.x versions
🚨 Important Notes
- WebSearch and images only with GPT-4o mini
- Rate limiting enabled by default to protect API
initialize()required before sending messages- Automatic retry on temporary errors
📞 Support and Community
- 📚 Documentation : docs/
- 💻 Examples : examples/
- 🐛 Issues : GitHub Issues
- 💬 Discussions : GitHub Discussions
📜 License
MIT License - see LICENSE for details.
Repository Topics
#duckduckgo#iachatbot#npm
