Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

zo - Zettabyte Oracle

A blazing fast CLI tool for AI interaction 🚀

zo brings the power of 50+ AI models directly to your terminal with progressive streaming, fuzzy model selection, and seamless Unix pipeline integration.

Basic Usage
zo 'What is Rust?'

Why zo?

âš¡ Speed First

Progressive streaming displays responses as they're generated. See the first token in ~1 second, not after the entire response is complete.

🎯 Developer UX

Fuzzy matching for model selection (/son → sonnet), file references (@file.txt), and STDIN support make AI feel native to your terminal workflow.

🔄 Flexibility

Access 50+ models through OpenRouter with zero lock-in. Switch between Claude, GPT, Gemini, and more with a single command. Already have API keys? Use OpenRouter's BYOK to route through your existing accounts.


Key Features

Progressive Streaming with Rich Rendering

Responses appear in real-time with beautiful markdown formatting and syntax-highlighted code blocks.

zo /sonnet 'Write a Rust HTTP server with error handling'
# See code appear with instant syntax highlighting
Technical highlights:
  • Dual-mode rendering: regular text streams immediately, code blocks buffer for syntax highlighting
  • 100+ programming languages supported
  • Same highlighting engine as VS Code and bat
  • No lag, no buffering delay

Intelligent Fuzzy Model Selection

Use short, memorable names instead of full model IDs. 3-stage matching (exact → substring → fuzzy) ensures you get what you want.

zo /son 'test'      # Matches 'sonnet'
zo /gpt 'test'      # Matches 'gpt4'
zo /pro 'test'      # Matches 'geminipro'

Default models: (All models available via OpenRouter.ai can be configured)

Short NameFull Model IDBest For
sonnetanthropic/claude-sonnet-4.5Default - Complex reasoning, code analysis
opusanthropic/claude-opus-4.5Highest quality Claude
haikuanthropic/claude-3-haikuFast, simple tasks
flashgoogle/gemini-2.5-flashFast, balanced
geminiprogoogle/gemini-3-pro-previewGoogle's most capable
gpt4oopenai/gpt-4oGPT-4 Optimized
o1openai/o1Reasoning-focused
grokx-ai/grok-4X.AI's latest

File Reference System

Include file contents in your prompts using @filename syntax. Learn more →

# Single file analysis
zo @data.csv 'Analyze this dataset'
 
# Multiple file comparison
zo @v1.rs @v2.rs 'What are the key differences?'
 
# Code review
zo /sonnet @src/main.rs 'Review for bugs and performance'

You can mix file references with slash commands and STDIN.


STDIN Pipeline Integration

Pipe output from any command directly to zo for AI analysis. Learn more →

# Code review from git
git diff | zo 'Summarize changes and check for bugs'
 
# Error analysis
cargo build 2>&1 | zo /sonnet 'Explain these errors'
 
# Log analysis
tail -n 100 error.log | zo 'Find patterns in these errors'
 
# System diagnostics
ps aux | zo 'Which processes are using too much memory?'

Interactive Chat Mode

Have multi-turn conversations with full context preservation. Learn more →

zo --chat 'Let us discuss Rust lifetimes'
> What happens if I violate the rules?
> exit
Features:
  • Full conversation history maintained
  • File references work in every message
  • Works with initial STDIN
  • Error recovery with retry option
  • Exit with exit, quit, q, or Ctrl+D

Custom Models with System Prompts

Define specialized AI assistants with custom system prompts.

# ~/.config/zo/config.toml
 
[[custom_models]]
name = "coder"
model = "anthropic/claude-sonnet-4.5"
system_prompt = "You are an expert programmer. Provide concise, well-commented code with error handling."
 
[[custom_models]]
name = "reviewer"
model = "anthropic/claude-sonnet-4.5"
system_prompt = "You are a senior code reviewer. Focus on bugs, performance, security, and best practices."
zo /coder 'Implement a LRU cache in Rust'
zo /reviewer @pull_request.diff 'Review this PR'

Quick Start

# 1. Get OpenRouter API key from https://openrouter.ai/keys
#    Already have OpenAI/Anthropic/Google keys? Use OpenRouter's BYOK (Bring Your Own Key)
#    to route through your existing accounts: https://openrouter.ai/settings/keys
 
# 2. Set up zo
export OPENROUTER_API_KEY="sk-or-v1-..."
# or
zo +init-config
 
# 3. Start using
zo 'What is Rust?'
zo /sonnet 'Explain async/await'
git diff | zo 'Summarize these changes'
 
# 4. Try chat mode
zo --chat 'Let us discuss system design'

Advanced Use Cases

Shell Integration

# Explain command before running
explain() {
    echo "$*" | zo 'Explain this command and what it does'
}
 
# Get command suggestions
howto() {
    zo 'How do I $* in bash/zsh? Give me the exact command'
}
 
# Analyze errors
fix() {
    "$@" 2>&1 | zo 'Why did this fail and how do I fix it?'
}

Git Workflows

# Commit message generation
git diff --cached | zo 'Generate a concise git commit message'
 
# PR description
git diff main...feature | zo 'Generate a detailed PR description'
 
# Code review
git diff main...feature | zo /reviewer 'Review this PR'

Development Workflows

# Error diagnosis
make 2>&1 | zo /debugger 'Explain and fix'
 
# Test generation
zo @src/lib.rs 'Generate comprehensive unit tests'
 
# Documentation
zo @*.rs 'Generate README.md with API docs'

Philosophy

zo embodies several design philosophies:

Unix Philosophy
  • Do one thing well (AI interaction)
  • Compose with other tools (pipelines)
  • Text-based interface (universal format)
Developer Experience
  • Sensible defaults, minimal configuration
  • Fast feedback loops (streaming)
  • Helpful errors with actionable suggestions
Flexibility Over Lock-in
  • 50+ models via OpenRouter
  • Switch models per-request
  • No vendor lock-in
Performance Matters
  • Streaming first (don't wait for completion)
  • Minimal startup time
  • Efficient resource usage

Get Started

Ready to bring AI to your terminal?

Get Started → View Examples →