There are many agent harnesses.
This one is yours.
Zeta is a coding agent for the terminal: subagents, plan mode, LSP, DAP, hindsight memory, hashline edits, time-traveling rules — with a native Rust engine doing the heavy lifting. It tracks the OMP mainline and ports Pi's advanced capabilities.
In China: if the official registry is slow, use the Tencent mirror
npm install -g @linxiraos/zeta --registry=https://mirrors.cloud.tencent.com/npm/.
Alibaba's npmmirror has previously lagged on pi-natives@1.0.2 and broken installs — if you hit an error, switch to the official registry or the Tencent mirror.
Desktop (GUI) builds: GitHub Releases.
Design goals
MModern first
A clear product identity, secure onboarding, reliable sessions, a full-featured Web UI — no hand-assembled extension stacks for everyday coding.
CCache first
Keep provider prompt-cache eligibility without sacrificing protocol correctness, tool freshness, or session reliability. Long sessions stay cheap.
ESelf-evolving
Extensions, skills, prompt templates, and themes are first-class. Ask the agent to build what you need — it can customize itself on the fly.
UUpstream mergeable
Runtime tree, package layout, Bun workflow, and internal @zeta/* names follow OMP conventions, so upstream updates stay mergeable.
OMP mainline, Pi advanced
SSubagents
Parallel subagents with their own context and tools, aggregated back into the main session.
PPlan mode
Plan first, then execute — approve before the agent touches your workspace.
LLSP + DAP
Language servers and debug adapters built in: definitions, diagnostics, breakpoints, stack frames.
HHindsight memory
Lessons from past sessions are recalled and applied automatically in later work.
EHashline edits
Content-addressed line edits: refactors and bulk replacements stay traceable.
RNative Rust engine
Text, regex, grep, and diff heavy lifting runs on Rust primitives.
Four modes
The full TUI experience: panels, previews, tool cards, keyboard shortcuts.
zeta -p "query" for scripts; --mode json streams events.
A JSON protocol over stdin/stdout for non-Node integrations.
Embed the agent as a library and control its full lifecycle.