🔮 ChatGPT Desktop Application (Mac, Windows and Linux)

Overview

ChatGPT

ChatGPT

ChatGPT Desktop Application


English badge 简体中文 badge
License ChatGPT downloads chat lencx

Buy Me A Coffee

📦 Install

Windows

  • From our github releases: ChatGPT_0.7.4_x64_en-US.msi
  • Or install with winget:
    • winget install --id=lencx.ChatGPT -e
    • winget install --id=lencx.ChatGPT -e --version 0.7.4

Note: If the installation path and application name are the same, it will lead to conflict (#142)

Mac

  • From our github releases: ChatGPT_0.7.4_x64.dmg
  • If you prefer .app installation, you can also download it from our github releases: ChatGPT.app.tar.gz
  • Homebrew
    Or you can install with Homebrew (Cask):
    brew tap lencx/chatgpt https://github.com/lencx/ChatGPT.git
    brew install --cask chatgpt --no-quarantine
    Also, if you keep a Brewfile, you can add something like this:
    repo = "lencx/chatgpt"
    tap repo, "https://github.com/#{repo}.git"
    cask "chatgpt", args: { "no-quarantine": true }

Linux


📢 Announcement

ChatGPT Prompts!

This is a major and exciting update. It works like a Telegram bot command and helps you quickly populate custom models to make chatgpt work the way you want it to. This project has taken a lot of my spare time, so if it helps you, please help spread the word or star it would be a great encouragement to me. I hope I can keep updating it and adding more interesting features.

How does it work?

You can look at awesome-chatgpt-prompts to find interesting features to import into the app.

chat cmd

chat cmd


  • In the chatgpt text input area, type a character starting with / to bring up the command prompt, press the spacebar, and it will fill the input area with the text associated with the command by default (note: if it contains multiple command prompts, it will only select the first one as the fill, you can keep typing until the first prompted command is the one you want, then press the spacebar.
  • Or use the mouse to click on one of the multiple commands). When the fill is complete, you simply press the Enter key.
  • Under the slash command, use the tab key to modify the contents of the {q} tag (only single changes are supported #54). Use the keyboard (arrow up) and (arrow down) keys to select the slash command.

chatgpt

chatgpt-cmd

Features

  • Multi-platform: macOS Linux Windows
  • Export ChatGPT history (PNG, PDF and Share Link)
  • Automatic application upgrade notification
  • Common shortcut keys
  • System tray hover window
  • Powerful menu items
  • Support for slash commands and their configuration (can be configured manually or synchronized from a file #55)
  • Customize global shortcuts (#108)

MenuItem

  • Preferences
    • Theme - Light, Dark (Only macOS and Windows are supported).
    • Stay On Top: The window is stay on top of other windows.
    • Titlebar: Whether to display the titlebar, supported by macOS only.
    • Hide Dock Icon (#35): Hide application icons from the Dock(support macOS only).
      • Right-click on the SystemTray to open the menu, then click Show Dock Icon in the menu item to re-display the application icon in the Dock (SystemTrayMenu -> Show Dock Icon).
    • Inject Script: Using scripts to modify pages.
    • Control Center: The control center of ChatGPT application, it will give unlimited imagination to the application.
      • Theme, Stay On Top, Titlebar, ...
      • User Agent (#17): Custom user agent, which may be required in some scenarios. The default value is the empty string.
      • Switch Origin (#14): Switch the site source address, the default is https://chat.openai.com, please make sure the mirror site UI is the same as the original address. Otherwise, some functions may not be available.
    • Go to Config: Open the configuration file directory (path: ~/.chatgpt/*).
    • Clear Config: Clear the configuration file (path: ~/.chatgpt/*), dangerous operation, please backup the data in advance.
    • Restart ChatGPT: Restart the application, for example: the program is stuck or the injection script can take effect by restarting the application after editing.
    • Awesome ChatGPT: Recommended Related Resources.
  • Edit - Undo, Redo, Cut, Copy, SelectAll, ...
  • View - Go Back, Go Forward, Scroll to Top of Screen, Scroll to Bottom of Screen, Refresh the Screen, ...
  • Help
    • Update Log: ChatGPT changelog.
    • Report Bug: Report a bug or give feedback.
    • Toggle Developer Tools: Developer debugging tools.

Application Configuration

Platform Path
Linux /home/lencx/.chatgpt
macOS /Users/lencx/.chatgpt
Windows C:\Users\lencx\.chatgpt
  • [.chatgpt] - application configuration root folder
    • chat.conf.json - preferences configuration
    • chat.model.json - prompts configuration,contains three parts:
      • user_custom - Requires manual data entry (Control Conter -> Language Model -> User Custom)
      • sync_prompts - Synchronizing data from f/awesome-chatgpt-prompts (Control Conter -> Language Model -> Sync Prompts)
      • sync_custom - Synchronize custom json and csv file data, support local and remote (Control Conter -> Language Model -> Sync Custom)
    • chat.model.cmd.json - filtered (whether to enable) and sorted slash commands
    • [cache_model] - caching model data
      • chatgpt_prompts.json - Cache sync_prompts data
      • user_custom.json - Cache user_custom data
      • ae6cf32a6f8541b499d6bfe549dbfca3.json - Randomly generated file names, cache sync_custom data
      • 4f695d3cfbf8491e9b1f3fab6d85715c.json - Randomly generated file names, cache sync_custom data
      • bd1b96f15a1644f7bd647cc53073ff8f.json - Randomly generated file names, cache sync_custom data

Sync Custom

Currently, only json and csv are supported for synchronizing custom files, and the following formats need to be met, otherwise the application will be abnormal:

JSON format:

[
  {
    "cmd": "a",
    "act": "aa",
    "prompt": "aaa aaa aaa"
  },
  {
    "cmd": "b",
    "act": "bb",
    "prompt": "bbb bbb bbb"
  }
]

CSV format

"cmd","act","prompt"
"a","aa","aaa aaa aaa"
"b","bb","bbb bbb bbb"

TODO

  • Control Center - Feature Enhancements
  • Integration with DALL·E 2 (#122)
  • ...

👀 Preview

install control center export tray tray login auto update

FAQ

Can't open ChatGPT

If you cannot open the application after the upgrade, please try to clear the configuration file, which is in the ~/.chatgpt/* directory.

Out of sync login status between multiple windows

If you have already logged in in the main window, but the system tray window shows that you are not logged in, you can fix it by restarting the application (Menu -> Preferences -> Restart ChatGPT).

Is it safe?

It's safe, just a wrapper for OpenAI ChatGPT website, no other data transfer exists (you can check the source code).

Developer cannot be verified?

How do i build it?

PreInstall

Start

# step1:
git clone https://github.com/lencx/ChatGPT.git

# step2:
cd ChatGPT

# step3: install deps
yarn

# step4:
yarn dev

# step5:
# bundle path: src-tauri/target/release/bundle
yarn build

❤️ Thanks

  • The core implementation of the share button code was copied from the @liady extension with some modifications.
  • Thanks to the Awesome ChatGPT Prompts repository for inspiring the custom command function for this application.

Star History Chart

中国用户

国内用户如果遇到使用问题或者想交流 ChatGPT 技巧,可以关注公众号“浮之静”,发送 “chat” 进群参与讨论。公众号会更新《Tauri 系列》文章,技术思考等等,如果对 tauri 开发应用感兴趣可以关注公众号后回复 “tauri” 进技术开发群(想私聊的也可以关注公众号,来添加微信)。开源不易,如果这个项目对你有帮助可以分享给更多人,或者微信扫码打赏。

License

Apache License

Comments
  • Had over 20 custom prompts, new update deleted them?

    Had over 20 custom prompts, new update deleted them?

    Please tell me this update didn't delete my custom prompts? When the update installed, my custom prompts that I worked very hard on developing weren't there.. and I opened the config folder on windows and I don't see it there either. Man, please tell me that this update was not written in such a way to delete stuff like that.

    opened by reconrad48 35
  • Installation failure and help needed to uninstall the files that were installed as result of building the application

    Installation failure and help needed to uninstall the files that were installed as result of building the application

    Failed with the following error after typing yarn dev:

       ...
       
       Compiling chatgpt v0.0.0 (~/src/ChatGPT/src-tauri)
       Compiling gdk-pixbuf v0.15.11
       Compiling soup2 v0.2.1
       Compiling gdk v0.15.4
       Compiling libappindicator v0.7.1
       Compiling webkit2gtk v0.18.2
       Compiling tauri-plugin-positioner v1.0.4
       Compiling tauri-plugin-log v0.1.0 (https://github.com/tauri-apps/tauri-plugin-log?branch=dev#b58475bb)
        Finished dev [unoptimized + debuginfo] target(s) in 3m 16s
    thread 'main' panicked at 'Failed to load ayatana-appindicator3 or appindicator3 dynamic library
    libayatana-appindicator3.so.1: cannot open shared object file: No such file or directory
    libappindicator3.so.1: cannot open shared object file: No such file or directory
    libayatana-appindicator3.so: cannot open shared object file: No such file or directory
    libappindicator3.so: cannot open shared object file: No such file or directory', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/libappindicator-sys-0.7.3/src/lib.rs:41:5
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    error Command failed with exit code 101.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    error Command failed with exit code 101.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    

    Could you please let me know what I'm missing?

    Thank you

    opened by YorkZ 20
  • v0.6.1 can't sync prompts (seems like it can't access config file

    v0.6.1 can't sync prompts (seems like it can't access config file

    Thank you for such great APP, it's much better than its offcial web version. Here is a problem: for v0.6.1 in Win 10, I can't use prompt cmd "/", sync awesome list (no response), and even store my custom prompt. I restart ChatGPT after each operation. Is that a bug or my mistake.

    bug platform: windows 
    opened by rese1f 18
  • Cloudflare

    Cloudflare "Network Error"

    Upon entering a question that needs to be answered in more than 60 seconds, the AI will delete its answer after 60 seconds and show "Network Error". I believe this is caused by Cloudflare limiting response time. If you could please fix it as soon as possible, that would be greatly appreciated. As half of the users are spamming the gpt-bugs channel on Discord. Heres an image of the error image

    openai 
    opened by CorruptCreeper 15
  • Doesn't start

    Doesn't start

    Latest version 0.7.0 x64 can't be run run on windows 10 x64. What I try:

    • simple upgrade
    • uninstall and the reinstall
    • delete config file and then reinstall

    Version 0.6.10 is working ok.

    bug platform: windows 
    opened by staycanuca 14
  • [Improvement] Hide to tray upon closing

    [Improvement] Hide to tray upon closing

    ChatGPT isn't used constantly, but mostly when required, so having it in tray instead of taskbar would be the more comfortable option.

    Could you add an option which makes hiding in tray when clicking close button, as an option? There's a option now to hide, but it's in menu, means more user actions is needed.

    opened by mtw20 13
  • [Build Error] [vite:css] [postcss] Cannot read properties of undefined (reading 'config')

    [Build Error] [vite:css] [postcss] Cannot read properties of undefined (reading 'config')

    Error message

    Running the yarn dev command gives me this error.

    image

    So I searched on Google as it seemed a generic error and found this link to fix it.

    Therefore, I added a file named tailwind.config.js in the root folder and pasted the recommended code over there. And it builds almost all packages but threw me an error at the end regarding the tauri private key.

    image

    I went through the .gitignore to check for a .env file if in case private key is being used by the developers. And I tried generating a private key by tauri installation but I'm not able to generate a private key or, maybe I don't know whether I need to use it or going on the right path to fix it.

    Also, yes I found this issue on the tauri apps repository, but I couldn't understand what file I need to create.

    Thankyou.

    OS

    Windows 11

    Environment

    No response

    opened by Irene-123 7
  • Hide Dock Icon + Main Window

    Hide Dock Icon + Main Window

    Love the menubar dropdown, it's excellent! Can we get rid of the dock icon and main window altogether? 😄 It currently just 'hides' the main window when you click 'close'.

    Screenshot 2022-12-15 at 15 20 21 Screenshot 2022-12-15 at 15 19 55 enhancement 
    opened by PascalPixel 6
  • Doesn't start

    Doesn't start

    Hi,

    I'm using macOS (M1), latest OS version. Installed with homebrew (like recommend in the docs). Started it and it worked (v 0.1.x). Then a popup stated that a update is available, so I updated to the latest version (0.2.x). Now it doesn't start anymore:

    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: string \"{\\n    \\\"always_on_top\\\": false,\\n    \\\"theme\\\": \\\"Light\\\",\\n    \\\"titlebar\\\": true,\\n    \\\"default_origin\\\": \\\"https://chat.openai.com\\\",\\n    \\\"origin\\\": \\\"https://chat.openai.com\\\",\\n    \\\"ua_pc\\\": \\\"\\\",\\n    \\\"ua_phone\\\": \\\"\\\"\\n}\", expected struct ChatConfJson", line: 0, column: 0)', src/conf.rs:125:70
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    

    --> export RUST_BACKTRACE=full

    /Applications/ChatGPT.app/Contents/MacOS/ChatGPT
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: string \"{\\n    \\\"always_on_top\\\": false,\\n    \\\"theme\\\": \\\"Light\\\",\\n    \\\"titlebar\\\": true,\\n    \\\"default_origin\\\": \\\"https://chat.openai.com\\\",\\n    \\\"origin\\\": \\\"https://chat.openai.com\\\",\\n    \\\"ua_pc\\\": \\\"\\\",\\n    \\\"ua_phone\\\": \\\"\\\"\\n}\", expected struct ChatConfJson", line: 0, column: 0)', src/conf.rs:125:70
    stack backtrace:
       0:        0x104adedf7 - __mh_execute_header
       1:        0x104a5054a - __mh_execute_header
       2:        0x104ab3abc - __mh_execute_header
       3:        0x104ae239b - __mh_execute_header
       4:        0x104ae2ab5 - __mh_execute_header
       5:        0x104ae26d4 - __mh_execute_header
       6:        0x104ae2638 - __mh_execute_header
       7:        0x104ae2602 - __mh_execute_header
       8:        0x104b978f3 - __mh_execute_header
       9:        0x104b97b55 - __mh_execute_header
      10:        0x104a4a194 - __mh_execute_header
      11:        0x104a0bf0b - __mh_execute_header
      12:        0x104972d34 - __mh_execute_header
      13:        0x104a0bad2 - __mh_execute_header
    
    bug 
    opened by gummipunkt 6
  • [BUG] Can't seem to use custom path

    [BUG] Can't seem to use custom path

    https://github.com/vlad-terin/awesome-chatgpt-prompts/blob/main/prompts.csv

    Forked the main chatgpt prompts repo, trying to sync image

    The tool closes upon hitting sync without saving the progress.

    Maybe i'm doing something wrong?

    opened by vlad-terin 5
  • Some minor issues with the 0.5.1 update process

    Some minor issues with the 0.5.1 update process

    The installer was in Chinese for some reason. It looked like it tried to close the two ChatGPT windows I had open, but they minimized instead, so I had to close them manually via Quit, then the installation proceeded automatically. I would rather the installer communicated to me in English that I need to close the windows before it can proceed and then I press a button to manually continue the installation.

    opened by PianoMastR64 5
  • [Feature] api

    [Feature] api

    Feature description

    provide HTTP or web sockets API for communicating with chatGPT running in the window

    Motivation

    No response

    Alternatives

    No response

    Additional context

    No response

    enhancement 
    opened by darvin 0
  • Support for Newline (CRLF) character and placeholders (variables) inside prompts on JSON file

    Support for Newline (CRLF) character and placeholders (variables) inside prompts on JSON file

    Feature description

    Dear @lencx , thanks for the amazing work. I've been using ChatGPT desktop and it's very nice. The support to custom prompts (and sync with awesome-chatgpt-prompts) is amazing.

    I'd like to suggest the prompts in JSON to support two things:

    • Newline/CRLF characters (\r\n, for example), so we can automatically generate an empty space at the end of a prompt chosen by slash commands
    • placeholders (variables), so we can fill out a simple form with the fields. Something similar to Mustache.js

    I understand that this second feature may be hard to develop, though. Just a suggestion.

    Have a nice day!

    Motivation

    No response

    Alternatives

    No response

    Additional context

    No response

    enhancement 
    opened by agnoldo 1
  • Checking if the site connection is secure

    Checking if the site connection is secure

    Version

    v1.8

    Bug description

    stuck at "Verify if you are human" chat.openai.com needs to review the security of your connection before proceeding.

    OS

    macOS ventura

    Environment

    No response

    bug openai 
    opened by Gutreja 3
  • [Bug] start chat-gpt from console on ubuntu :

    [Bug] start chat-gpt from console on ubuntu : "22.04.1 LTS (Jammy Jellyfish)"

    Version

    v0.7.3

    Bug description

    Hi, when i start chat-gpt from the terminal i got this error:

    [2023-01-04][08:57:50][chatgpt::app::setup][INFO] stepup [2023-01-04][08:57:50][chatgpt::app::setup][INFO] global_shortcut_start [2023-01-04][08:57:50][chatgpt::app::setup][INFO] is_registered: true thread 'main' panicked at 'called Result::unwrap() on an Err value: GlobalShortcut(InvalidAccelerator("Unable to register global shortcut"))', src/app/setup.rs:36:18 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace thread 'tokio-runtime-worker' panicked at 'called Result::unwrap() on an Err value: Runtime(FailedToSendMessage)', src/app/window.rs:23:14

    ENV

    chat-gpt_0.7.3_amd64.deb

    OS: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS" PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy

    OS

    ubuntu 22.04

    Environment

    No response

    bug 
    opened by xbaker 1
  • [Feature][Track] publish package to winget

    [Feature][Track] publish package to winget

    Feature description

    this issue tracks #129 All updates about the winget-pkgs pr status and the implemention/development of auto-release scripts will be discussed here first.

    Motivation

    No response

    Alternatives

    No response

    Additional context

    No response

    enhancement platform: windows 
    opened by yixinBC 7
Releases(v0.7.4)
Owner
lencx
Creator of @rwasm.
lencx
NewBin Desktop Application (Mac, Windows and Linux)

NewBing NewBing Desktop Application (Windows Mac Linux) Install Windows NewBing_0.0.1_x64_en-US.msi Mac NewBing_0.0.1_x64.dmg Usage Recommended Rust (

珠峰架构 23 Feb 19, 2023
Web-wrapped Supabase desktop app for macOS, Windows & Linux powered by Tauri

Supabase Desktop App What is it? It's a cross-platform web-wrapped Supabase desktop app powered by Tauri. You can install it on your macOS, Windows (u

Abiel Zulio M 12 Jan 25, 2023
OpenAI chat client desktop app (Windows, MacOS, Linux)

ChatWizard OpenAI chat client Desktop Application (Windows, MacOS, Linux) Declaration This project is currently undergoing active development and has

LisiurDay 8 Apr 5, 2023
Bolt is a desktop application that is designed to make the process of developing and testing APIs easier and more efficient.

Bolt ⚡ Bolt is a desktop application that is designed to make the process of developing and testing APIs easier and more efficient. Quick start ??‍??

0xHiro 6 Mar 26, 2023
System status notification daemon for Linux desktop environments.

panorama A system status notification daemon for Linux systems. Panorama will send notifications for various system events, and is primarily useful fo

Christoph Herzog 3 Oct 23, 2023
Hydrogen is the desktop application for Geplauder, built with tauri studio.

Hydrogen Hydrogen is the desktop application for Geplauder, built with tauri studio. For more information on Geplauder, click here. Usage To configure

null 4 Nov 21, 2021
A lightweight new Bing (AI chat) desktop application which based on Tauri.

Bing Lite A lightweight new Bing (AI chat) desktop application which based on Tauri. No more Microsoft Edge, no more Chromium/Electron! Download The l

a.e. 6 Apr 5, 2023
A W.I.P desktop application for a new typesetting language, typst.

[WIP] typstudio A W.I.P desktop application for a new markup-based typesetting language, typst. Typstudio is built using Tauri. Features Syntax highli

Cubxity 40 Apr 25, 2023
Rust port of the official Windows Driver Samples on Github. Leverages windows-drivers-rs

Rust Driver Samples This is a Rust port of the driver samples from the original Windows Driver Samples on Github. The repository provides examples and

Microsoft 80 Oct 10, 2023
A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.)

Angea Naming from hydrangea(アジサイ) A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.) WSL1 is not s

いんしさくら 16 Dec 5, 2022
Communicate with OpenAi's GPT3.5 (ChatGPT) API.

ChatGPT Rust Communicate with OpenAi's GPT3.5 (ChatGPT) API. Usage use chat_gpt_rs::prelude::*; #[tokio::main] async fn main() { let token = Toke

Aiden 4 Mar 10, 2023
Fusion is a cross-platform App Dev ToolKit build on Rust . Fusion lets you create Beautiful and Fast apps for mobile and desktop platform.

Fusion is a cross-platform App Dev ToolKit build on Rust . Fusion lets you create Beautiful and Fast apps for mobile and desktop platform.

Fusion 1 Oct 19, 2021
"Philips Ambilight for desktops". A tool to generate color palettes from your desktop wallpaper and send them to Home Assistant.

Desktop Dye DesktopDye is an open source project written in Rust that allows users to have their lights paired with Home Assistant adjust to the most

Jeroen Meijer (Jay) 7 Feb 22, 2023
TaurApp is a WhatsApp desktop client powered by Tauri and Rust.

TaurApp TaurApp is a WhatsApp desktop client powered by Tauri and Rust. TaurApp is an experimental client and is initially created to test out Tauri i

Eray Erdin (&mut self) 22 Mar 19, 2023
🏪 Modern emoji picker popup for desktop, based on Emoji Mart, built with Tauri and Svelte

Emoji Mart desktop popup Modern emoji picker popup app for desktop, based on the amazing Emoji Mart web component. ?? Built as a popup: quick invocati

Vincent Emonet 10 Jul 3, 2023
client-server notification center for dbus desktop notifications

tsuchita A client-server notification center for dbus desktop notifications. Specifically org.freedesktop.Notifications dbus messages. Motivation I ju

Jeff Zhao 7 Oct 9, 2022
Ditch your status bar for some snazzy desktop notifications.

citron Ditch your panel for some snazzy desktop notifications. citron is: a non-intrusive alternative to status bars. on-demand, i.e. does not run in

Aziz Ben Ali 1 Jan 11, 2022
Rust + Yew + Axum + Tauri, full-stack Rust development for Desktop apps.

rust-yew-axum-tauri-desktop template Rust + Yew + Axum + Tauri, full-stack Rust development for Desktop apps. Crates frontend: Yew frontend app for de

Jet Li 54 Dec 23, 2022
Desktop app for UpVPN - Pay as you go VPN

upvpn A Modern Serverless VPN upvpn upvpn (pronounced Up VPN) lets you connect to the internet from a location of your choice. For more information pl

UpVPN 11 Jul 1, 2023