Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

GoogleBard - A reverse engineered API for Google Bard chatbot for NodeJS

License

NotificationsYou must be signed in to change notification settings

PawanOsman/GoogleBard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An NPM module for creating GoogleBard chatbot using Bard's reverse-engineered API. With reverse-engineered API functionalities, it empowers developers to harness the full potential of Bard.


npm versionGitHub issuesGitHub forks

Table Of Contents


Features

  • Simulating Response Streaming: The package simulates response streaming, allowing you to get the response as soon as it is available.
  • Multiple Conversations: The package supports multiple conversations, allowing you to have multiple parallel conversations with the chatbot.
  • Proxy Support: The package supports proxies, allowing you to use the chatbot from any location.
  • Lightweight: The package is very lightweight, making it easy to use and integrate into your projects.

Prerequisite - How to get cookies?*

  1. InstallCookie-Editor extension.
  2. Go tohttps://bard.google.com and login.
  3. Click on the extension icon and copy a cookie starting with__Secure-{account_number}PSID.
    • For example,__Secure-1PSID
    • Ensure you are copying the correct cookie corresponding to the account number, which can be found in the URL asbard.google.com/u/{account_number}.
    • If your account number is/u/2, search for the cookie named__Secure-2PSID.
    • If your account number is/u/3, search for the cookie named__Secure-3PSID.
  4. Paste the cookie in your code.

Installation

To install the package, run the following command:

npm install googlebard

Documentation

1. How To Initialise The Bot?

import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies);// other code - scroll below to view different functionalities available

2. How To Configure Bot With Optional Settings?

  1. inMemory: optional - if true will not save conversations to disk
  2. savePath: optional - path to save conversations (e.g './conversations.json')
  3. proxy: optional - handles proxy configurations
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",proxy:{host:process.env.PROXY_HOST,port:process.env.PROXY_PORT,auth:{username:process.env.PROXY_USERNAME,password:process.env.PROXY_PASSWORD,},protocol:"http",},});// other code

3. How To Ask Bot?

To ask bot questions, you may use thebot.ask(<prompt>, <conversation_id>:optional) functionality. A usage of it is given below:

import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies);letconversationId="some_random_id";// optional: to make it remember the conversationletresponse=awaitbot.ask("What is my name?",conversationId);// conversationId is optionalconsole.log(response);
>> I don't know your name. I am a large language model, also known as a conversational AI or cha...

Using the sameconversation_id again will allow the bot to remember what you said earlier in the conversation
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",// this is being done to save crucial information about the conversation so the bot remembers it});letconversationId="test_id";letresponse=awaitbot.ask("My name is Mehul",conversationId);console.log(response);
>> Hi Mehul, it's nice to meet you! I'm Bard...
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";letresponse=awaitbot.ask("What is my name?",conversationId)console.log(response);
>> I know your name is Mehul. You told me earlier.

4. How To Ask Bot And Simulate Response Streaming?

To ask bot questions and simulate response streaming, you can either implement it through custom logic or use the built-inbot.askStream(<callback>, <content>, <conversation_id>:optional). A usage of it is given below:

import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";awaitbot.askStream((res)=>{console.log(res);},// returns the response"Hello?",conversationId,);
>> Your name is Mehul. I will remember that for thenext time we speak.
Response streaming functionality is used to show as if the bot itself is typing

5. How To Reset A Conversation?

To reset a conversation, you may use thebot.resetConversation(<conversation_id>) functionality. This functionality allows the user to make the bot forget about previous conversations provided they are all under the sameconversation_id. A usage of it is given below:

import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";// notice id is the same as that used in the above exampleletresponse=awaitbot.ask("what is my name?",conversationId);console.log(response);
>> You told me your name is Mehul.
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";bot.resetConversation(conversationId)// resetting conversationletresponse=awaitbot.ask("what is my name?",conversationId);console.log(response);
>> I understand that you are trying to get me to say your name, but...

6. How To Get All Your Previous Conversations?

In order to retrieve all your conversations, you may either implement the functionality through a custom logic or simply use the built-inbot.getAllConversations(). .A usage of it is given below:

import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{savePath:"./conversations.json",});letresponse=bot.getAllConversations()console.log(response)// returns an array of different conversations

7. How To Get A Single Conversation By ID?

import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";awaitbot.waitForLoad();letresponse=bot.getConversationById(conversationId);console.log(response);// returns an object

Examples

A simple example has been added to theexamples directory which shows how GoogleBard can be used to create a CLI chatbot. More such examples are yet to be added, so stay tuned!

Sponsor this project

    Packages

    No packages published

    [8]ページ先頭

    ©2009-2025 Movatter.jp