A ChatBot utilizing the ChatGPT API to provide generic assistance, designed specifically for Aaltoes. This project features a user-friendly administrative panel to manage roles and quotas, with an intuitive interface inspired by ChatGPT's design.
- Authorization with Google.
- Responses are streamed and rendered in memoized markdown.
- Ability to select different AI models (OpenAI, Claude, DeepSeek) which affect how quotas are counted.
- Autoscroll functionality.
- Ability to reload/stop responses.
- Admin panel for role management.
- Quota system managed via email requests.
- Dark theme for better usability in low-light conditions.
- Dynamic topic generation based on chat history.
- Chats categorized by date: Today, Yesterday, Last 7 Days.
- Banning system with immediate effects on user rights and quotas.
- Responsive design, optimized for mobile and desktop devices.
- Node.js (>= 16.x)
- npm or yarn
-
Clone the repository:
git clone https://github.com/aaltoes/aaltoes-chatbot.git
-
Navigate to the project folder:
cd aaltoes-chatbot -
Install dependencies:
npm install
-
Configure environment variables:
- Create a
.envfile in the root directory. - You can use the provided
.env.examplefile as a template:cp .env.example .env
- Add the following environment variables:
NEXTAUTH_SECRET=your_secret_here GOOGLE_CLIENT_ID=your_google_client_id_here GOOGLE_CLIENT_SECRET=your_google_client_secret_here OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here DATABASE_URL=your_database_url_here DEEPSEEK_API_KEY=your_deepseek_api_key_here
Ensure you replace
your_secret_here,your_google_client_id_here,your_google_client_secret_here,your_openai_api_key_here,your_anthropic_api_key_here,your_database_url_here, andyour_deepseek_api_key_herewith your actual credentials. - Create a
-
Run the development server:
npm run dev
-
Open
http://localhost:3000in your browser to access the chatbot.
Contributions are welcome! Please refer to our CONTRIBUTIONS.md for detailed information on how you can contribute to the Aaltoes ChatBot project.
This project and everyone participating in it is governed by the Aaltoes Code of Conduct. By participating, you are expected to uphold this code.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Encounter a bug or have a feature request? Please file it in the GitHub Issues section. For support or general inquiries, use our Discussions page.
Developed and maintained by Aaltoes. Special thanks to contributors @kankeinai and @yerzham for their dedication and hard work.
Connect with us:
- Website: aaltoes.com
- Telegram: Join Aaltoes Community
- Email: board@aaltoes.com