Skip to content

jgomezbau/AIDesktopHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Desktop Hub

AI Desktop Hub

Linux-first Electron desktop wrapper for popular AI assistants

Standalone launchers · Isolated sessions · Generic AI Desktop Hub mode · AppImage / .deb / Flatpak-ready

Overview

AI Desktop Hub turns supported AI web apps into standalone Linux desktop applications with isolated Electron sessions, Linux packaging, and a generic launcher mode for users who want to choose an assistant at runtime.

Supported Assistants

ChatGPT
ChatGPT
Claude
Claude
Gemini
Gemini
Grok
Grok
DeepSeek
DeepSeek
Qwen
Qwen

Highlights

  • Standalone Linux desktop wrapper for multiple AI assistants
  • Isolated Electron session data per assistant
  • Direct launch support through --app=<assistant>
  • Generic AIDesktopHub launcher mode when started without --app
  • First-run chooser window labeled Elegi un Asistente
  • Remembers the last assistant used in generic mode
  • Assistant switching from the system tray in generic mode
  • AI Desktop Hub branding for taskbar, tray, and window icon in generic mode
  • Assistant-specific launchers, icons, and runtime identity when launched directly
  • Linux packaging for AppImage, .deb, and tar.gz
  • Flatpak metadata and desktop entries included in the repository

Quick Start

Install dependencies:

git clone https://github.com/jgomezbau/AIDesktopHub.git
cd AIDesktopHub
npm install

Start AI Desktop Hub in generic mode:

npm start

Start a specific assistant directly:

npm run start:chatgpt
npm run start:claude
npm run start:gemini
npm run start:grok
npm run start:deepseek
npm run start:qwen

You can also launch directly with:

electron . --app=chatgpt

How It Works

Generic mode

Use npm start or launch AIDesktopHub without --app.

  • On first launch, or when no valid last assistant is stored, AI Desktop Hub opens a chooser window labeled Elegi un Asistente.
  • Once an assistant is selected, AI Desktop Hub remembers it and reopens it automatically on future launches without --app.
  • In this mode, the application identity stays as AI Desktop Hub.
  • The taskbar icon remains the AI Desktop Hub icon.
  • The tray icon remains the AI Desktop Hub icon.
  • The active assistant can be changed from the tray menu through Elegi un Asistente.

Direct-launch mode

Use --app=<assistant> or npm run start:<assistant>.

  • Opens the requested assistant immediately
  • Does not show the generic chooser flow
  • Does not show the assistant-switching tray submenu
  • Uses the selected assistant identity and icon as the runtime branding

Requirements

  • Linux
  • Node.js 18 or newer
  • npm 8 or newer

Runtime and packaging on Debian-based systems may require:

  • libnotify4
  • libxtst6
  • libnss3

Development

Useful commands:

npm run dev
npm run debug
node -c src/main/index.js
node -c src/preload/preload.js

Build And Packaging

Available build commands:

npm run build
npm run build:linux
npm run build:dir
npm run build:appimage
npm run build:deb

Release artifacts are written to dist/ and typically include:

  • AI Desktop Hub-<version>-x86_64.AppImage
  • AI Desktop Hub-<version>-amd64.deb
  • AI Desktop Hub-<version>-x64.tar.gz

Packaging notes:

  • electron-builder is configured for Linux packaging.
  • The main packaging icon is assets/icons/aidesktophub.png.
  • Runtime and launcher assistant icons live in assets/icons/providers.
  • The Debian package installs the main AIDesktopHub.desktop entry plus assistant-specific .desktop launchers.
  • Flatpak metadata and desktop entries are maintained in flatpak/.

Flatpak

Local Flatpak build:

flatpak-builder --user --install --force-clean build-dir flatpak/io.github.jgomezbau.AIDesktopHub.yml

Run a specific assistant after installation:

flatpak run io.github.jgomezbau.AIDesktopHub --app=chatgpt
flatpak run io.github.jgomezbau.AIDesktopHub --app=claude
flatpak run io.github.jgomezbau.AIDesktopHub --app=gemini
flatpak run io.github.jgomezbau.AIDesktopHub --app=grok
flatpak run io.github.jgomezbau.AIDesktopHub --app=deepseek
flatpak run io.github.jgomezbau.AIDesktopHub --app=qwen

Screenshots

Screenshots used for Flatpak/AppStream metadata live in flatpak/screenshots.

Project Structure

.
├── assets/
│   ├── icons/
│   │   ├── aidesktophub.png
│   │   ├── providers/
│   │   └── source/
│   └── linux/
├── flatpak/
├── src/
│   ├── main/
│   └── preload/
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
└── package-lock.json

Icons And Assets

  • assets/icons/aidesktophub.png is the canonical packaging icon.
  • assets/icons/providers/*.png are the assistant runtime icons and launcher assets.
  • assets/icons/providers/aidesktophub.png is the generic runtime icon used by the generic AI Desktop Hub mode.
  • Legacy .ico assets are not part of the current Linux release pipeline.

Session Model

Each assistant uses its own Electron partition and user-data directory. This keeps cookies, storage, and login state isolated between ChatGPT, Claude, Gemini, Grok, DeepSeek, and Qwen.

In generic mode, AI Desktop Hub also stores a small separate configuration file for the last assistant used:

  • ~/.config/AIDesktopHub/config.json

That file is only used to remember the last assistant selected in generic mode. It does not replace or mix with the per-assistant session data.

Troubleshooting

  • If npm start opens the chooser window, no valid last assistant is stored yet for generic mode.
  • If you want to bypass the chooser entirely, start the app with --app=<assistant> or use npm run start:<assistant>.
  • If Gemini shows a Google consent flow, complete it inside the embedded window. AI Desktop Hub keeps the relevant Gemini and Google navigation inside the app flow.
  • If .deb packaging fails, verify the host has the system tooling required by electron-builder.
  • If AppImage creation fails on a minimal system, install the usual Linux desktop packaging dependencies first.

License

This project is released under the MIT License.

Disclaimer

AI Desktop Hub is an independent and unofficial desktop wrapper project.

It is not affiliated with, endorsed by, sponsored by, or supported by the companies behind the supported assistants, including:

  • OpenAI
  • Anthropic
  • Google
  • xAI
  • DeepSeek
  • Alibaba

ChatGPT, Claude, Gemini, Grok, DeepSeek, Qwen, and any related product names, logos, icons, and trademarks are the property of their respective owners.

This repository is intended to provide a Linux desktop wrapper experience for publicly available web applications. Users are responsible for complying with the terms of service, account requirements, and usage policies of each respective service.

About

Universal Electron wrapper for AI platforms like ChatGPT®, Claude®, Gemini®, Grok®, DeepSeek® and Qwen®.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors