OMP HUD is OMP’s telemetry HUD: model, todos, agents, context, quota, tokens, speed, Git and tools in one or more compact rows around the composer. It is the fork of OMP Bar v9 renamed and rebuilt in October 2026; /bar still works as a temporary alias.
Representative row (unicode, default look)
◌ ᵃˢᵗʳᵃ ☮ ☑☑▣☐⏽☐☐ ⁴ ▰▰▰▱▱▱▱▱ ¹²↓↑⁶⁷⁸⁹ ●●●○○○○○ ⑂main ⧖ ⁸⁵Left to right: the model nickname, todos with 4 left, the context bar, tokens, quota, the Git branch and speed.
| Need | Fastest path | Result |
|---|---|---|
| See and edit everything | /hud | Visual editor; every change is saved at once |
| Compare looks and widths | /hud preview | Every sample state under OMP’s own bar |
| Make a common change | /hud make context longer | Compiles locally into validated operations |
| Precise batch change | hud_configure | Inspects, previews or atomically applies operations |
| Drive the HUD by keyboard | ↓↓ or F2 on an empty composer | Focus, jump hints, walker |
Where the latest version lives
| What | Where |
|---|---|
| Source of truth | private omp-hud repository, branch hud, worked on from the development Mac |
| Backup | private bare omp-hud.git on loca, pushed by a 30-minute autosave |
| Original | omp-bar v9.0.0 on loca, fetch-only (upstream-bar) |
| Backlog and wish ledger | BRIEF.md in the repository; receipts in docs/WAVE*.md |
| Status | wave 3 independently verified (October 2026): 24/24 ramble rows resolved, 20 of them proven in a live OMP session |
Host-specific home-directory paths are intentionally omitted from this published reference.
Install and reload
In the repository, omp started in its directory loads the working tree through .omp/extensions/omp-hud.ts; nothing is installed globally. Elsewhere, link the extracted bundle into ~/.omp/agent/extensions/ and add it to the extensions setting.
Reload
After an edit, start a new OMP session.
/reload-pluginsrefreshes plugins, skills, slash commands, agents and MCP, but does not re-import extension modules: the HUD keeps its old code, key hook and drawing (checked live on OMP 18.6.1).
Commands
| Command | Does |
|---|---|
/hud | Open the visual editor |
/hud preview | Every state under OMP’s bar; ↑↓ looks, ←→ widths, Enter applies |
/hud config | Print areas, rows, look and segment order |
/hud look <name> | Apply minimal, balanced, full, usage, user or a saved look |
/hud look next · look save <name> · look delete <name> | Cycle, save (max 12) or delete looks |
/hud call this model Opie | Nickname the current model; list nicknames, forget gpt-6-sol nickname |
/hud reset · /hud help | Defaults · all commands |
Areas and the editor
The HUD draws in areas around the composer: above input (the default, one row, as v9), below input and bottom. OMP cannot draw a top area, so the editor greys it out. Each area holds rows; each row has left, center and right zones; each area can add a one-row gutter.
| Key | Segment row | Area header | Child layer |
|---|---|---|---|
Space / x | Show or hide | Toggle the gutter | Change the value |
← → / [ ] | Reorder | Move the area | Back (←) |
S | Side, in split alignment | — | — |
L / A | Next row / next area | — | — |
Enter | Open its settings | Toggle the gutter | Edit or select |
Esc / q | Done (already saved) | Done | Back |
Ctrl+C | Revert to the state at open | same | same |
Order is one global left-to-right list that doubles as survival priority: earlier segments are drawn first and dropped last when the terminal narrows.
Focus and walker
The HUD takes the keyboard only from an empty composer, never from a dialog, select, input prompt or the /hud editor.
| Key | Effect |
|---|---|
↓↓ (within 300 ms) | Focus the nearest HUD line below the composer, else above |
F2 | Focus the nearest HUD line above the composer, else below |
← → · ↑ ↓ | Move between segments, rows and areas; crossing the composer returns to it |
1–9, a–z | Jump to the labelled segment of the focused area |
Enter | Walker: todos, agents, or sessions for any other segment |
Esc | Back; any other key leaves focus and reaches the composer |
↑ stays OMP’s prompt-history recall, which is why focus-up is F2. The focused segment is underlined and named in full below (a model shows its provider/id). In the walker, Enter opens a todo or agent detail, or puts /resume <id> in the composer for a session.
Looks
A look is the visual part of the settings: areas and rows, order, shown segments, bars, glyphs, palette, layout and per-segment options. It never carries the enabled flag, motion, per-segment colors, nicknames or redraw timing. The four presets are v9’s set; each sets only what is listed and keeps everything else.
| Preset | Shows | Also sets |
|---|---|---|
minimal | model, todos, context, tokens (first) | context bar 6, no context %, speed off |
balanced | model, todos, context, tokens, agents, loop, quota, git, tools, speed | context bar 8, quota bar 6, speed last |
full | every segment | context bar 10, quota bar 8 |
usage | model, context, quota, tokens, speed, clock | split alignment, usage bars left, context breakdown, context bar 16, quota bar 8, quota % and reset |
Before any look switch the current view goes into the user slot, unless a saved look already holds it or it is a preset nobody touched since the last switch. An edit made under a preset is therefore never lost; /hud look user brings it back.
Natural language
These compile locally, with no model round trip; anything else goes to the agent and hud_configure.
/hud make context longer /hud put todos right of model
/hud hide percentages /hud show only model todos context tokens
/hud colors vivid /hud color git accent
/hud reduce motion /hud put hud below the input
/hud bottom gutter 1 /hud todos count totalWhat the segments show
| Segment | Shows |
|---|---|
| model | Nickname (gpt-6-astra → Astra, always the latest of a family) and thinking level |
| todos | Plan glyphs and the open-task count, counting down; the count and divider vanish when all are done |
| context | OMP’s /context colors and thresholds; !, !!, !!! mark warn, high and danger without color |
| agents · loop · modes | Running subagents, loop counter, extension modes |
| quota · tokens · tps · cost | Provider quota, token flow, speed, session cost (hidden when unknown) |
| git · tools · activity · clock · brand | Branch state, tool count (a running tool swaps its glyph), activity, time |
Glyph sets: unicode (default, icons), nerd (opt-in) and ascii. Color modes: auto, quiet, vivid, classic, plus a color per segment.
Motion
The HUD moves only when something happened, at most 8 frames a second, with no timer while nothing moves: one sheen pass when a turn ends, one pass over the todos when a task completes, and a beat (lit, sheen, rest) while the agent waits on you, with ? or ⌨ in the margin. It follows OMP’s display.shimmer (classic, kitt, disabled). motion: reduced keeps a steady lit marker; motion: off draws neither.
Persistence
| What | Behavior |
|---|---|
| File | omp-hud.json in OMP’s agent directory: per user, shared by every project, like OMP’s own settings |
| Writes | Every change at once, atomically; a session shutdown or process exit writes anything not yet on disk |
| Unreadable file | The HUD runs on defaults, shows a banner and refuses to write, so the file is never destroyed |
| omp-bar | statusbar.json is neither read nor written |
Source map
| Concern | Source |
|---|---|
| Host contract | src/core/host.ts (HostAdapter); the core imports no OMP package |
| OMP adapter | src/adapters/omp/ (entry, feeds, prefs file, tool, dialogs) |
| Areas, rows, zones | src/core/areas/ |
| Focus, hints, walker | src/core/focus/ |
| Looks, editor, language | src/core/control/ |
| Segments | src/core/segments/ |
| Motion, glyphs, theme | src/core/motion/, src/core/glyphs/, src/core/theme/ |
From the repository, bun run verify runs the full suite (v9 parity, core contract, preview snapshots, settings matrix, CPU budget) and bun run preview prints every state without OMP.
OMP docs: wiki.omp.loca.zone · Upstream runtime: oh-my-pi