https://github.com/benoitpetit/duckduckgo-chat-interface
A Node.js interface for DuckDuckGo AI Chat Simple and efficient integration with streaming support and session management
https://github.com/benoitpetit/duckduckgo-chat-interface
duckduckgo iachatbot npm
Last synced: 12 months ago
JSON representation
A Node.js interface for DuckDuckGo AI Chat Simple and efficient integration with streaming support and session management
- Host: GitHub
- URL: https://github.com/benoitpetit/duckduckgo-chat-interface
- Owner: benoitpetit
- License: mit
- Created: 2025-06-14T16:01:13.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-29T10:05:37.000Z (12 months ago)
- Last Synced: 2025-06-29T10:05:54.548Z (12 months ago)
- Topics: duckduckgo, iachatbot, npm
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/duckduckgo-chat-interface
- Size: 137 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🦆 DuckDuckGo AI Chat Interface
🚀 Powerful Node.js Interface for DuckDuckGo AI Chat
Advanced Configuration • Intelligent Rate Limiting • Image Support • WebSearch
Installation •
Quick Usage •
Documentation •
Examples
---
## ✨ 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
```bash
npm install duckduckgo-chat-interface
```
## 🚀 Quick Usage
### Basic Example
```javascript
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)
```javascript
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
```javascript
const images = [{
base64: imageBase64String,
mimeType: 'image/jpeg'
}];
const response = await chat.sendMessage("Describe this image", images);
console.log(response);
```
### Real-time Streaming
```javascript
const response = await chat.sendMessageStream(
"Tell me a story",
(chunk) => process.stdout.write(chunk)
);
```
---
## 📚 Documentation
- **[🚀 Quick Start](./docs/quick-start.md)** - Get started in 5 minutes
- **[📋 API Reference](./docs/api-reference.md)** - Complete API documentation
- **[💡 Examples](./docs/examples.md)** - 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
```javascript
// 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/`](./examples/) folder:
- **[`test.js`](./examples/test.js)** - Basic examples and configuration
- **[`test-advanced.js`](./examples/test-advanced.js)** - Advanced features
- **[`test-simple.js`](./examples/test-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/](./docs/)
- **💻 Examples** : [examples/](./examples/)
- **🐛 Issues** : [GitHub Issues](https://github.com/benoitpetit/duckduckGO-chat-interface/issues)
- **💬 Discussions** : [GitHub Discussions](https://github.com/benoitpetit/duckduckGO-chat-interface/discussions)
---
## 📜 License
MIT License - see [LICENSE](./LICENSE) for details.
---
🏁 Ready to start?
Follow the Quick Start Guide!