duckduckGO-chat-interface

repo
Created Jun 2025
Original
JavaScript
Stars
5
Forks
0
Size
159 KB
Last Update
42 minutes 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

DuckDuckGo AI Chat Interface Logo
🚀 Powerful Node.js Interface for DuckDuckGo AI Chat
Advanced Configuration • Intelligent Rate Limiting • Image Support • WebSearch

Node.js Version NPM Package License TypeScript

InstallationQuick UsageDocumentationExamples


✨ 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


📊 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:


🛡️ 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


📜 License

MIT License - see LICENSE for details.


🏁 Ready to start?
Follow the Quick Start Guide!

Repository Topics
#duckduckgo#iachatbot#npm