JSPM

duckduckgo-chat-interface

1.1.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 55
  • Score
    100M100P100Q77960F
  • License MIT

A powerful Node.js interface for DuckDuckGo AI Chat with advanced configuration, rate limiting, and image support

Package Exports

  • duckduckgo-chat-interface
  • duckduckgo-chat-interface/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (duckduckgo-chat-interface) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🦆 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, videos, 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 News Videos Local Weather Images
GPT-4o mini
Claude 3 Haiku
Llama 3.3 70B
Mistral Small
o4-mini

🔧 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 is only available with GPT-4o mini.
  • Images are supported by GPT-4o mini and o4-mini.
  • Base tools (News, Videos, Local, Weather) are available for all models.
  • Rate limiting is enabled by default to protect the API.
  • initialize() is required before sending messages.
  • Automatic retry is configured for temporary errors.

📞 Support and Community


📜 License

MIT License - see LICENSE for details.


🏁 Ready to start?
Follow the Quick Start Guide!