Your AI, one shortcut away — even above fullscreen apps.
Zitong is a free, open-source desktop AI chat client for macOS and Windows that brings OpenAI (ChatGPT models), Claude, Gemini, GitHub Copilot, and Ollama into a single Spotlight-like overlay. Press a global hotkey, select any text in any app, and let AI transform it instantly — no browser tabs, no context switching, no copy-paste dance.
Built with Tauri + React, lightweight, fully private (all conversations stored locally in SQLite), and compatible with 10+ AI providers out of the box. A free, open-source alternative to BoltAI and Raycast AI.
Most AI chat apps are browser tabs. Zitong is different:
- Instant overlay — Press
⌘⇧Spaceto summon a Spotlight-like command palette that floats above everything, including fullscreen apps, across all macOS Spaces. - Works on selected text — Zitong auto-captures your current selection, runs an AI command on it, and gives you the result ready to paste back. No copy-paste dance.
- 10+ providers, one app — Switch between OpenAI, Claude, Gemini, Copilot, Ollama (local), and more. Mix and match per conversation.
- 100% local data — Conversations, settings, and templates live in a local SQLite database. Nothing leaves your machine except API calls to your chosen provider.
The headline feature. A Spotlight-style panel you can invoke from anywhere:
- Select text in any app (browser, editor, terminal, etc.)
- Press the global hotkey (
⌘⇧Spaceby default) - Pick an AI command — Zitong auto-copies your selection, sends it to the LLM with the command's prompt
- Act on the result:
- Replace — puts the AI result in your clipboard, ready to paste over the original
- Insert After — appends the result after your original text
- Open in Chat — continues the conversation in the full chat window
- Shorter / Longer — quick refinements without leaving the overlay
- Follow-up — type a custom instruction to iterate on the result
Works above fullscreen apps on macOS via NSPanel. On Windows, the overlay uses a standard always-on-top window.
A complete conversation UI when you need more than a quick command:
- Streaming responses with real-time token display and stop button
- Markdown + syntax-highlighted code blocks (with one-click copy)
- Switch provider & model mid-conversation — models are fetched live from each provider's API
- Auto-generated conversation titles after the first exchange
- Token count per message
- Multiple chat styles — Minimal, Bubble, or Card layout
Create AI personas tailored to your workflow:
- Define a system prompt, emoji icon, and description
- Override provider, model, temperature (0–2), and max tokens per assistant
- Set a default assistant that's auto-selected on launch
- Switch assistants mid-conversation from the chat header
Reusable prompts with dynamic variables:
- Use
{{variable}}syntax — variables are auto-detected and shown in a visual preview - Organize templates by category (General, Coding, Writing, Analysis, Creative)
Customizable commands that power the overlay palette:
- Configure each command's behavior (Replace, Insert After, or Open in Chat)
- Set a system prompt, provider, model, and output language per command
- Assign keyboard shortcuts for your most-used commands
- Enable/disable and reorder commands
Connect to any combination of these providers:
| Provider | Auth | Notes |
|---|---|---|
| OpenAI | API key | GPT-4o, GPT-4, etc. |
| Anthropic | API key | Claude 3.5, Claude 3, etc. |
| Google Gemini | API key | |
| GitHub Copilot | OAuth | Full device-flow sign-in |
| Ollama | None | Local models, no API key needed |
| Mistral | API key | |
| Groq | API key | |
| DeepSeek | API key | |
| OpenRouter | API key | |
| xAI (Grok) | API key | |
| OpenAI-compatible | API key + base URL | Any compatible endpoint |
Each provider supports: enable/disable toggle, live model fetching, set-as-default, and connection testing.
- Theme: System, Light, or Dark
- Accent colors: Violet, Blue, Purple, Green, Orange, Red, Pink, Cyan
- Font: System Default, Inter, JetBrains Mono, SF Pro (size 12–20px)
- Code themes: One Dark, GitHub, Dracula, Solarized
- Compact mode for smaller screens
- System tray — close the window and Zitong keeps running in the background
- Launch at login — start hidden, ready for your first hotkey press
- macOS menu bar integration with standard Edit/Window menus
- Separate settings window — changes sync live to the main app
| Feature | Zitong | BoltAI | ChatGPT App | Claude App | Raycast AI | Jan | Msty |
|---|---|---|---|---|---|---|---|
| Overlay above fullscreen apps | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Auto-capture selected text | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Multi-provider (10+) | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Local models (Ollama) | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| GitHub Copilot support | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Custom AI commands | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Custom assistants | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| Prompt templates with variables | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Cross-platform | ✅ macOS/Win | ❌ macOS only | ✅ macOS/Win | ✅ macOS/Win | ❌ macOS only | ✅ macOS/Win | ✅ macOS/Win |
| Open source | ✅ MIT | ❌ | ❌ | ❌ | ❌ | ✅ AGPL | ❌ |
| 100% local data | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Free | ✅ | ❌ Paid | ✅ Free tier | ✅ Free tier | ❌ Paid | ✅ | ✅ Free tier |
In short: Zitong combines the overlay-driven workflow of BoltAI with cross-platform support, GitHub Copilot integration, and full open-source transparency — at no cost.
| Layer | Technology |
|---|---|
| Framework | Tauri 2.x (Rust backend + webview frontend) |
| Frontend | React 19 · TypeScript · Vite · Tailwind CSS 4 |
| Database | SQLite (via rusqlite, bundled) |
| HTTP/Streaming | reqwest + Tokio async runtime |
| UI Libraries | Lucide icons · React Markdown (GFM) · React Syntax Highlighter |
| Tauri Plugins | Global Shortcuts · Clipboard Manager · Dialog · Opener · Auto-start · tauri-nspanel (macOS overlay) |
- Node.js (v20.19+ or v22.12+)
- npm (package manager, bundled with Node.js)
- Rust (latest stable)
- Operating System: macOS 10.15+ or Windows 10+
-
Clone the repository
git clone https://github.com/sykuang/Zitong.git cd Zitong -
Install dependencies
npm install
-
Run in development mode
npx tauri dev
-
Build the application
npx tauri build
-
Install the built application
macOS:
npm run install:dmg
This will mount the DMG and copy the app to your Applications folder.
Windows: The installer will be in
src-tauri/target/release/bundle/
Release builds are not notarized or code-signed, so macOS Gatekeeper will block the app on first launch. Use one of the methods below to allow it.
- Open Finder → Applications
- Right-click (or Control-click) Zitong.app
- Select Open from the context menu
- In the dialog that appears, click Open
You only need to do this once; subsequent launches work normally.
- Try opening Zitong normally (it will be blocked)
- Go to System Settings → Privacy & Security
- Scroll down — you'll see "Zitong" was blocked from use because it is not from an identified developer
- Click Open Anyway and authenticate
xattr -cr /Applications/Zitong.appThis strips the quarantine flag. You can then open the app normally.
Launch Zitong → open Settings (⌘,) → go to Providers → add an API key for at least one provider (or connect GitHub Copilot via OAuth, or point to a local Ollama instance).
Click New Chat in the sidebar or press ⌘N. Pick a model from the dropdown and start talking.
Select text anywhere on your screen → press ⌘⇧Space → pick a command (e.g., "Fix Grammar", "Explain Code", "Translate") → the result is ready to paste.
- Settings → Providers → select GitHub Copilot
- Click Authenticate with GitHub — a device code is shown and auto-copied
- Complete the OAuth flow in your browser
- Models become available immediately
| Action | macOS | Windows |
|---|---|---|
| Overlay Command Palette | ⌘⇧Space (customizable) |
Ctrl+Shift+Space |
| New Chat | ⌘N |
Ctrl+N |
| Toggle Sidebar | ⌘B |
Ctrl+B |
| Open Settings | ⌘, |
Ctrl+, |
| Search Conversations | ⌘K |
Ctrl+K |
| Focus Chat Input | ⌘L |
Ctrl+L |
| Delete Conversation | ⌘⇧⌫ |
Ctrl+Shift+Backspace |
The global hotkey is fully customizable in Settings → Shortcuts with a visual key recorder.
Zitong stores all data locally in a SQLite database:
- macOS:
~/Library/Application Support/com.primattek.zitong/zitong.db - Windows:
%APPDATA%\com.primattek.zitong\zitong.db
The database includes:
- Conversations and messages
- AI provider configurations
- Settings and preferences
- Prompt templates
- Custom assistants
- AI commands
Zitong/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── context/ # React context providers
│ ├── commands/ # Tauri IPC wrappers
│ └── types/ # TypeScript types
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands.rs # Tauri command handlers
│ │ ├── providers.rs # AI provider implementations
│ │ ├── db.rs # SQLite database layer
│ │ ├── panel.rs # macOS overlay support
│ │ └── lib.rs # Main entry point
│ └── Cargo.toml # Rust dependencies
├── package.json # Node.js dependencies
└── vite.config.ts # Vite configuration
# Frontend tests
npm run build
# Rust tests
cd src-tauri
cargo test- Frontend: ESLint + Prettier
- Backend: rustfmt + clippy
# Format Rust code
cd src-tauri
cargo fmt
# Lint Rust code
cargo clippyZitong is a free, open-source desktop AI chat client for macOS and Windows. It puts a Spotlight-style overlay above every app — including fullscreen apps — so you can run AI commands on selected text from anywhere on your screen.
Yes. Zitong is 100% free and open source. You only pay for the AI provider API keys you choose to use (or use free local models via Ollama).
The official ChatGPT and Claude apps only talk to one provider and don't offer a global overlay above fullscreen apps. Zitong supports 10+ providers in one app, includes a customizable command palette, and works with local models via Ollama.
Yes. Zitong replicates BoltAI's overlay-driven workflow but is free, open source, and cross-platform (macOS and Windows). It also includes built-in GitHub Copilot OAuth (device-flow) sign-in.
OpenAI, Anthropic Claude, Google Gemini, GitHub Copilot, Ollama (local), Mistral, Groq, DeepSeek, OpenRouter, xAI Grok, and any OpenAI-compatible endpoint.
No. All conversations, settings, assistants, and templates are stored in a local SQLite database on your machine. Outbound traffic is limited to: API calls to the AI provider you choose for each message, provider model-list/OAuth endpoints when you sign in or refresh available models, and an automatic update check to the Zitong release endpoint on launch.
The current release targets macOS and Windows. Linux builds are possible from source via Tauri but are not officially distributed yet.
Yes. Zitong supports GitHub Copilot OAuth (device-flow) sign-in, giving you access to Copilot's chat models.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License terms are not yet finalized. A LICENSE file will be added to the repository; until then, please contact the maintainers before redistributing.
- GitHub: @sykuang
- Project Link: https://github.com/sykuang/Zitong
Note: This is an early-stage project under active development. Some features may be incomplete or experimental.