Skip to content

Repository files navigation

🇺🇸 English • 🇧🇷 Português

Zero Desktop

Zero Desktop

A native desktop GUI for the zero coding agent.
Built with Tauri + Quasar.

Features • Install • Quick Start • Docs

Status: Alpha — actively evolving. Core chat, multi-session architecture, MCP panel, integrated terminal, and workspace management are already implemented.


What is Zero Desktop?

Zero Desktop is a native desktop interface that wraps the zero coding agent and turns it into a visual, multi-project productivity tool. Instead of juggling terminal windows, you get a project-aware, multi-pane chat environment where every workspace can run independent sessions side by side.

It does not bundle or modify the zero binary — it uses zero's public Agent Client Protocol (ACP) over stdio. This keeps zero-desktop updates separate from your zero CLI updates.


Features

🗂️ Workspace-Centric Design

  • Add project folders through the native OS folder picker.
  • Workspaces are persisted across restarts.
  • Each workspace has its own avatar, session list, and active processes.
  • Switching workspaces connects/disconnects the agent automatically.

💬 Multi-Session Parallel Chat

  • Open up to 4 panels per workspace simultaneously.
  • Each panel is a live zero acp process that can think, write, and run tools independently.
  • Resize panels freely with draggable splitters.
  • Closing the last panel automatically opens a fresh one so the workspace never feels empty.

🧠 Rich Chat Interface

  • Streaming assistant replies with real-time reasoning blocks.
  • Tool-call cards with live states: running, completed, or error.
  • Inline diff viewer for edit_file / write_file changes.
  • Error bubbles and permission decisions rendered in context.
  • Collapsible model thinking panels.

✅ Live Plan Checklist

  • The agent's update_plan steps are shown as an inline checklist above the input.
  • Pending, in-progress, completed, and failed states are color-coded and animated.
  • The checklist auto-hides once every task is done.

📎 File Attachments

  • Attach images or text/code files to any message.
  • Images are sent as vision blocks; text files are wrapped in <attached file> blocks.
  • File previews appear before sending.
  • Supported: images, markdown, JSON, YAML, Python, Go, Rust, JavaScript, TypeScript, and many more.

🛠️ MCP Panel

  • Right-side drawer shows every MCP backend configured in zero.
  • Live health checks with on-disk status cache for instant rendering.
  • Tool counts per backend and aggregated tool list.
  • Edited-files strip with expandable inline diff previews.

🖥️ Integrated Terminal

  • Real PTY-backed shell tabs docked to a resizable bottom panel — not a fake console, actual $SHELL login shells with colors, job control, and interactive programs.
  • Open/close tabs like browser tabs; each workspace keeps its own set of terminals, running independently in the background when you switch away.
  • Cite a terminal's visible output (or selection) straight into whichever chat panel is focused, as a fenced code block, to show the agent an error without retyping it.

⚡ Permission & Safety Controls

  • Real permission requests forwarded from the agent with the exact options it offers.
  • Switch between Ask and Auto-allow modes.
  • Permission decisions are persisted and replayed from history.

🎨 Model Switching

  • Switch the active provider/model directly from the chat input bar.
  • Lists real models from the provider's API.
  • Model snapshots are recorded per session so history always shows what answered.

🌙 Native Desktop Experience

  • Dark and light mode support.
  • Compact, animated workspace avatars.
  • Reactive session indicators (idle, thinking, writing, using tool).
  • Responsive narrow/mobile layout with collapsible drawers.

Architecture Highlights

  • Rust backend spawns and manages one zero acp process per active panel.
  • Hand-rolled JSON-RPC peer on top of tokio + serde_json for full ACP duplex communication.
  • Local rich history stored at ~/.local/share/zero-desktop/session-history/ so sessions replay faithfully.
  • Per-session Pinia stores keep multiple live conversations reactive and independent.
  • Real PTY-backed shells (via portable-pty) power the integrated terminal panel, one process per open tab.

Install

On Linux, run:

curl -fsSL https://raw.githubusercontent.com/pdl-clay/zero-desktop/main/scripts/install.sh | bash

For details, see the Linux Installation Guide.


Quick Start (development)

pnpm install
pnpm dev

Build

pnpm build

Documentation


Project Rules

Every new feature, significant change, or architectural decision must be documented in .md files under docs/ before or alongside implementation. See AGENTS.md.

About

Zero Desktop - an open source desktop project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages