omp packages

omp-viewer0.2.0

Live cross-session dashboard and todo tracker for oh-my-pi (omp). Shows every locally running omp session, its status, and its todo list in a small popup window.

tosheethd Published 20 hours ago MIT ~40 downloads/mo

Built for omp

The author tagged this package oh-my-pi.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

omp-viewer

npm version CI

Live cross-session dashboard and todo tracker for oh-my-pi (omp).

Shows every locally running omp session in a small popup window: cwd, session name, busy/idle/needs-you status, last tool, context-window pressure, cumulative cost/token usage, and its todo list (mirrored from omp's built-in todo tool — this extension registers no new todo tool and adds no tokens to any request).

Install

npm install --prefix ~/.omp/agent/extensions/omp-viewer omp-viewer

That's it — a postinstall script registers the extension in ~/.omp/agent/config.yml's extensions: list automatically (omp itself, confirmed against v18.1.18, does not auto-discover anything under extensions/ on its own; this script is what makes "nothing else to install" actually true). It only ever edits an existing config.yml — if you've never run omp yet, or the file's extensions: key isn't a plain list, or anything else goes wrong, it backs off and prints the exact YAML to add by hand instead of guessing at your config's shape.

Reload plugins (or start a new omp session) once it's registered.

To skip npm entirely and point config.yml straight at a package you dropped somewhere yourself:

extensions:
  - ./path/to/omp-viewer

Use

  • The first omp session on the machine spawns a small background server (default port 8317) and opens the dashboard in a chromeless app-mode browser window.
  • Every later session just connects to that server; closing a session removes it from the roster within a heartbeat.
  • Closing the popup is not permanent: the next prompt you send in any session reopens it automatically. Run /dashboard instead if you want it back immediately without waiting for your next message.
  • Killing the server (or the machine sleeping/crashing) recovers automatically: the next session that can't connect respawns it.
  • The terminal window/tab title updates live with a status glyph (🟢 idle / 🟡 busy / 🔴 needs you) plus the session name, so you can find the right window without the popup at all.
  • A native desktop notification fires the moment any session starts needing you (tool approval or a question), on Windows and Linux.
  • Click 📌 in the dashboard header to pin it above every other window, via the browser's native Document Picture-in-Picture API — the same mechanism behind Spotify's web player miniplayer. Click 📍 (or the restore button left in the now-empty original window) to unpin. Chromium 116+ only (Edge/Chrome both qualify); the button is hidden on anything older.
  • Any question the agent asks via the ask tool can be answered from either the terminal or the popup — whichever you respond to first wins; the other is cancelled. Tool-approval prompts ("Allow tool: write/bash/...") are still terminal-only — the extension can flag them (red dot, toast) but has no API to decide them, and routing that decision through an unauthenticated local socket would be a real security regression.

Configuration

  • OMP_DASHBOARD_PORT environment variable, or
  • <project>/.omp/omp-viewer.json: { "port": 8300 }

Security

The dashboard WebSocket requires a shared secret, generated on first run and stored at ~/.omp-viewer/token (owner-only file permissions). Without it, any local process on the machine could otherwise read your session state (or, now that ask answering exists, answer the model's questions on your behalf) just by connecting to the loopback port. The extension and the popup both read this token automatically — nothing to configure.

Requirements

  • Windows or Linux, with node (or bun) reachable on PATH to run the bundled server subprocess.
  • For the popup window: Microsoft Edge or Google Chrome/Chromium on Windows; microsoft-edge, google-chrome, or chromium on Linux. If none is found, the dashboard link, /dashboard command, and terminal-title/toast signals all still work — the popup just doesn't open (open http://127.0.0.1:8317/?token=<contents of ~/.omp-viewer/token> in any browser instead).

Non-goals

No remote access, no shared multi-user server, no editing todos from the popup, no chat/transcript mirroring, no answering tool-approval prompts remotely.