This web application serves to be an alternative to ChatGPT, creating a familiar environment with a similar user interface. It uses OpenAI's developer API, allowing users to use OpenAI's stronger models without the need of paying a subscription.
The app is built with ease of use in mind, keeping everything very simple. Everything can be found within the directory of which the app is stored in.
Updating to the latest version of the application is highly recommended for bug fixes and to get new models.
This project is made with the runtime Bun in mind (with Node.JS support), and is written in TypeScript.
Note that this app does NOT cover the cost of using the models for you.
Overview/Features:
- Able to use any of OpenAI's models (if technical users need a specific model,
models.tscan be modified) - Locally stored conversations and data (in a place where it is easy to find and accessible)
- Estimates input cost by calculating the number of tokens and applying the model's pricing
- Made to be lightweight as possible, whilst keeping it robust and maintaining ease of use and configurability
- User interface built from the ground up, with support for showing images and code
This app is recommended if you:
- use ChatGPT, but not on both a daily and frequent basis
- require a stronger OpenAI model than the models ChatGPT (Free Plan) provides
- often require image or file input
The default model that is set is gpt-4o.
Note that you do not need to edit settings.json as all settings are configurable in the app itself.
- Download the latest version of ChatBeyond from the Releases section of the repository.
- Extract the contents of the zip file that you have downloaded.
- Prepare an API key if you have not done so already over at OpenAI's website.
- Open the app and go to settings.
- Put your API key in.
- Ensure that Bun is installed and ready.
- Download source code and install necessary packages via
bun install. - Prepare an API key if you have not done so already over at OpenAI's website.
- Run the app (via
bun dev). - Go to settings in the app and put your API key in.
- Download source code and install necessary packages via
npm install. - Compile TypeScript to JavaScript by running
npm run node:compile. - Prepare an API key if you have not done so already over at OpenAI's website.
- Run the app using
npm run node:devandnpm run client:devin another terminal.- If a single terminal is preferred,
npm run client:buildcan be run to build the client code and thennpm run node:devfor running the app.
- If a single terminal is preferred,
- Go to settings in the app and put your API key in.
Settings, chats and files are stored within the data directory, which is created when the app is opened.
The models that are provided have been tested and are more than enough for layman/regular users' needs.
But if a specific model is required and you are a technical user, more models can be added by modifying models.ts.
This project was made primarily with Bun in mind, with the executable in Releases being produced by Bun's bundler.
It should be noted that the cost calculator does not take tokens from reasoning into consideration.
Images and PDF files are passed directly to OpenAI's API, whereas text files (.txt, .docx, .js, .cs, etc.) are extracted and passed as a text input.
A file size limit of 100 MB is imposed currently.
| File Format | Supported |
|---|---|
| Text files | ✅ |
| Code files | ✅ |
| Images | ✅ |
| Videos | ❌ |
| Audio | ❌ |
| Documents | ✅ |
| Spreadsheets | |
| PDF files | ✅ |
| Presentation files | ❌ |
| Archive files | ❌ |
| Executables | ❌ |
| Font files | ❌ |
.csv files are completely fine.
This is for the executable from Releases.
Extracting the new release, without deleting the older files, is generally fine, but is not recommended.
The recommended way of updating is to delete all files and folders except for data and then extract the new release as usual.
The user interface can be built via the following command.
bun run client:build
npm run client:build
The executables can be generated via the following commands using Bun.
bun run build:windows
or
bun build index.ts --compile --target=bun-windows-x64 --outfile output/ChatBeyond-windows-x64
bun run build:mac
or
bun build index.ts --compile --target=bun-darwin-arm64 --outfile output/ChatBeyond-macos-arm64