zuse README

The project's README from github.com/swarajbachu/zuse. As one markdown file: README.md.

Zuse Alpha

A chat-first desktop app for developers who work with AI coding agents. Wraps Claude Code, Codex, Grok, Gemini, Cursor, and OpenCode in a persistent, project-aware interface — structured chat history, rich composer, file viewer, integrated terminal, git worktrees, and session management, all stored locally.

Supports macOS and x64 Linux. Requires at least one supported agent CLI installed.


Install on Linux

Zuse currently ships x64 builds for Debian/Ubuntu and other Linux distributions that can run AppImages.

Debian and Ubuntu

Install the latest .deb release directly from a terminal:

curl -fsSL https://raw.githubusercontent.com/swarajbachu/zuse/main/scripts/install-linux.sh | sh

The installer downloads the .deb attached to the latest GitHub release, verifies its GitHub-published SHA-256 digest, and uses apt, which installs Zuse's Secret Service and Avahi runtime dependencies. You may be prompted for your sudo password.

Other distributions

Download the latest x64 .AppImage from GitHub Releases, then run:

chmod +x Zuse-*-linux-x86_64.AppImage
./Zuse-*-linux-x86_64.AppImage

AppImage users must provide a Secret Service implementation, such as GNOME Keyring or KWallet. Install avahi-publish-service if you want nearby-device discovery.

Before starting an agent session, install and authenticate at least one of the supported agent CLIs. If a CLI installed through a version manager is not detected, set its absolute binary path in Zuse's provider settings.


Supported agents

Provider CLI
Claude claude
Codex codex
Grok grok
Gemini gemini
Cursor cursor
OpenCode opencode
Pi pi

Pi: install with npm install -g --ignore-scripts @earendil-works/pi-coding-agent, then run pi and /login. See the Pi provider guide for binary settings and native permissions.

What's shipped

Agent sessions

Composer

Permission system

Sub-agents

Git worktrees

Cloud workspaces

PR & Changes pane

File viewer & editor

Layout & UI

Persistence & distribution


Tech stack

Shell Electron 42
Renderer React 19 + TypeScript + Vite
Styling Tailwind CSS v4 + shadcn/ui (zinc dark)
State Zustand (ephemeral) + SQLite (persistent)
IPC @effect/rpc with Electron IPC transport
Runtime Effect.ts (Layer, Stream, Schema)
Terminal Ghostty VT (WebAssembly/native) + node-pty
Editor CodeMirror 6
Monorepo Bun workspaces + Turbo

Monorepo layout

apps/
  desktop/     Electron shell
  renderer/    React UI (Vite)
  server/      All backend logic — Effect Layers
  web/         Next.js marketing site
packages/
  contracts/   @zuse/contracts — typed RPC contracts + branded IDs
  ui/          Shared React components
specs/
  0.01-MVP/    Foundation
  0.02-MVP/    File viewer & editor
  0.03-MVP/    Composer 2.0
  0.04-MVP/    Code index (spec complete, not yet built)
  sub-agents/  Sub-agent delegation

Documentation

Internal and contributor references


Dev setup

# Install
bun install

# Dev (renderer + Electron)
bun dev

# Build
turbo build

# Package macOS DMG (signed)
bun run dist:mac

# Package macOS DMG (unsigned, local testing)
bun run dist:mac:unsigned

# Package Linux AppImage and deb
bun run dist:linux

# Package Linux without publishing
bun run dist:linux:unsigned

Requires: Bun 1.3.10+, Node.js ≥ 22.13, and macOS or x64 Linux.

Changes to the macOS awake controller require the physical MacBook release check, including assertion and best-effort closed-lid verification.

The default install uses the public icon set and does not require registry credentials. Contributors can clone the repository and run the commands above without any additional setup.

Licensed developers can opt into the paid icon styles by exporting HUGEICONS_TOKEN before bun install. The install hook downloads the licensed packages into an isolated local directory; they are never added to the public workspace dependency graph. If lifecycle scripts were disabled, run bun run icons:install-paid, then confirm the active set with bun run icons:status --expect=paid.

The packaging commands build x64 artifacts into dist/. End-user installation instructions are in Install on Linux.


License and acknowledgements

Except where third-party terms apply, Zuse's source code is licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). Small areas with close correspondence to MIT-licensed upstream software retain the applicable copyright and permission notice. Reference-driven pull requests, library foundations, and the code-level inventory are documented in Attribution and provenance.

Zuse also builds on ideas and foundations from the wider open-source community. We are grateful to the contributors whose work made this project possible.

zuse (swarajbachu/zuse)

Searching Database…

232 ·GitHub
这是什么?Zuse 是一个以聊天为主的桌面应用,把多个 AI 编程代理 CLI(Claude Code、Codex、Grok、Gemini、Cursor、OpenCode、Pi)封装在一个持久的、能感知项目的界面里,带有聊天历史、文件查看器、集成终端和 git worktree,全部保存在本地。
在 Linux 或 macOS 上怎么安装 Zuse?在 Debian/Ubuntu 上,在终端运行安装脚本,它会下载最新的 .deb 版本、校验其 SHA-256 摘要并通过 apt 安装。其他 Linux 发行版可以从 GitHub Releases 下载 x64 .AppImage,macOS 用户则会得到已签名并通过公证的通用 .dmg。
我需要单独安装 Claude Code、Codex 或其他代理 CLI 吗?需要——Zuse 只是外壳界面。开始会话之前,你必须自己安装并完成至少一个受支持代理 CLI(Claude、Codex、Grok、Gemini、Cursor、OpenCode 或 Pi)的认证。
这是 alpha 软件吗?Linux 上安装有什么坑?项目明确标注为“Zuse Alpha”。在 Linux 上,AppImage 用户需要自备 Secret Service 实现(如 GNOME Keyring 或 KWallet)来存储凭据,因为它不随应用打包。
Zuse 也能在 Windows 上运行吗?不能——Zuse 目前只提供 macOS(Apple Silicon 和 Intel)和 x64 Linux(deb/AppImage)版本;没有原生 Windows 构建。
我的 API 密钥是怎么存储的?API 密钥保存在操作系统的钥匙串里,而不是以明文形式写入磁盘。
云工作区功能是干什么用的?Zuse 可以在托管的 E2B 工作区里运行受邀的编程代理会话,即使你关掉桌面应用它们也会继续运行:消息会排入加密邮箱并唤醒工作区进行投递,同时在 ~/.zuse/cloud/ 下保留一个单向的 Mac 镜像。
这里的 git worktree 能给我带来什么?每个聊天会话都有自己隔离的 git worktree,带有按仓库的设置和限定范围的文件引用,因此你可以在同一个仓库上并行运行多个代理会话,而不会互相踩到改动。
文件和终端面板里内置了什么?一个支持 TS/JS、Python、Rust、Go 等语法的 CodeMirror 6 编辑器,PNG/JPEG/GIF/WebP/AVIF 的内联预览,以及由 Ghostty VT 加 node-pty 驱动的 PTY 终端,全部搭配可调整大小的三栏布局。
Zuse 如何处理子代理和费用?像 Opus 4.7 这样的大模型可以为子任务派出更便宜的 Haiku 或 Sonnet 模型,在聊天时间线里显示为可折叠的包裹行,并带有按代理统计的 token 用量,帮助控制开销。
Size
70.8 MB
Stars
232
Age
5mo
Commits · 90 Days