One terminal.
The whole workbench.
Zeta is more than a coding agent. It is a workspace: tabs, tilable real-terminal panes, and a fully clickable menu bar — with the coding agent (zetacode) and the terminal IDE (zetaide) alongside it. Three commands, nothing else. Linux is the primary platform; Windows is supported.
One suite, three commands
The workspace: a nested-terminal workbench. Tabs, a pane tree, page stacks, a menu bar, widget panes — written in Rust, mouse-first.
Coding agent CLI: subagents, plan mode, LSP/DAP, hindsight memory, hashline editing, and time-travel rules out of the box.
Terminal IDE (TermIDE, vendored Rust): a near-graphical engineering experience in the terminal. Its built-in editor is the @linxiraos/editor payload, spawned by path — it has no bin of its own.
The workspace is mouse-first
Rendered offscreen from the shipped shell — not a mockup. Project tree on the left, terminal and editor panes in the middle, git and usage on the right. Click to enlarge.
Tabs and the pane tree
Split any pane left/right or top/bottom; a weighted pane tree keeps proportions exact. Each pane also keeps a stack of pages — several terminals in one pane, nothing closed.
Fully clickable
Menu bar, tab bar, pane title controls (+ ↔ ↕ ✕), and page tabs all respond to the pointer: switching, splitting, closing, and layout repair are mouse operations.
Widget panes
A clock with a clickable calendar, a 🍅 pomodoro timer, and a 📋 clipboard history run as native panes — tools at hand, never leaving the terminal.
Suite-aware
The Tools menu knows the suite: a missing tool installs itself into the pane that asked for it. zeta doctor checks every tool and prints the exact fix.
A coding agent, out of the box
The full tool surface
File read/write, search, patching, shell, git, task delegation, and structured tool output — heavy work runs on native Rust primitives.
Sessions are trees
Branching history: resume from any node. Terminal, browser, and desktop share one persistent session.
Project tracking
Turn on /tracking and the agent writes milestones and key decisions to tracking docs — kept across sessions, browsable in the UI.
Extensible to the bone
TypeScript custom commands, a command marketplace, skills, MCP, full TUI hooks — the agent can customize itself on the spot.
One command to the workbench
Then: zetawork opens the workspace, zetawork doctor checks the whole suite.
Coding agent alone: npm install -g @linxiraos/zeta (zetacode).
Slow mirror? Try --registry=https://mirrors.cloud.tencent.com/npm/.
Updating: zetacode update self-updates the CLI; reinstall anytime with the script above.
Desktop build (the zetawork GUI only; zetacode and zetaide live in the terminal): Windows .zip, Arch .pkg.tar.zst, .AppImage — on GitHub Releases.
The zetawork GUI
Four run modes
The full TUI: panels, previews, tool cards.
zetacode -p "query" prints and exits; --mode json streams events.
A JSON protocol over stdin/stdout for non-Node integrations.
Embed the agent as a library and own its lifecycle.
15+ providers, hundreds of models
Drive Zeta from chat apps
Native on Linux, not wrapped
Native engines
Text, regex, grep, and diff go to Rust primitives; the workbench itself is a native Rust binary.
The terminal is home
OSC 8 hyperlinks, native PTY management; the whole suite is terminal-born and works over SSH.
Desktop bridge
Open local editors and file managers safely from the Web UI: HMAC gateway tokens, target allowlists, workspace containment.
One command to land
npm / Bun global install, or curl … install.sh | sh; the desktop build ships as Arch .pkg.tar.zst, AppImage, and a Windows zip.
A first-class citizen of Linxira OS
First-class identity
Zeta will run under its own system identity (a dedicated UID) as a system-level citizen — not a process parasitic on some user session.
OS-enforced permissions
Permission boundaries are enforced by the OS: Zeta declares policy, the system enforces it, changes need human approval — overreach is refused at the system layer.
Private by default
No access to personal data by default: private home files and other users' data are invisible to Zeta; every action is logged and auditable.