bing-chat-patch
v0.2.4
Published
Node.js client for the unofficial Bing Chat API.
Downloads
8
Maintainers
Readme
Bing Chat API
Node.js client for the unofficial Bing Chat API. It's like ChatGPT on steroids 🔥
Intro
This package is a Node.js wrapper around Bing Chat by Microsoft. TS batteries included. ✨
Warning This package is a reverse-engineered hack. I do not expect it to continue working long-term, and it is not meant for use in production. I'm building this in public, and you can follow the progress on Twitter @transitive_bs.
Demo
Install
npm install bing-chat
Make sure you're using node >= 18
so fetch
is available.
Usage
npm install bing-chat-patch
#Create your bing proxy, see https://github.com/adams549659584/go-proxy-bingai
export BING_HOST=<your_bing_host> #Please do not include https/http.
import { BingChat } from 'bing-chat-patch';
import dotenv from 'dotenv';
dotenv.config();
You need access to Bing Chat OR a valid cookie from someone who has access.
The cookie you need from Bing is the _U
cookie (or just all of the cookies concatenated together; both will work).
import { BingChat } from 'bing-chat'
async function example() {
const api = new BingChat({
cookie: process.env.BING_COOKIE
})
const res = await api.sendMessage('Hello World!')
console.log(res.text)
}
You can follow-up messages to continue the conversation. See demos/demo-conversation.ts
for an example.
Note that Bing Chat conversations expire after about 20 minutes, so they're not meant to be long-term objects.
You can add streaming via the onProgress
handler:
const res = await api.sendMessage('Write a 500 word essay on frogs.', {
// print the partial response as the AI is "typing"
onProgress: (partialResponse) => console.log(partialResponse.text)
})
// print the full text at the end
console.log(res.text)
See demos/demo-on-progress.ts
for a full example of streaming support.
You can also add the the parameter variant
to the sendMessage
function to change the variant of the AI. The default is Balanced
, but you can also use Precise
or Creative
.
const res = await api.sendMessage('Write a 500 word essay on frogs.', {
// change the variant to 'Precise'
variant: 'Creative'
})
Projects
If you create a cool integration, feel free to open a PR and add it to the list.
Compatibility
- This package is ESM-only.
- This package supports
node >= 18
. - This module assumes that
fetch
is installed globally. - If you want to build a website using
bing-chat
, we recommend using it only from your backend API
Credit
- Thanks to waylaidwanderer and canfam for helping to reverse-engineer the API 💪
Related
- chatgpt - Node.js client for the unofficial ChatGPT API. Same author as this package.
- discord - Join our discord server for hackers building on top of ChatGPT / Bing / LLMs.
License
MIT © Travis Fischer
If you found this project interesting, please consider sponsoring me or following me on twitter