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 Claude models mid-conversation. Haiku for speed, Opus 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

Reuse your Claude Code or Max session, or export an API key. Orb auto-selects in a sensible order.

$ export ANTHROPIC_API_KEY=sk-ant-…
$ # or, for OpenAI
$ export OPENAI_API_KEY=sk-…
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. THE TWO 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 · RESPONSES API

Runs through Orb’s own bash, readFile, and writeFile tools, backed by a local subprocess sandbox scoped to your project root.

  • gpt-5.4default
  • gpt-5flagship
  • gpt-5.4-minilight
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 Claude 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.