chatgpt-api/readme.md

425 wiersze
20 KiB
Markdown
Czysty Zwykły widok Historia

2023-02-19 07:56:19 +00:00
<p align="center">
<img alt="Example usage" src="/media/demo.gif">
</p>
## Updates <!-- omit in toc -->
<details open>
<summary><strong>Feb 19, 2023</strong></summary>
We now provide three ways of accessing the unofficial ChatGPT API, all of which have tradeoffs:
2023-02-19 08:03:12 +00:00
| Method | Free? | Robust? | Quality? |
| --------------------------- | ------ | -------- | ----------------- |
| `ChatGPTAPI` | ❌ No | ✅ Yes | ☑️ Mimics ChatGPT |
| `ChatGPTUnofficialProxyAPI` | ✅ Yes | ☑️ Maybe | ✅ Real ChatGPT |
| `ChatGPAPIBrowser` (v3) | ✅ Yes | ❌ No | ✅ Real ChatGPT |
**Note**: I recommend that you use either `ChatGPTAPI` or `ChatGPTUnofficialProxyAPI`.
2023-02-19 07:56:19 +00:00
2023-02-19 08:06:33 +00:00
1. `ChatGPTAPI` - Uses `text-davinci-003` to mimic ChatGPT via the official OpenAI completions API (most robust approach, but it's not free and doesn't use a model fine-tuned for chat)
2023-02-19 08:10:58 +00:00
2. `ChatGPTUnofficialProxyAPI` - Uses an unofficial proxy server to access ChatGPT's backend API in a way that circumvents Cloudflare (uses the real ChatGPT and is pretty lightweight, but relies on a third-party server and is rate-limited)
2023-02-19 08:06:33 +00:00
3. `ChatGPTAPIBrowser` - (v3.5.1 of this package) Uses Puppeteer to access the official ChatGPT webapp (uses the real ChatGPT, but very flaky, heavyweight, and error prone)
2023-02-19 07:56:19 +00:00
</details>
2023-02-19 08:04:19 +00:00
<details>
2023-02-19 07:56:19 +00:00
<summary><strong>Previous Updates</strong></summary>
<br/>
<details>
<summary><strong>Feb 5, 2023</strong></summary>
OpenAI has disabled the leaked chat model we were previously using, so we're now defaulting to `text-davinci-003`, which is not free.
We've found several other hidden, fine-tuned chat models, but OpenAI keeps disabling them, so we're searching for alternative workarounds.
</details>
<details>
<summary><strong>Feb 1, 2023</strong></summary>
2022-12-12 01:52:50 +00:00
2023-02-01 13:09:04 +00:00
This package no longer requires any browser hacks – **it is now using the official OpenAI completions API** with a leaked model that ChatGPT uses under the hood. 🔥
```ts
2023-02-01 10:58:25 +00:00
import { ChatGPTAPI } from 'chatgpt'
2023-02-01 10:58:25 +00:00
const api = new ChatGPTAPI({
apiKey: process.env.OPENAI_API_KEY
})
2023-02-01 10:58:25 +00:00
const res = await api.sendMessage('Hello World!')
console.log(res.text)
```
2023-02-02 05:28:39 +00:00
Please upgrade to `chatgpt@latest` (at least [v4.0.0](https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v4.0.0)). The updated version is **significantly more lightweight and robust** compared with previous versions. You also don't have to worry about IP issues or rate limiting.
2023-02-01 11:10:43 +00:00
2023-02-02 05:28:39 +00:00
Huge shoutout to [@waylaidwanderer](https://github.com/waylaidwanderer) for discovering the leaked chat model!
2023-01-12 10:04:31 +00:00
2023-02-19 07:56:19 +00:00
</details>
2023-02-19 08:05:05 +00:00
</details>
2023-02-19 07:56:19 +00:00
2023-01-12 10:04:31 +00:00
If you run into any issues, we do have a pretty active [Discord](https://discord.gg/v9gERj825w) with a bunch of ChatGPT hackers from the Node.js & Python communities.
2022-12-12 18:41:19 +00:00
Lastly, please consider starring this repo and <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a> to help support the project.
2022-12-12 17:35:28 +00:00
Thanks && cheers,
[Travis](https://twitter.com/transitive_bs)
2022-12-12 01:52:50 +00:00
2022-12-02 23:43:59 +00:00
# ChatGPT API <!-- omit in toc -->
2022-12-05 05:13:36 +00:00
> Node.js client for the unofficial [ChatGPT](https://openai.com/blog/chatgpt/) API.
2022-12-02 23:43:59 +00:00
[![NPM](https://img.shields.io/npm/v/chatgpt.svg)](https://www.npmjs.com/package/chatgpt) [![Build Status](https://github.com/transitive-bullshit/chatgpt-api/actions/workflows/test.yml/badge.svg)](https://github.com/transitive-bullshit/chatgpt-api/actions/workflows/test.yml) [![MIT License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/transitive-bullshit/chatgpt-api/blob/main/license) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io)
- [Intro](#intro)
2022-12-03 05:06:26 +00:00
- [Install](#install)
2023-02-19 09:25:11 +00:00
- [Usage](#usage)
- [Usage - ChatGPTAPI](#usage---chatgptapi)
- [Usage - ChatGPTUnofficialProxyAPI](#usage---chatgptunofficialproxyapi)
- [Reverse Proxies](#reverse-proxies)
- [Access Tokens](#access-tokens)
2023-02-19 08:09:19 +00:00
- [Docs](#docs)
- [Demos](#demos)
2022-12-07 04:29:10 +00:00
- [Projects](#projects)
2022-12-07 00:19:30 +00:00
- [Compatibility](#compatibility)
2022-12-07 04:29:10 +00:00
- [Credits](#credits)
2022-12-02 23:43:59 +00:00
- [License](#license)
## Intro
2022-12-03 05:34:15 +00:00
This package is a Node.js wrapper around [ChatGPT](https://openai.com/blog/chatgpt) by [OpenAI](https://openai.com). TS batteries included. ✨
2022-12-03 00:04:53 +00:00
2022-12-03 05:57:23 +00:00
You can use it to start building projects powered by ChatGPT like chatbots, websites, etc...
2022-12-03 00:04:53 +00:00
2022-12-03 05:06:26 +00:00
## Install
```bash
2023-02-01 10:58:25 +00:00
npm install chatgpt
2022-12-03 05:06:26 +00:00
```
2023-02-01 11:52:13 +00:00
Make sure you're using `node >= 18` so `fetch` is available (or `node >= 14` if you install a [fetch polyfill](https://github.com/developit/unfetch#usage-as-a-polyfill)).
2023-02-19 09:25:11 +00:00
## Usage
You need to pick between two methods:
| Method | Free? | Robust? | Quality? |
| --------------------------- | ------ | -------- | ----------------- |
| `ChatGPTAPI` | ❌ No | ✅ Yes | ☑️ Mimics ChatGPT |
| `ChatGPTUnofficialProxyAPI` | ✅ Yes | ☑️ Maybe | ✅ Real ChatGPT |
1. `ChatGPTAPI` - Uses `text-davinci-003` to mimic ChatGPT via the official OpenAI completions API (most robust approach, but it's not free and doesn't use a model fine-tuned for chat). You can override the model, completion params, and prompt to fully customize your bot.
2. `ChatGPTUnofficialProxyAPI` - Uses an unofficial proxy server to access ChatGPT's backend API in a way that circumvents Cloudflare (uses the real ChatGPT and is pretty lightweight, but relies on a third-party server and is rate-limited)
### Usage - ChatGPTAPI
2022-12-07 19:23:35 +00:00
2023-02-01 10:58:25 +00:00
Sign up for an [OpenAI API key](https://platform.openai.com/overview) and store it in your environment.
```ts
2023-02-01 10:58:25 +00:00
import { ChatGPTAPI } from 'chatgpt'
async function example() {
2023-02-01 10:58:25 +00:00
const api = new ChatGPTAPI({
apiKey: process.env.OPENAI_API_KEY
})
2023-02-01 10:58:25 +00:00
const res = await api.sendMessage('Hello World!')
console.log(res.text)
}
```
2023-02-19 09:21:13 +00:00
You can override the default `model` (`text-davinci-003`) and any [OpenAI completion params](https://platform.openai.com/docs/api-reference/completions/create) using `completionParams`:
```ts
const api = new ChatGPTAPI({
apiKey: process.env.OPENAI_API_KEY,
completionParams: {
temperature: 0.5,
top_p: 0.8
}
})
```
2023-02-02 00:20:48 +00:00
If you want to track the conversation, you'll need to pass the `parentMessageid` and `conversationid`:
2022-12-07 00:27:55 +00:00
```ts
2023-02-01 10:58:25 +00:00
const api = new ChatGPTAPI({ apiKey: process.env.OPENAI_API_KEY })
2022-12-07 00:27:55 +00:00
// send a message and wait for the response
2022-12-18 06:17:57 +00:00
let res = await api.sendMessage('What is OpenAI?')
2023-02-01 10:58:25 +00:00
console.log(res.text)
2022-12-07 00:27:55 +00:00
// send a follow-up
2022-12-18 06:17:57 +00:00
res = await api.sendMessage('Can you expand on that?', {
2022-12-17 09:56:06 +00:00
conversationId: res.conversationId,
2023-02-01 10:58:25 +00:00
parentMessageId: res.id
2022-12-17 09:56:06 +00:00
})
2023-02-01 10:58:25 +00:00
console.log(res.text)
2022-12-07 00:27:55 +00:00
// send another follow-up
2022-12-18 06:17:57 +00:00
res = await api.sendMessage('What were we talking about?', {
2022-12-17 09:56:06 +00:00
conversationId: res.conversationId,
2023-02-01 10:58:25 +00:00
parentMessageId: res.id
2022-12-17 09:56:06 +00:00
})
2023-02-01 10:58:25 +00:00
console.log(res.text)
2022-12-07 00:27:55 +00:00
```
2023-02-01 10:58:25 +00:00
You can add streaming via the `onProgress` handler:
2022-12-07 04:29:10 +00:00
2023-02-01 10:58:25 +00:00
```ts
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)
2023-02-01 10:58:25 +00:00
})
// print the full text at the end
console.log(res.text)
2023-02-01 10:58:25 +00:00
```
You can add a timeout using the `timeoutMs` option:
2022-12-07 04:29:10 +00:00
```ts
// timeout after 2 minutes (which will also abort the underlying HTTP request)
const response = await api.sendMessage(
'write me a really really long essay on frogs',
{
timeoutMs: 2 * 60 * 1000
}
)
```
If you want to see more info about what's actually being sent to [OpenAI's completions API](https://platform.openai.com/docs/api-reference/completions), set the `debug: true` option in the `ChatGPTAPI` constructor:
```ts
const api = new ChatGPTAPI({
apiKey: process.env.OPENAI_API_KEY,
debug: true
2022-12-07 04:29:10 +00:00
})
```
You'll notice that we're using a reverse-engineered `promptPrefix` and `promptSuffix`. You can customize these via the `sendMessage` options:
```ts
const res = await api.sendMessage('what is the answer to the universe?', {
2023-02-19 09:21:13 +00:00
promptPrefix: `You are ChatGPT, a large language model trained by OpenAI. You answer as concisely as possible for each responseIf you are generating a list, do not have too many items.
Current date: ${new Date().toISOString()}\n\n`
})
```
Note that we automatically handle appending the previous messages to the prompt and attempt to optimize for the available tokens (which defaults to `4096`).
2022-12-07 04:15:58 +00:00
<details>
<summary>Usage in CommonJS (Dynamic import)</summary>
```js
async function example() {
2022-12-07 04:15:58 +00:00
// To use ESM in CommonJS, you can use a dynamic import
2023-02-01 10:58:25 +00:00
const { ChatGPTAPI } = await import('chatgpt')
2023-02-01 10:58:25 +00:00
const api = new ChatGPTAPI({ apiKey: process.env.OPENAI_API_KEY })
2023-02-01 10:58:25 +00:00
const res = await api.sendMessage('Hello World!')
console.log(res.text)
}
```
2022-12-07 04:15:58 +00:00
</details>
2023-02-19 09:25:11 +00:00
### Usage - ChatGPTUnofficialProxyAPI
2023-02-19 07:56:19 +00:00
The API is almost exactly the same for the `ChatGPTUnofficialProxyAPI`; you just need to provide a ChatGPT `accessToken` instead of an OpenAI API key.
```ts
import { ChatGPTUnofficialProxyAPI } from 'chatgpt'
async function example() {
const api = new ChatGPTUnofficialProxyAPI({
accessToken: process.env.OPENAI_ACCESS_TOKEN
})
const res = await api.sendMessage('Hello World!')
console.log(res.text)
}
```
See [demos/demo-reverse-proxy](./demos/demo-reverse-proxy.ts) for a full example:
```bash
npx tsx demos/demo-reverse-proxy.ts
```
2023-02-19 09:25:11 +00:00
#### Reverse Proxies
2023-02-19 08:12:59 +00:00
2023-02-19 08:14:46 +00:00
You can override the reverse proxy by passing `apiReverseProxyUrl` to `ChatGPTUnofficialProxyAPI`:
```ts
const api = new ChatGPTUnofficialProxyAPI({
accessToken: process.env.OPENAI_ACCESS_TOKEN,
apiReverseProxyUrl: 'https://your-example-server.com/api/conversation'
})
```
Known reverse proxies run by community members include:
2023-02-19 07:56:19 +00:00
| Reverse Proxy URL | Author | Rate Limits | Last Checked |
| ------------------------------------------------ | -------------------------------------------- | ----------- | ------------ |
| `https://chat.duti.tech/api/conversation` | [@acheong08](https://github.com/acheong08) | 50 req/min | 2/19/2023 |
| `https://gpt.pawan.krd/backend-api/conversation` | [@PawanOsman](https://github.com/PawanOsman) | ? | 2/19/2023 |
2023-02-19 09:25:11 +00:00
#### Access Tokens
2023-02-19 07:56:19 +00:00
To use `ChatGPTUnofficialProxyAPI`, you'll need a ChatGPT access token. You can either:
1. Use [acheong08/OpenAIAuth](https://github.com/acheong08/OpenAIAuth), which is a python script to login and get an access token automatically. This works with email + password accounts (e.g., it does not support accounts where you auth using Microsoft / Google).
2023-02-19 08:37:31 +00:00
2. You can manually get an `accessToken` by logging in to the ChatGPT webapp and then opening `https://chat.openai.com/api/auth/session`, which will return a JSON object containing your `accessToken` string.
2023-02-19 07:56:19 +00:00
2023-02-19 08:12:59 +00:00
**Note**: using a reverse proxy will expose your access token to a third-party. There shouldn't be any adverse effects possible from this, but please consider the risks before using this method.
2023-02-19 08:09:19 +00:00
## Docs
2022-12-07 00:27:55 +00:00
2023-02-02 00:15:56 +00:00
See the [auto-generated docs](./docs/classes/ChatGPTAPI.md) for more info on methods and parameters.
2022-12-07 00:27:55 +00:00
2023-02-19 08:09:19 +00:00
## Demos
Most of the demos use `ChatGPTAPI`. It should be pretty easy to convert them to use `ChatGPTUnofficialProxyAPI` if you'd rather use that approach. The only thing that needs to change is how you initialize the api with an `accessToken` instead of an `apiKey`.
2022-12-07 00:27:55 +00:00
To run the included demos:
1. clone repo
2. install node deps
2023-02-01 10:58:25 +00:00
3. set `OPENAI_API_KEY` in .env
A [basic demo](./demos/demo.ts) is included for testing purposes:
2022-12-03 00:53:24 +00:00
2022-12-03 05:59:20 +00:00
```bash
2022-12-13 04:07:58 +00:00
npx tsx demos/demo.ts
2022-12-03 00:53:24 +00:00
```
A [demo showing on progress handler](./demos/demo-on-progress.ts):
```bash
npx tsx demos/demo-on-progress.ts
```
2023-01-12 10:04:31 +00:00
The on progress demo uses the optional `onProgress` parameter to `sendMessage` to receive intermediary results as ChatGPT is "typing".
A [conversation demo](./demos/demo-conversation.ts):
2022-12-02 23:43:59 +00:00
2022-12-07 00:27:55 +00:00
```bash
2022-12-13 04:07:58 +00:00
npx tsx demos/demo-conversation.ts
2022-12-07 00:27:55 +00:00
```
2022-12-02 23:43:59 +00:00
2023-02-02 00:18:12 +00:00
A [persistence demo](./demos/demo-persistence.ts) shows how to store messages in Redis for persistence:
2022-12-18 07:37:29 +00:00
2023-02-01 10:58:25 +00:00
```bash
npx tsx demos/demo-persistence.ts
2022-12-18 22:23:02 +00:00
```
2023-02-01 10:58:25 +00:00
Any [keyv adaptor](https://github.com/jaredwray/keyv) is supported for persistence, and there are overrides if you'd like to use a different way of storing / retrieving messages.
2022-12-12 17:35:28 +00:00
2023-02-19 09:18:05 +00:00
Note that persisting message is required for remembering the context of previous conversations beyond the scope of the current Node.js process, since by default, we only store messages in memory. Here's an [external demo](https://github.com/transitive-bullshit/chatgpt-twitter-bot/blob/main/src/index.ts#L86-L95) of using a completely custom database solution to persist messages.
2022-12-05 22:15:16 +00:00
2023-02-19 09:18:05 +00:00
**Note**: Persistence is handled automatically when using `ChatGPTUnofficialProxyAPI` because it is connecting indirectly to ChatGPT.
2023-02-19 08:57:39 +00:00
2022-12-07 04:29:10 +00:00
## Projects
2022-12-02 23:43:59 +00:00
2022-12-05 22:15:16 +00:00
All of these awesome projects are built using the `chatgpt` package. 🤯
2022-12-04 11:11:18 +00:00
- [Twitter Bot](https://github.com/transitive-bullshit/chatgpt-twitter-bot) powered by ChatGPT ✨
2022-12-04 09:15:21 +00:00
- Mention [@ChatGPTBot](https://twitter.com/ChatGPTBot) on Twitter with your prompt to try it out
- [ChatGPT API Server](https://github.com/waylaidwanderer/node-chatgpt-api) - API server for this package with support for multiple OpenAI accounts, proxies, and load-balancing requests between accounts.
2023-02-07 01:13:54 +00:00
- [ChatGPT Prompts](https://github.com/pacholoamit/chatgpt-prompts) - A collection of 140+ of the best ChatGPT prompts from the community.
2022-12-14 19:07:26 +00:00
- [Lovelines.xyz](https://lovelines.xyz?ref=chatgpt-api)
2022-12-04 18:48:40 +00:00
- [Chrome Extension](https://github.com/gragland/chatgpt-everywhere) ([demo](https://twitter.com/gabe_ragland/status/1599466486422470656))
2022-12-07 14:24:10 +00:00
- [VSCode Extension #1](https://github.com/mpociot/chatgpt-vscode) ([demo](https://twitter.com/marcelpociot/status/1599180144551526400), [updated version](https://github.com/timkmecl/chatgpt-vscode), [marketplace](https://marketplace.visualstudio.com/items?itemName=timkmecl.chatgpt))
2022-12-07 02:10:02 +00:00
- [VSCode Extension #2](https://github.com/barnesoir/chatgpt-vscode-plugin) ([marketplace](https://marketplace.visualstudio.com/items?itemName=JayBarnes.chatgpt-vscode-plugin))
- [VSCode Extension #3](https://github.com/gencay/vscode-chatgpt) ([marketplace](https://marketplace.visualstudio.com/items?itemName=gencay.vscode-chatgpt))
- [VSCode Extension #4](https://github.com/dogukanakkaya/chatgpt-code-vscode-extension) ([marketplace](https://marketplace.visualstudio.com/items?itemName=dogukanakkaya.chatgpt-code))
2022-12-08 10:38:18 +00:00
- [Raycast Extension #1](https://github.com/abielzulio/chatgpt-raycast) ([demo](https://twitter.com/abielzulio/status/1600176002042191875))
- [Raycast Extension #2](https://github.com/domnantas/raycast-chatgpt)
2022-12-08 22:18:51 +00:00
- [Telegram Bot #1](https://github.com/realies/chatgpt-telegram-bot)
- [Telegram Bot #2](https://github.com/dawangraoming/chatgpt-telegram-bot)
2022-12-26 02:14:25 +00:00
- [Telegram Bot #3](https://github.com/RainEggplant/chatgpt-telegram-bot) (group privacy mode, ID-based auth)
2023-01-02 00:18:18 +00:00
- [Telegram Bot #4](https://github.com/ArdaGnsrn/chatgpt-telegram) (queue system, ID-based chat thread)
2022-12-09 11:35:24 +00:00
- [Deno Telegram Bot](https://github.com/Ciyou/chatbot-telegram)
- [Go Telegram Bot](https://github.com/m1guelpf/chatgpt-telegram)
2022-12-29 07:15:25 +00:00
- [Telegram Bot for YouTube Summaries](https://github.com/codextde/youtube-summary)
- [GitHub ProBot](https://github.com/oceanlvr/ChatGPTBot)
- [Discord Bot #1](https://github.com/onury5506/Discord-ChatGPT-Bot)
- [Discord Bot #2](https://github.com/Nageld/ChatGPT-Bot)
2022-12-08 21:31:41 +00:00
- [Discord Bot #3](https://github.com/leinstay/gptbot)
- [Discord Bot #4 (selfbot)](https://github.com/0x7030676e31/cumsocket)
2023-01-21 00:44:01 +00:00
- [Discord Bot #5](https://github.com/itskdhere/ChatGPT-Discord-BOT)
2023-01-22 07:05:08 +00:00
- [Discord Bot #6 (Shakespeare bot)](https://gist.github.com/TheBrokenRail/4b37e7c44e8f721d8bd845050d034c16)
- [WeChat Bot #1](https://github.com/AutumnWhj/ChatGPT-wechat-bot)
- [WeChat Bot #2](https://github.com/fuergaosi233/wechat-chatgpt)
2022-12-08 12:50:52 +00:00
- [WeChat Bot #3](https://github.com/wangrongding/wechat-bot)
2022-12-09 02:21:47 +00:00
- [WeChat Bot #4](https://github.com/darknightlab/wechat-bot)
2022-12-09 07:55:37 +00:00
- [WeChat Bot #5](https://github.com/sunshanpeng/wechaty-chatgpt)
2022-12-08 03:03:30 +00:00
- [QQ Bot (plugin for Yunzai-bot)](https://github.com/ikechan8370/chatgpt-plugin)
2022-12-09 05:24:55 +00:00
- [QQ Bot (plugin for KiviBot)](https://github.com/KiviBotLab/kivibot-plugin-chatgpt)
2022-12-09 14:33:28 +00:00
- [QQ Bot (oicq)](https://github.com/easydu2002/chat_gpt_oicq)
2022-12-10 02:37:08 +00:00
- [QQ Bot (oicq + RabbitMQ)](https://github.com/linsyking/ChatGPT-QQBot)
- [QQ Bot (go-cqhttp)](https://github.com/PairZhu/ChatGPT-QQRobot)
2022-12-05 22:15:16 +00:00
- [EXM smart contracts](https://github.com/decentldotland/molecule)
2022-12-06 14:26:24 +00:00
- [Flutter ChatGPT API](https://github.com/coskuncay/flutter_chatgpt_api)
2022-12-07 23:37:33 +00:00
- [Carik Bot](https://github.com/luridarmawan/Carik)
2022-12-08 05:34:36 +00:00
- [Github Action for reviewing PRs](https://github.com/kxxt/chatgpt-action/)
2022-12-11 00:56:19 +00:00
- [WhatsApp Bot #1](https://github.com/pascalroget/whatsgpt) (multi-user support)
- [WhatsApp Bot #2](https://github.com/amosayomide05/chatgpt-whatsapp-bot)
2022-12-12 11:40:57 +00:00
- [WhatsApp Bot #3](https://github.com/navopw/whatsapp-chatgpt)
2023-01-09 10:29:12 +00:00
- [WhatsApp Bot #4](https://github.com/noelzappy/chatgpt-whatsapp) (schedule periodic messages)
- [WhatsApp Bot #5](https://github.com/hujanais/bs-chat-gpt3-api) (RaspberryPi + ngrok + Twilio)
- [Matrix Bot](https://github.com/matrixgpt/matrix-chatgpt-bot)
2022-12-10 06:47:42 +00:00
- [Rental Cover Letter Generator](https://sharehouse.app/ai)
2022-12-10 20:57:14 +00:00
- [Assistant CLI](https://github.com/diciaup/assistant-cli)
2022-12-11 07:51:31 +00:00
- [Teams Bot](https://github.com/formulahendry/chatgpt-teams-bot)
- [Askai](https://github.com/yudax42/askai)
- [TalkGPT](https://github.com/ShadovvBeast/TalkGPT)
2023-01-14 23:03:38 +00:00
- [ChatGPT With Voice](https://github.com/thanhsonng/chatgpt-voice)
2022-12-13 18:28:07 +00:00
- [iOS Shortcut](https://github.com/leecobaby/shortcuts/blob/master/other/ChatGPT_EN.md)
2022-12-28 16:29:05 +00:00
- [Slack Bot #1](https://github.com/trietphm/chatgpt-slackbot/)
- [Slack Bot #2](https://github.com/lokwkin/chatgpt-slackbot-node/) (with queueing mechanism)
- [Slack Bot #3](https://github.com/NessunKim/slack-chatgpt/)
2023-02-05 22:29:54 +00:00
- [Slack Bot #4](https://github.com/MarkusGalant/chatgpt-slackbot-serverless/) ( Serverless AWS Lambda )
2022-12-17 16:28:28 +00:00
- [Electron Bot](https://github.com/ShiranAbir/chaty)
- [Kodyfire CLI](https://github.com/nooqta/chatgpt-kodyfire)
2022-12-18 19:52:41 +00:00
- [Twitch Bot](https://github.com/BennyDeeDev/chatgpt-twitch-bot)
- [Continuous Conversation](https://github.com/DanielTerletzkiy/chat-gtp-assistant)
2022-12-20 04:20:06 +00:00
- [Figma plugin](https://github.com/frederickk/chatgpt-figma-plugin)
2023-01-02 01:25:27 +00:00
- [NestJS server](https://github.com/RusDyn/chatgpt_nestjs_server)
- [NestJS ChatGPT Starter Boilerplate](https://github.com/mitkodkn/nestjs-chatgpt-starter)
2023-01-05 21:18:17 +00:00
- [Wordsmith: Add-in for Microsoft Word](https://github.com/xtremehpx/Wordsmith)
2023-01-12 14:08:37 +00:00
- [QuizGPT: Create Kahoot quizzes with ChatGPT](https://github.com/Kladdy/quizgpt)
2023-02-02 13:48:52 +00:00
- [openai-chatgpt: Talk to ChatGPT from the terminal](https://github.com/gmpetrov/openai-chatgpt)
2023-02-05 00:21:06 +00:00
- [Clippy the Saleforce chatbot](https://github.com/sebas00/chatgptclippy) ClippyJS joke bot
2023-02-12 21:28:48 +00:00
- [ai-assistant](https://github.com/youking-lib/ai-assistant) Chat assistant
- [Feishu Bot](https://github.com/linjungz/feishu-chatgpt-bot)
2023-01-05 21:18:17 +00:00
2022-12-04 11:11:18 +00:00
If you create a cool integration, feel free to open a PR and add it to the list.
2022-12-07 04:29:10 +00:00
## Compatibility
2023-02-01 10:58:25 +00:00
- This package is ESM-only.
- This package supports `node >= 14`.
- This module assumes that `fetch` is installed.
- In `node >= 18`, it's installed by default.
2023-02-19 07:56:19 +00:00
- In `node < 18`, you need to install a polyfill like `unfetch/polyfill` ([guide](https://github.com/developit/unfetch#usage-as-a-polyfill)) or `isomorphic-fetch` ([guide](https://github.com/matthew-andrews/isomorphic-fetch#readme)).
2022-12-12 17:41:26 +00:00
- If you want to build a website using `chatgpt`, we recommend using it only from your backend API
2022-12-07 04:29:10 +00:00
## Credits
2022-12-04 10:09:35 +00:00
2022-12-18 06:17:57 +00:00
- Huge thanks to [@waylaidwanderer](https://github.com/waylaidwanderer), [@abacaj](https://github.com/abacaj), [@wong2](https://github.com/wong2), [@simon300000](https://github.com/simon300000), [@RomanHotsiy](https://github.com/RomanHotsiy), [@ElijahPepe](https://github.com/ElijahPepe), and all the other contributors 💪
2022-12-05 05:34:15 +00:00
- The original browser version was inspired by this [Go module](https://github.com/danielgross/whatsapp-gpt) by [Daniel Gross](https://github.com/danielgross)
2022-12-07 19:21:38 +00:00
- [OpenAI](https://openai.com) for creating [ChatGPT](https://openai.com/blog/chatgpt/) 🔥
2022-12-02 23:43:59 +00:00
## License
MIT © [Travis Fischer](https://transitivebullsh.it)
2022-12-07 04:29:10 +00:00
If you found this project interesting, please consider [sponsoring me](https://github.com/sponsors/transitive-bullshit) or <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>