JSPM

duckduckgo-chat-interface

1.1.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 44
  • Score
    100M100P100Q76582F
  • 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, 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!