Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zo — Zettabyte Oracle

A fast, minimal CLI for using OpenRouter models from your terminal. zo handles one-off questions, pipelines, multi-turn chat, file edits, workspace tools, shell commands, web search, and image generation without turning every request into an unrestricted agent session.

Install

cargo install zo-cli
export OPENROUTER_API_KEY='sk-or-v1-...'

Pre-built binaries and full setup instructions are available in the documentation.

Features

  • Progressive output — Stream Markdown with syntax-highlighted code in a terminal and plain text in pipelines.
  • Flexible model selection — Use aliases such as /sol and /sonnet, fuzzy matches, or full OpenRouter model IDs.
  • Reasoning control — Set effort per request, custom model, or globally.
  • File references and scoped output — Read with @file, write with !file, or read and update with @!file; globs are supported.
  • Workspace file tools — Let the model inspect a project with --files read or edit it with --files write.
  • Shell tools and policies — Enable live command execution with --shell and control approvals through policy files.
  • Web search — Add OpenRouter server-side search with --web.
  • Interactive chat — Keep context across turns with multiline input and file-path completion.
  • Unix pipelines — Combine prompts with piped command output or redirect zo's plain-text response.
  • Image generation — Generate one image directly to a workspace path with --image.
  • Custom models — Define aliases with system prompts and model-specific reasoning effort.
  • Explicit safety controls — Review diffs, opt into hidden paths, inspect tool calls, and choose interactive or automated approval behavior.

Examples

# Ask a question; quotes are optional for simple prompts
zo How do I unpack a tar file into a directory

# Select a model and reasoning effort
zo --reasoning-effort medium /sonnet 'Explain async Rust'

# Include files or grant a specific output path
zo '@src/*.rs Review this module'
zo 'Document this project in !ARCHITECTURE.md'
zo 'Add error handling to @!src/main.rs'

# Let the model inspect or edit the current workspace
zo --files read 'Explain how configuration is loaded'
zo --files write 'Refactor the parser and update its tests'

# Enable shell commands or current web results
zo --shell 'Run the test suite and summarize any failures'
zo --web 'Summarize the latest Rust release announcement'

# Compose with other commands
git diff | zo 'Review these changes for bugs'

# Continue interactively
zo --chat --files read 'Help me understand this project'

# Generate an image
zo --image assets/icon.png 'Minimal blue terminal icon'

Permissions

zo starts without workspace or shell tools. File markers grant access only to the named paths; --files grants access inside the current workspace; and --shell is separately opt-in and policy-controlled. Existing-file changes show a diff and ask for approval unless --accept-writes is set. Hidden tool and output paths remain blocked unless --hidden is supplied.

See zo.svent.dev for the quick start, complete permission model, configuration, and examples.

License

MIT License — see LICENSE.

About

A fast, minimal CLI for interacting with LLMs via OpenRouter

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages