Skip to content

Repository files navigation

ChatBeyond

GitHub Release GitHub License

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.ts can 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:

  1. use ChatGPT, but not on both a daily and frequent basis
  2. require a stronger OpenAI model than the models ChatGPT (Free Plan) provides
  3. often require image or file input

Settings

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.

How to use

For Non-Programmers

  1. Download the latest version of ChatBeyond from the Releases section of the repository.
  2. Extract the contents of the zip file that you have downloaded.
  3. Prepare an API key if you have not done so already over at OpenAI's website.
  4. Open the app and go to settings.
  5. Put your API key in.

For Programmers or Technical Users

Bun
  1. Ensure that Bun is installed and ready.
  2. Download source code and install necessary packages via bun install.
  3. Prepare an API key if you have not done so already over at OpenAI's website.
  4. Run the app (via bun dev).
  5. Go to settings in the app and put your API key in.
Node.JS
  1. Download source code and install necessary packages via npm install.
  2. Compile TypeScript to JavaScript by running npm run node:compile.
  3. Prepare an API key if you have not done so already over at OpenAI's website.
  4. Run the app using npm run node:dev and npm run client:dev in another terminal.
    • If a single terminal is preferred, npm run client:build can be run to build the client code and then npm run node:dev for running the app.
  5. Go to settings in the app and put your API key in.

Technical Info

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.

File Input

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

⚠️ Spreadsheets - Excel spreadsheets are not supported, but .csv files are completely fine.

Recommended Method for Updating

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.

Build

Client/Frontend

The user interface can be built via the following command.

Bun
bun run client:build
NPM
npm run client:build

Server/Executable

The executables can be generated via the following commands using Bun.

Windows
bun run build:windows

or

bun build index.ts --compile --target=bun-windows-x64 --outfile output/ChatBeyond-windows-x64
MacOS
bun run build:mac

or

bun build index.ts --compile --target=bun-darwin-arm64 --outfile output/ChatBeyond-macos-arm64

About

A web application for OpenAI's API made with TypeScript

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages