- Call the OpenAI API and use fetch to handle readable streams.
- Associate communication context.
- Use marked to solve issues with markdown syntax.
- Use highlight.js for syntax highlighting.
- Use tailwindcss for styling.
- Use CryptoJS for symmetric encryption of the sk (secret key).
- Encapsulate the ChatStorageManager class, using indexedDB to cache chat records.
Because, when you are using OpenAI's official ChatGPT service, much of your information is sent to the server for checks, which helps determine whether you are in an area they can serve, or whether you are using a VPN for proxy, etc. Therefore, directly communicating with OpenAI's interface is the most convenient and efficient method. Hence, this open-source project was created.
npm run dev
npm run build