ChatGPT Web
Introduction
ChatGPT Web is an open-source project that serves as a platform for interacting with ChatGPT, providing users with unique features and an enhanced user experience. Originally forked from Chanzhaoyu/chatgpt-web, this project integrates several additional functionalities that were not part of the original project. The main reason for the fork was to incorporate database dependencies, which the original author chose to avoid.
Key Features
-
User Account Management: Supports user registration, login, password reset, and Two-Factor Authentication (2FA).
-
Session Synchronization: Users can synchronize their conversation history across different sessions.
-
API Key Management: The front-end interface allows setting up of API keys.
-
Custom Sensitive Words: Users have the ability to manage and customize sensitive words according to needs.
-
Unique Prompts for Sessions: Enables the assignment of specific prompts for individual sessions to enhance conversation quality.
-
Multi-Key Randomization: Allows the use of multiple API keys randomly to manage rate limits and improve reliability.
-
Conversation Limits: Facilitates setting conversation limits for users, ensuring fair use and resource management.
-
Single Sign-On (SSO) Integration: Through the auth proxy feature, supports SSO login utilizing third-party verification systems like LDAP, OIDC, and SAML.
Deployment and Packaging
ChatGPT Web can be deployed and packaged using several methods, including Docker and Railway. The Docker setup provides a robust way to run the application with built-in support for MongoDB. The Railway deployment method offers a straightforward way to deploy the project using cloud infrastructure.
API Methods
ChatGPT Web supports two unofficial methods of accessing ChatGPT's API:
-
ChatGPTAPI (gpt-3.5-turbo-0301): This method is paid and reliable but offers a basic level of intelligence.
-
ChatGPTUnofficialProxyAPI: This uses a proxy to access ChatGPT. It's free but less reliable compared to the official API method.
Switching Methods
To switch between API methods, users should configure the environment variables in the /service/.env
file. The preference is given to the OpenAI API Key if both methods are set up.
Common Issues
Common problems such as Git commit errors or missing typographical effects can be resolved by following recommended configurations or checking environment settings. Detailed troubleshooting information is provided to assist users in overcoming these issues.
Contribution and Support
The project encourages community contributions and offers a comprehensive guide for those interested in participating. Users are encouraged to star the project on GitHub if they find it beneficial, and there are avenues for financial support if the project is of significant help.
License
ChatGPT Web is released under the MIT license, ensuring it remains free for personal and educational use, fostering innovation and collaboration within the community.
Overall, ChatGPT Web extends the capabilities of interacting with AI, making it accessible and customizable, reflecting a responsive development ethos aimed at fulfilling diverse user needs.