{"id":29131322,"url":"https://github.com/benoitpetit/duckduckgo-chat-interface","last_synced_at":"2025-06-30T05:07:45.036Z","repository":{"id":299099260,"uuid":"1002052297","full_name":"benoitpetit/duckduckGO-chat-interface","owner":"benoitpetit","description":" A Node.js interface for DuckDuckGo AI Chat Simple and efficient integration with streaming support and session management","archived":false,"fork":false,"pushed_at":"2025-06-29T10:05:37.000Z","size":140,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-29T10:05:54.548Z","etag":null,"topics":["duckduckgo","iachatbot","npm"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/duckduckgo-chat-interface","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benoitpetit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-14T16:01:13.000Z","updated_at":"2025-06-29T10:05:40.000Z","dependencies_parsed_at":"2025-06-14T17:35:43.204Z","dependency_job_id":"bbbde930-038e-4df6-b968-31775a3d416f","html_url":"https://github.com/benoitpetit/duckduckGO-chat-interface","commit_stats":null,"previous_names":["benoitpetit/duckduckgo-chat-interface"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/benoitpetit/duckduckGO-chat-interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitpetit%2FduckduckGO-chat-interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitpetit%2FduckduckGO-chat-interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitpetit%2FduckduckGO-chat-interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitpetit%2FduckduckGO-chat-interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benoitpetit","download_url":"https://codeload.github.com/benoitpetit/duckduckGO-chat-interface/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitpetit%2FduckduckGO-chat-interface/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262714504,"owners_count":23352466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["duckduckgo","iachatbot","npm"],"created_at":"2025-06-30T05:07:44.259Z","updated_at":"2025-06-30T05:07:45.016Z","avatar_url":"https://github.com/benoitpetit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🦆 DuckDuckGo AI Chat Interface\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./logo.png\" width=\"200\" alt=\"DuckDuckGo AI Chat Interface Logo\"\u003e\n  \u003cbr\u003e\n  \u003cstrong\u003e🚀 Powerful Node.js Interface for DuckDuckGo AI Chat\u003c/strong\u003e\u003cbr\u003e\n  \u003cem\u003eAdvanced Configuration • Intelligent Rate Limiting • Image Support • WebSearch\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Node.js-14.0+-339933?style=for-the-badge\u0026logo=node.js\u0026logoColor=white\" alt=\"Node.js Version\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/NPM-Package-red?style=for-the-badge\u0026logo=npm\" alt=\"NPM Package\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-green?style=for-the-badge\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-Full%20Support-blue?style=for-the-badge\u0026logo=typescript\" alt=\"TypeScript\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#-quick-usage\"\u003eQuick Usage\u003c/a\u003e •\n  \u003ca href=\"./docs/\"\u003eDocumentation\u003c/a\u003e •\n  \u003ca href=\"./examples/\"\u003eExamples\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## ✨ Key Features\n\n### 🧠 **5 Advanced AI Models**\n- **GPT-4o mini** - Versatile + WebSearch + Image Support\n- **Claude 3 Haiku** - Excellent for creative writing\n- **Llama 3.3 70B** - Optimized for programming\n- **Mistral Small** - Advanced analysis and reasoning\n- **o4-mini** - Ultra-fast for quick responses\n\n### 🔧 **Advanced Configuration**\n- **Intelligent rate limiting** - Automatic protection\n- **Configurable tools** - WebSearch, news, weather, local search\n- **Logging system** - Debugging and monitoring\n- **Automatic retry** - Robust error recovery\n- **Optimized presets** - Ready-to-use configurations\n\n### 📱 **Flexible Interfaces**\n- **Simple messages** - Intuitive API\n- **Real-time streaming** - Progressive responses\n- **Multimodal support** - Images with GPT-4o mini\n- **Persistent sessions** - Conversation history\n- **Complete TypeScript** - IntelliSense and validation\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install duckduckgo-chat-interface\n```\n\n## 🚀 Quick Usage\n\n### Basic Example\n\n```javascript\nimport { DuckDuckGoChat, Models } from 'duckduckgo-chat-interface';\n\nconst chat = new DuckDuckGoChat(Models.GPT4Mini);\nawait chat.initialize();\n\nconst response = await chat.sendMessage(\"Hello, how are you?\");\nconsole.log(response);\n```\n\n### With WebSearch (GPT-4o mini)\n\n```javascript\nimport { DuckDuckGoChat, ChatConfig, Models } from 'duckduckgo-chat-interface';\n\nconst config = ChatConfig.webSearchMode();\nconst chat = new DuckDuckGoChat(Models.GPT4Mini, config);\nawait chat.initialize();\n\nchat.enableWebSearch();\nconst response = await chat.sendMessage(\"Latest AI news?\");\nconsole.log(response);\n```\n\n### Image Support\n\n```javascript\nconst images = [{\n  base64: imageBase64String,\n  mimeType: 'image/jpeg'\n}];\n\nconst response = await chat.sendMessage(\"Describe this image\", images);\nconsole.log(response);\n```\n\n### Real-time Streaming\n\n```javascript\nconst response = await chat.sendMessageStream(\n  \"Tell me a story\",\n  (chunk) =\u003e process.stdout.write(chunk)\n);\n```\n\n---\n\n## 📚 Documentation\n\n- **[🚀 Quick Start](./docs/quick-start.md)** - Get started in 5 minutes\n- **[📋 API Reference](./docs/api-reference.md)** - Complete API documentation\n- **[💡 Examples](./docs/examples.md)** - Practical usage examples\n\n---\n\n## 📊 Models and Capabilities\n\n| Model | WebSearch | Images | Strength | Recommended Usage |\n|--------|:---------:|:------:|-------|------------------|\n| **GPT-4o mini** | ✅ | ✅ | Versatile | General questions, search |\n| **Claude 3 Haiku** | ❌ | ❌ | Creativity | Writing, explanations |\n| **Llama 3.3 70B** | ❌ | ❌ | Technical | Code, programming |\n| **Mistral Small** | ❌ | ❌ | Logic | Analysis, reasoning |\n| **o4-mini** | ❌ | ❌ | Speed | Quick responses |\n\n---\n\n## 🔧 Configuration Presets\n\n```javascript\n// WebSearch mode (GPT-4o mini)\nconst config = ChatConfig.webSearchMode();\n\n// News mode\nconst config = ChatConfig.newsMode();\n\n// Local mode (weather + local search)\nconst config = ChatConfig.localMode();\n\n// High performance mode\nconst config = ChatConfig.highVolumeMode();\n```\n\n---\n\n## 📈 Examples\n\nExplore detailed examples in the [`examples/`](./examples/) folder:\n\n- **[`test.js`](./examples/test.js)** - Basic examples and configuration\n- **[`test-advanced.js`](./examples/test-advanced.js)** - Advanced features\n- **[`test-simple.js`](./examples/test-simple.js)** - Simple tests and validation\n\n---\n\n## 🛡️ Compatibility\n\n- **Node.js** : \u003e= 14.0.0\n- **TypeScript** : Full support with types\n- **ES Modules** : Native ESM format\n- **Backward compatibility** : 100% with 1.x versions\n\n---\n\n## 🚨 Important Notes\n\n- **WebSearch and images** only with GPT-4o mini\n- **Rate limiting enabled by default** to protect API\n- **`initialize()` required** before sending messages\n- **Automatic retry** on temporary errors\n\n---\n\n## 📞 Support and Community\n\n- **📚 Documentation** : [docs/](./docs/)\n- **💻 Examples** : [examples/](./examples/)\n- **🐛 Issues** : [GitHub Issues](https://github.com/benoitpetit/duckduckGO-chat-interface/issues)\n- **💬 Discussions** : [GitHub Discussions](https://github.com/benoitpetit/duckduckGO-chat-interface/discussions)\n\n---\n\n## 📜 License\n\nMIT License - see [LICENSE](./LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003e🏁 Ready to start?\u003c/strong\u003e\u003cbr\u003e\n  Follow the \u003ca href=\"./docs/quick-start.md\"\u003eQuick Start Guide\u003c/a\u003e!\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenoitpetit%2Fduckduckgo-chat-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenoitpetit%2Fduckduckgo-chat-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenoitpetit%2Fduckduckgo-chat-interface/lists"}