Qwen Desktop
No description available
Ask AI about Qwen Desktop
Powered by Claude ยท Grounded in docs
I know everything about Qwen Desktop. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Qwen Desktop for Linux
Open-source Qwen AI (Tongyi Qianwen) desktop client for Linux. Run Alibaba's Qwen models natively on Ubuntu, Fedora, Arch, and all Linux distributions with full MCP (Model Context Protocol) support.
The official Qwen Desktop app only supports Windows and macOS. This project brings the same desktop experience to Linux.
Quick Install
Option 1: AppImage (recommended โ works on every distro)
wget https://github.com/youssefvdel/qwen-desktop-linux/releases/latest/download/Qwen-1.1.2-x86_64.AppImage
chmod +x Qwen-1.1.2-x86_64.AppImage
./Qwen-1.1.2-x86_64.AppImage
Option 2: Debian/Ubuntu
wget https://github.com/youssefvdel/qwen-desktop-linux/releases/latest/download/qwen-desktop_1.1.2_amd64.deb
sudo apt install ./qwen-desktop_1.1.2_amd64.deb
qwen-desktop
Option 3: Fedora/RHEL
sudo dnf install https://github.com/youssefvdel/qwen-desktop-linux/releases/latest/download/qwen-desktop-1.1.2.x86_64.rpm
qwen-desktop
Features
| Feature | Description |
|---|---|
| Full Qwen AI access | Native desktop wrapper for chat.qwen.ai โ supports Qwen3-6Plus, Qwen-Max, Qwen-Plus |
| MCP integration | Connect AI to files, browser, databases, and custom tools via Model Context Protocol |
| System tray | Minimize to tray, right-click menu, runs in background |
| 12 languages | zh-CN, en-US, zh-TW, ja-JP, ko-KR, ru-RU, de-DE, fr-FR, es-ES, it-IT, pt-PT, ar-BH |
| Theme support | Light/dark mode with automatic system theme detection |
| Privacy first | Sandboxed webview, context isolation, Electron Fuses, no telemetry |
| 3 package formats | AppImage (universal), .deb (Debian/Ubuntu), .rpm (Fedora/RHEL) |
| Bundled runtimes | Includes Bun + UV โ MCP servers work with zero system installs |
| Deep linking | qwen:// protocol support for authentication and sharing |
| Skills system | Reusable system prompts as .md files โ inject into chat with one click |
Screenshots
Main chat interface with Skills menu open
MCP configuration panel
FAQ
What is Qwen AI?
Qwen (้ไนๅ้ฎ, Tongyi Qianwen) is a family of large language models developed by Alibaba Cloud's Tongyi Lab. It includes Qwen-Max, Qwen-Plus, Qwen3-6Plus, and Qwen3-235B-A22B.
Is this the official Qwen Desktop app?
No. The official app only supports Windows and macOS. This is a community-built, open-source desktop wrapper for Linux, reverse-engineered from the official app's protocol.
Is it free?
Yes. MIT license. No account needed beyond your Qwen account on chat.qwen.ai.
What distributions are supported?
All of them. AppImage works everywhere. We also ship native .deb and .rpm packages.
What is MCP?
Model Context Protocol lets Qwen interact with local tools and data. Enabled MCP servers can read/write files, automate your browser, query databases, and run CLI tools โ all from chat.
Does it work on Wayland?
Yes, but some Wayland compositors need --enable-features=UseOzonePlatform --ozone-platform=wayland as a launch flag. X11 works out of the box.
Browser vs Desktop โ why use this?
| Browser | Qwen Desktop for Linux |
|---|---|
| No system tray | System tray integration |
| No MCP support | Full MCP (files, browser, databases) |
| No file picker | Native file picker |
| No deep linking | qwen:// protocol |
| No persistent skills | Skills system with .md files |
| Tab clutter | Dedicated app window |
Architecture
Built with Electron 34 + TypeScript, mirroring the official Qwen Desktop app:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Qwen Desktop (Electron) โ
โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ Main Processโโโโโบโ MCP Proxy โ โ
โ โ โ โ (McpProxy) โ โ
โ โ - IPC โ โ - stdio client โ โ
โ โ - Tray โ โ - SSE client โ โ
โ โ - Menu โ โ - HTTP stream โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โ
โ โ โ โ
โ โโโโโโโโผโโโโโโโ โโโโโโโโโโผโโโโโโโโโโ โ
โ โ Preload โ โ Bundled Runtimesโ โ
โ โ (Bridge) โ โ - bun โ โ
โ โ โ โ - uv / uvx โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ WebView โ โ
โ โ chat.qwen.ai (desktop detection) โ โ
โ โ window.electronAPI exposed โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Module Structure
| Module | Purpose |
|---|---|
src/main/index.ts | App bootstrap, MCP defaults, menu, update check |
src/main/window-manager.ts | BrowserWindow, system tray, GPU flags |
src/main/ipc-handlers.ts | 17 IPC handlers (MCP, theme, dialogs) |
src/main/skills-manager.ts | Skills system (inject prompts into chat) |
src/main/app-lifecycle.ts | Protocol handler, deep links, quit state |
src/main/runtime.ts | Bundled bun/uv path resolution |
src/main/mcp-config.ts | MCP config adaptation (npxโbun, uvxโuvx) |
src/mcp/proxy.ts | Multi-server MCP connection management |
src/mcp/server-client.ts | Single MCP server client (stdio/SSE/HTTP) |
src/preload/index.ts | contextBridge โ window.electronAPI |
Development
Prerequisites
- Node.js 22+
- npm
- Linux (x64 or ARM64)
Install & Run
git clone https://github.com/youssefvdel/qwen-desktop-linux.git
cd qwen-desktop-linux
npm install
npm start
Build Packages
# AppImage
npm run build
# All formats
npm run make
# Individual formats
npm run make:deb # Debian/Ubuntu
npm run make:rpm # Fedora/RHEL
Project Structure
qwen-desktop-linux/
โโโ src/
โ โโโ main/ # Electron main process
โ โ โโโ index.ts
โ โ โโโ window-manager.ts
โ โ โโโ ipc-handlers.ts
โ โ โโโ skills-manager.ts
โ โ โโโ app-lifecycle.ts
โ โ โโโ runtime.ts
โ โ โโโ mcp-config.ts
โ โโโ mcp/
โ โ โโโ proxy.ts
โ โ โโโ server-client.ts
โ โโโ preload/
โ โ โโโ index.ts
โ โโโ renderer/
โ โโโ shared/
โโโ resources/
โ โโโ bun/linux-x64/
โ โโโ uv/linux-x64/
โโโ dist/
โโโ package.json
MCP Configuration
Available MCP Servers
| Server | Capability |
|---|---|
| Filesystem | Read, write, search, list files |
| Fetch | Access web APIs and URLs from chat |
| Sequential-Thinking | Multi-step reasoning |
| Desktop-Commander | Run shell commands, manage processes |
| Browser | Automate web browsing, screenshots (Playwright) |
| SQLite/PostgreSQL | Query databases from chat |
Example Config
Default MCP servers are created on first launch. Customize via the app's settings:
{
"Filesystem": {
"command": "bun",
"args": [
"x",
"-y",
"@modelcontextprotocol/server-filesystem",
"/home/user/Documents"
],
"transportType": "stdio"
},
"Fetch": {
"command": "bun",
"args": ["x", "-y", "@modelcontextprotocol/server-fetch"],
"transportType": "stdio"
},
"Browser": {
"command": "uvx",
"args": ["@anthropic/mcp-server-playwright"],
"transportType": "stdio"
}
}
The app automatically replaces npx, bun, and uvx commands with bundled runtime paths.
Skills System
Create system prompts as .md files in ~/.config/qwen-desktop-linux/skills/. Inject into chat via the Skills menu.
Example
# Python Expert
You are a senior Python developer. Focus on:
- PEP8 compliance and type hints
- Performance optimization
- Error handling and testing
- Modern Python 3.12+ features
Menu โ Skills โ Python Expert injects the prompt.
Built-in Skills
linux-power-user.mdโ Terminal commands and system administrationcode-reviewer.mdโ Code review with scoringpython-expert.mdโ Python development guidance (sample)
Internationalization
zh-CN, en-US, zh-TW, ja-JP, ko-KR, ru-RU, de-DE, fr-FR, es-ES, it-IT, pt-PT, ar-BH
Security
| Layer | Implementation |
|---|---|
| Context Isolation | No direct Node.js access from renderer |
| Sandbox | WebView runs in isolated process |
| Electron Fuses | Dangerous features disabled in production |
| IPC Only | All communication through typed channels |
| MCP Validation | Only configured servers can connect |
| No Telemetry | Zero data collection |
Known Issues
| Issue | Status | Workaround |
|---|---|---|
| Auto-update not configured | Planned | Use package manager or download new release |
| Wayland compositors | Partial | Add --ozone-platform=wayland flag |
| AppImage needs FUSE | Distro-dependent | Install libfuse2 or fuse |
| Browser login redirect | Open | Login via the in-app window that appears when clicking login. If the external browser opens, copy the qwen://open?token=xxx URL from the browser address bar and run xdg-open "qwen://open?token=YOUR_TOKEN" in a terminal. This is a known limitation with AppImage protocol handlers on some desktop environments. |
Contributing
Contributions welcome.
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes
- Push and open a Pull Request
What we need:
- Translations for additional languages
- Bug reports and fixes
- Documentation improvements
- UI/UX enhancements
- Testing on different distros
License
MIT License. See LICENSE.
Acknowledgments
- Based on reverse engineering of the official Qwen Desktop app (Windows/macOS)
- Uses
@modelcontextprotocol/sdkby Anthropic - Bundled runtimes: Bun + uv
- Built with Electron
Keywords: Qwen AI Linux, Qwen Desktop Linux, Tongyi Qianwen Linux, open source Qwen, free Qwen AI desktop, Alibaba Qwen Linux client, Qwen MCP Linux, Qwen3 Linux app, Qwen chat desktop Linux, Ubuntu Qwen AI, Fedora Qwen, Arch Linux Qwen, Electron Qwen app
