npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

multichatbot

v1.0.0

Published

A Node.js Package Multi AI chatbot wrapper for GPT, Gemini and DeepSeek

Readme

ChatbotAI

Chatbot is a lightweight Node.js package that provides a unified interface for working with multiple AI providers in a single project.

The goal is simple: write once, switch AI providers without refactoring your logic.

No framework. No hidden magic. No forced conversation handling. You stay in control.

Overview

Currently supported AI providers:

  • OpenAI GPT
  • Google Gemini
  • DeepSeek (OpenAI-compatible API)

Designed for:

  • Chatbots
  • CLI tools
  • Code generators
  • Developer assistants

Installation

Install from npm:

npm install chatbot

For local development:

npm link

Requirements

  • Node.js 18 or higher
  • ES Module environment
  • Valid API keys for the AI providers you use

If your project does not use ES Modules yet, add this to your package.json:

{ "type": "module" }

Package Structure

chatbot/ ├─ package.json ├─ index.js ├─ README.md └─ src/ ├─ gemini.js ├─ gpt.js └─ deepseek.js

Importing

import chatbot from "chatbot";

Each AI provider is isolated. No shared state. No side effects.

Gemini

Set API key:

chatbot.Gemini.SetApiKey("GEMINI_API_KEY");

Set model (optional):

chatbot.Gemini.SetModel("gemini-2.5-flash");

If not set, the default model is used.

Send a prompt:

const result = await chatbot.Gemini.Send("What is Luau?"); console.log(result);

OpenAI GPT

Set API key:

chatbot.GPT.SetOpenAIApiKey("OPENAI_API_KEY");

Set model (optional):

chatbot.GPT.SetModel("gpt-4.1");

Default model is gpt-4o-mini.

Send a prompt:

const result = await chatbot.GPT.Send("Write a Lua function to sum numbers"); console.log(result);

DeepSeek

DeepSeek uses an OpenAI-compatible API. It works with the same request format, only the base URL and model change.

Set API key:

chatbot.DeepSeek.SetApiKey("DEEPSEEK_API_KEY");

Set model (optional):

chatbot.DeepSeek.SetModel("deepseek-chat");

Default model is deepseek-chat.

Send a prompt:

const result = await chatbot.DeepSeek.Send("Write Lua code to handle a table"); console.log(result);

DeepSeek Models

Commonly used DeepSeek models:

deepseek-chat
General-purpose chat model.

deepseek-coder
Optimized for programming, code generation, and refactoring.

deepseek-coder-instruct
Strict instruction-following model for automated tools.

Example:

chatbot.DeepSeek.SetModel("deepseek-coder");

API Design Philosophy

  • API keys are set once
  • Models are optional
  • Send always works after API key setup
  • No conversation history management
  • No prompt mutation
  • No output formatting

This package does one thing only: send text to an AI and return text.

Why This Package Exists

  • Avoid rewriting AI wrappers for every project
  • Switch AI providers in seconds
  • Keep dependencies minimal
  • Maintain full control over prompts and output

Roadmap

  • chatbot.Use("gemini" | "gpt" | "deepseek")
  • Unified chatbot.Send()
  • Preset modes for Lua, Luau, JavaScript
  • Streaming responses
  • Official CLI tool

License

MIT License

Free to use, modify, and distribute. No warranty provided.