Chatwire is a clone of ChatGPT made with Laravel Breeze using Livewire and the OpenAI PHP client (Chat and Audio Resource). It also supports a command interface for asking questions to ChatGPT using Laravel Prompts.
In this project, we have a Laravel 11 Breeze with Livewire, a login session, and access to OpenAI's ChatGPT API. The entire Laravel project is based on TailwindCSS using Flowbite, Vite.js to compile scripts, MySQL. As far as the extra packages Flowbite, Laravel-Livewire, openai-php, livewire-alert, Laravel Prompts are used.
Chatwire is a Laravel-based project that calls OpenAI's API and displays the responses in Laravel Breeze Dashboard using Livewire. When you finish your ChatBot conversation, you can send it in your email or save it for future use. You can see your saved conversations on the dashboard page using pagination.
Now, you can upload your audio files to create transcription using Audio Resource of OpenAI.
-
All ChatGPT Models (GPT-4)
-
Audio Resource using Whisper Model
-
Custom System Instruction
-
Temperature Control
-
Maximum Token Control
- Prompt Library
-
Propose and create a Wordpress Post using Wordpress API
-
SEO optimization proposal (focus keywords, meta title, meta description) for latest post
-
Share Chat by email
-
Save Chat to Database
-
Paginate Chats
-
Private By Default
-
Self-hosted
This project requires the following technologies:
-
PHP 8.2+
-
MySQL
-
OpenAI account for API Key
The project uses the following technologies:
-
Laravel 11 Breeze
-
Livewire
-
TailwindCSS
-
Flowbite
-
Vite.js
-
MySQL
-
openai-php
-
livewire-alert
To run Chatwire locally, follow these steps:
-
Clone this repository
-
Run
composer install
-
Copy
.env.example
to.env
-
Add your OpenAI API key in
.env
file atOPENAI_API_KEY
- Add your SMTP configuration. This will be used to send your conversation to your email.
-
Run
php artisan key:generate
-
Run
php artisan migrate
-
Run
php artisan storage:link
-
Run
npm install
-
Run
npm run build
-
Run
php artisan serve
-
Add the following line to your cronjobs:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
The above will be used for the email queue job that it is used for sending the emails
- Open the link: http://127.0.0.1:8000
To use Chatwire, follow these steps:
-
Start a conversation with the chatbot on the dashboard page.
-
When you finish the conversation, you can save it or send it to your email.
-
You can view your saved conversations on the dashboard page using pagination.
-
You can upload an audio file and ChatGPT will create the trancription for you.
-
You can also use
php artisan chat
command in order to ask ChatGPT from CLI.
Here are some screenshots of Chatwire in action:
If you'd like to contribute to Chatwire, here's how you can get started:
-
Fork this repository
-
Create a new branch (
git checkout -b my-new-branch
) -
Make your changes
-
Commit your changes (
git commit -am 'Add some feature'
) -
Push to the branch (
git push origin my-new-branch
) -
Create a new Pull Request
We welcome contributions from anyone interested in improving Chatwire