Linux-first Electron desktop wrapper for popular AI assistants
Standalone launchers · Isolated sessions · Generic AI Desktop Hub mode · AppImage / .deb / Flatpak-ready
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.
|
ChatGPT |
Claude |
Gemini |
Grok |
DeepSeek |
Qwen |
- Standalone Linux desktop wrapper for multiple AI assistants
- Isolated Electron session data per assistant
- Direct launch support through
--app=<assistant> - Generic
AIDesktopHublauncher 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, andtar.gz - Flatpak metadata and desktop entries included in the repository
Install dependencies:
git clone https://github.com/jgomezbau/AIDesktopHub.git
cd AIDesktopHub
npm installStart AI Desktop Hub in generic mode:
npm startStart 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:qwenYou can also launch directly with:
electron . --app=chatgptGeneric 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
- Linux
- Node.js 18 or newer
- npm 8 or newer
Runtime and packaging on Debian-based systems may require:
libnotify4libxtst6libnss3
Useful commands:
npm run dev
npm run debug
node -c src/main/index.js
node -c src/preload/preload.jsAvailable build commands:
npm run build
npm run build:linux
npm run build:dir
npm run build:appimage
npm run build:debRelease artifacts are written to dist/ and typically include:
AI Desktop Hub-<version>-x86_64.AppImageAI Desktop Hub-<version>-amd64.debAI Desktop Hub-<version>-x64.tar.gz
Packaging notes:
electron-builderis 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.desktopentry plus assistant-specific.desktoplaunchers. - Flatpak metadata and desktop entries are maintained in
flatpak/.
Local Flatpak build:
flatpak-builder --user --install --force-clean build-dir flatpak/io.github.jgomezbau.AIDesktopHub.ymlRun 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=qwenScreenshots used for Flatpak/AppStream metadata live in flatpak/screenshots.
.
├── assets/
│ ├── icons/
│ │ ├── aidesktophub.png
│ │ ├── providers/
│ │ └── source/
│ └── linux/
├── flatpak/
├── src/
│ ├── main/
│ └── preload/
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
└── package-lock.json
assets/icons/aidesktophub.pngis the canonical packaging icon.assets/icons/providers/*.pngare the assistant runtime icons and launcher assets.assets/icons/providers/aidesktophub.pngis the generic runtime icon used by the generic AI Desktop Hub mode.- Legacy
.icoassets are not part of the current Linux release pipeline.
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.
- If
npm startopens 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 usenpm 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
.debpackaging fails, verify the host has the system tooling required byelectron-builder. - If AppImage creation fails on a minimal system, install the usual Linux desktop packaging dependencies first.
This project is released under the MIT License.
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
- 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.