LAT 37°46′N · LONG 122°25′W
CELESTIAL OBSERVATION LOG · ENTRY 0.2.0
CALIBRATE   /   GITHUB ↗
A VOICE IN THE DARK

Orb.

A voice-driven code explorer that lives in your terminal. Ask your codebase anything, watch it think aloud, and listen as it answers back.

$ bun install -g @andypai/orb COPY
N E S W
I. THE INSTRUMENT

A small, honest tool for reading code aloud.

Orb is an instrument panel for your codebase — not a chatbot, not an editor. A place to ask a question, see the search happen, and hear the answer while it’s still being drawn.

Orb is a Bun-native terminal application that pairs any real codebase with a model of your choice — Claude, GPT, or whichever you’re signed in to.

Every file it reads, every grep, every shell command it runs is surfaced on the panel as it happens. There is nothing hidden behind the curtain.

And because the answer is often longer than you’d like to read, Orb will, if you wish, speak it — through a local speech gateway, or your operating system’s own voice.

II. OBSERVATIONS

Six things you’ll notice in the first minute.

§ 001 — THE LOOP

Ask. Watch. Listen. Repeat.

A single loop, refined. Type a question in English, or paste a MacWhisper transcription. Watch the model open files and run searches. Hear the answer while it’s streaming, first syllable in under two hundred milliseconds.

§ 002

Live tool activity

Every read, grep, and shell command rises to the surface the instant it happens. Nothing runs behind a curtain.

§ 003

Streaming speech

Kokoro via tts-gateway, or macOS say as a graceful fallback. Either one, hands stay on the keyboard.

§ 004

Session memory

One session per project, resumed automatically. Close the tab and come back tomorrow — the thread is still there.

§ 005

Model cycling

Shift+Tab rotates the resolved model choices for the active provider. Use faster aliases for quick passes, deeper aliases when the question gets interesting.

III. A LIVE TRANSMISSION

What the panel actually looks like.

ORB · ~/PROJECTS/ORB ANTHROPIC · SONNET · VOICE=ALBA
┌─────────────────────────────────────────────────────────────────┐
│    orb  — voice-driven code explorer      CONNECTED   │
└─────────────────────────────────────────────────────────────────┘

you › how does the streaming tts pipeline work?

[ read ]   src/tts/stream.ts                           
[ read ]   src/tts/gateway.ts                          
[ grep ]   "/tts/stream"  —  4 matches                 
[ bash ]   curl http://localhost:8000/health           

orb › Orb opens a long-lived POST to /tts/stream on
      tts-gateway, forwards model deltas sentence-by-sentence,
      and pipes PCM audio into mpv as it arrives — first
      syllable lands in under 180 ms on local kokoro.

· speaking now
IV. CALIBRATION · 60 SECONDS

From zero to a speaking codebase.

i
STEP ONE · INSTALL

Pull the binary

Bun is required at runtime. Install globally, or run one-off with bunx when you’re only visiting.

$ bun install -g @andypai/orb
ii
STEP TWO · AUTHENTICATE

Point at a model

Sign in with Codex and ChatGPT, reuse Claude Code or Max, or export a Gemini or Anthropic API key. Orb prefers Codex when it is available.

$ codex login --device-auth
$ codex login status
$ # optional fallbacks
$ export GOOGLE_GENERATIVE_AI_API_KEY=
iii
STEP THREE · VOICE · OPTIONAL

Choose the voice path

Local macOS say works out of the box. For streaming Kokoro, install the gateway.

$ uv tool install tts-gateway[kokoro]
$ tts serve --provider kokoro --port 8000
iv
STEP FOUR · OBSERVE

Ask it something

Launch Orb in the repository you want to understand. That is the entire ceremony.

$ orb
$ # or somewhere else entirely
$ orb /path/to/project
V. MODEL LIGHTS

Bring whichever model you already trust.

Claude
ANTHROPIC · AGENT SDK

Reuses a local Claude Code or Max session when it finds one; otherwise falls back to ANTHROPIC_API_KEY. Rotate models live without restarting the conversation.

  • haikudefault · fast
  • sonnetbalanced
  • opusdeepest
GPT
OPENAI · CODEX APP-SERVER

Uses your Codex ChatGPT login, starts or resumes a project thread through codex app-server, defaults to GPT 5.5 high effort, and streams Codex command and file-change activity into Orb’s terminal UI.

  • gpt-5.5default · high effort
  • gptlatest mainline
  • prodeeper
VI. THE CONSOLE

One key, one honest thing.

ENTERSubmit the current question
CTRL+JInsert a newline
CMD+VPaste a MacWhisper transcription
ESC / CTRL+SStop speech playback
SHIFT+TABCycle provider models mid-flight
CTRL+OToggle live tool-call details
CTRL+CClose the instrument
orb --newBegin a fresh conversation

Stop reading the repo.
Ask it instead.