Package: chatgpt-gui
ChatGPT-GUIAn unofficial GUI app for ChatGPT.Note: This project is in a public alpha, and as such, many features are not complete.Other Documents:ChangelogLicenseTable of ContentsAboutFeaturesHow to UseInstallationAuthenticationSession Token GuideSession DataSaving/Loading ConversationsThemesTheme File StructureDisclaimer:ChatGPT-GUI is in no way associated with, endorsed by, or otherwise affiliated with OpenAI.About:ChatGPT-GUI is an application written usingQt for Pythonthat allows you to
easily talk to Assistant, the AI based onChatGPT.This project is a fork of my other project,HaloInfiniteGetter.If you like this application, be sure to star :)Features:[x] Email/Password Login toChatGPTWithout Browser(Captcha solving is untested but implemented)Proxy SettingsSupported Protocols areHTTPandSOCKS5Executable Script in PATH (chatgpt)Desktop & Start Menu ShorcutsSession (token) PersistenceAutomatic Access Token RefreshingMultiple Concurrent ConversationsConversation Saving & LoadingMulti-line inputException Reporter & Traceback ViewerThemesBuiltin themes are: [Breeze Dark, Breeze Light, and Legacy]Todo:Pretty Conversation ViewsRetry AI MessageHow to Use:Installation:First, install Python 3.10 usingthis linkThen, open command prompt (Win + R -- type in "cmd") and typepip install chatgpt-guiOptionally, to install the latest unstable version, typepip install git+https://github.com/Cubicpath/ChatGPT-GUI.gitAnd you are done! To launch the program simply typechatgptOnce launched, you can create a desktop shortcut by using theCreate Desktop Shortcuttool
under theToolscontext menuAuthentication:Thanks torawandahmad698andtls-client, there exists a method to authenticate without
messing around with tokens or the browser. Simply sign in from the app itself!.Google Chrome is currently required to automatically bypass cloudflare.Email & Password login is currently not working.
Refer to session token authentication in the meantime.Session Token Guide:Sign in toChatGPTon your browserNavigate to the Cookies for chat.openai.comOn Firefox -- F12 > Move to the "Storage" tab > Under "Cookies" selecthttps://chat.openai.comDouble-click the__Secure-next-auth.session-tokencookie value and copy with CTRL + COpen the Settings window, unlock the input by pressing the "Edit Session Token" button, then paste the copied value.Press the Set button, and you should now be authenticated!Session Data:Session data is stored in a hidden file (~/.config/chatgpt_gui/.session.json), for persistence.
When you sign out or clear your session token, it automatically deletes all session data.If you ever need to directly edit your session data, it follows the following format:{"user":{"id":"Your user id (starting with a 'user-' prefix)","name":"Your username (usually same as your email)","email":"The email tied to your session","image":"Link to your profiles image (usually same as your picture)","picture":"Link to your profile picture","groups":[],"features":[]},"cloudflare":{"bm":"Value of the __cf_bm cookie","clearance":"Value of the cf_clearance cookie","expires":"1h from the time cf_clearance is acquired"},"expires":"Automatically acquired after refresh_auth()","token":"Value of the __Secure-next-auth.session-token cookie","user_agent":"User Agent the Client/Authenticator use"}Saving/Loading ConversationsYou can save your currently selected conversation with ChatGPT by right-clicking any tab and
pressing theExport Conversation To...button. This will open a file dialog where you can rename
your conversation anything, which will show when loaded.You can load a conversation that was previously saved by pressing theImport Conversation From...button, and selecting the JSON file containing the conversation.By default, all conversations are stored in the~/.cache/chatgpt_gui/directory.
But you can choose any folder when exporting.NOTE: Conversations from one account CANNOT be accessed from another.Conversation Format:Conversations are stored as a linear list of messages, where each message is
a response to the one before it. All UUID's are tracked, which allows the Client to
continue conversations after import.They are stored in the following data format:{"id":"Conversation UUID","messages":[{"id":"Message UUID","role":"user","content":{"content_type":"text","parts":["Your message to ChatGPT"]}},{"id":"Message UUID","role":"assistant","content":{"content_type":"text","parts":["Response from ChatGPT"]}}]}Themes:Themes are a way to style already-existing elements (Think CSS). They are held in a directory with their resources
and stylesheet in the same folder level.Theme File Structure:../
│
├───[theme_id]/
│       ├─── [icon1_name].svg
│       ├─── [icon2_name].svg
│       ├─── [icon3_name].svg
│       └─── stylesheet.qss
│The current builtin themes are:Breeze DarkBreeze LightLegacy (Default Qt)While the current breeze themes are slightly modified versions, you can view the original themes atBreezeStyleSheets.