Giter Site home page Giter Site logo

assistant's Introduction

WhatsApp AI Assistant

Welcome to the WhatsApp AI Assistant repository, where you'll find a remarkable WhatsApp chatbot designed to function as your very own AI-powered personal assistant. This chatbot leverages the power of Language Model (LLM) technology. As of now, it only supports Bing Chat and the jailbreak for it, codenamed Sydney.

Sydney OpenRouter LLMs
sydney_demo.mp4
Coming soon

Feature Comparison

Feature Sydney (BingAI Jailbreak) OpenRouter LLMs*
Google/Bing Searching
Google Calendar
Google Places
Gmail
Communication Capability
Group Chat Compatibility
Voice Message Capability
Create Basic Text Reminders
Image Recognition
Image Generation
PDF Reading

NOTE: We do not test every LLM that OpenRouter provides. Typically, we only test OpenAI GPT-3.5, Anthropic Claude 2, Google PaLM 2, and whatever is free and trending in the rankings.

Getting Started

Prerequisites

  • Node.js >= 18.15.0
  • Node.js version >= 20.x.x users should use the following command instead of pnpm start: node --loader ts-node/esm src/index.ts
  • A spare WhatsApp number

Installation

Sydney/BingChat
  1. Clone this repository
git clone https://github.com/WAppAI/assistant.git
  1. Install the dependencies
pnpm install
  1. Rename .env.example to .env
cp .env.example .env
  1. Login with your Bing account and edit .env's BING_COOKIES environment variable to the cookies string from bing.com. For detailed instructions here.

    NOTE: Occasionally, you might encounter an error stating, User needs to solve CAPTCHA to continue. To resolve this issue, please solve the captcha [here]https://www.bing.com/turing/captcha/challenge, while logged in with the same account associated with your BING_COOKIES.

  2. Read and fill in the remaining information in the .env file.

  3. Run

pnpm build
  1. Start the bot
pnpm start
  1. Connect your WhatsApp account to the bot by scanning the generated QR Code in the CLI.

  2. Send a message to your WhatsApp account to start a conversation with Sydney!

OpenRouter
  1. Clone this repository
git clone https://github.com/WAppAI/assistant.git
  1. Install the dependencies
pnpm install
  1. Rename .env.example to .env
cp .env.example .env
  1. Read and fill in the remaining information in the .env file.

  2. Run

pnpm build
  1. Start the bot
pnpm start
  1. Connect your WhatsApp account to the bot by scanning the generated QR Code in the CLI.

  2. Send a message to your WhatsApp account to start a conversation with the bot!

Usage

The AI's are designed to respond to natural language queries from users. You can ask them questions, or just have a casual conversation.

Voice Messages

When dealing with voice messages, you have two options for transcription: utilizing the Whisper API or the local method. Each option has its own considerations, including cost and performance.

Whisper API:
  • Cost: Utilizing the Whisper API incurs a cost of US$0.06 per 10 minutes of audio.
  • Setup:
    1. Obtain an OpenAI API key and place it in the .env file under the OPENAI_API_KEY variable.
    2. Set TRANSCRIPTION_ENABLED to "true" and TRANSCRIPTION_METHOD to "whisper-api". While setting a language in TRANSCRIPTION_LANGUAGE is not mandatory, it is recommended for better performance.
Local Mode:
  • Cost: The local method is free but may be slower and less precise.
  • Setup:
    1. Download a model of your choice from here. Download any .bin file and place it in the ./whisper/models folder.
    2. Modify the .env file by changing TRANSCRIPTION_ENABLED to "true", TRANSCRIPTION_METHOD to "local", and "TRANSCRIPTION_MODEL" with the name of the model you downloaded. While setting a language in TRANSCRIPTION_LANGUAGE is not mandatory, it is recommended for better performance.

Group Chat

To utilize it in a group chat, you will need to either mention it by using her username with the "@" symbol (e.g., @Sydney) or reply directly to her last message.

Available commands

  • !help: Displays a message listing all available commands.
  • !help followed by a specific command, e.g., !help reset: Provides detailed information about the selected command.
  • If you wish to customize the command prefix, you can do so in the .env file to better suit your preferences.

Contribute

Your contributions to Sydney are welcome in any form. Whether you'd like to:

  • Report Issues: If you come across bugs or have ideas for new features, please open an issue to discuss and track these items.

  • Submit Pull Requests (PRs): Feel free to contribute directly by opening pull requests. Your contributions are greatly appreciated and help improve Sydney.

Your involvement is valued, and you're encouraged to contribute in the way that suits you best.

Hire Us

Both creators of this project, Veigamann and Luisotee, are currently seeking new job opportunities.

If you have any job opportunities, please feel free to contact us through the emails provided in our GitHub profiles.

assistant's People

Contributors

dependabot[bot] avatar dinushay avatar luisotee avatar sudoalx avatar veigamann avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.