A calmer place to drive your coding agent.
The omp terminal agent is excellent at the actual coding. But terminals weren't built for everything that comes with running an agent for hours a day: keeping track of what it's working on, glancing at it from another room, picking up where it left off tomorrow, deciding whether to let it execute the thing it just proposed.
pi is known for its flexibility and omp applies some opinions on how to leverage it more effectively. omp-deck is best understood as a web interface for omp with a small set of additional opinions applied on top of omp.
Status: v0.5.0 — cross-platform CI matrix, Linux container builds and boots, Mac/Linux launcher. See CHANGELOG.md.
More screenshots
You're already running an agent. You've felt the friction of trying to:
- Track what it's actually doing for you as a body of work, not a scroll of terminal output that ends at
Ctrl+L. - Ask it something from somewhere that isn't your laptop such as the couch, a walk, bed.
- Decide carefully when it's about to do something big, instead of trusting it on the first try.
- Capture an idea or a bug without breaking your current focus.
- Have it remember things across sessions without you stuffing context windows by hand.
omp-deck is the cockpit that holds all of that. The chat surface stays at parity with the terminal, but everything around the chat is built for the rest of the work.
A kanban that's actually yours. Backlog → Active → Done columns with drag-and-drop. Tasks get T-N display IDs you can refer to in conversation (/task done T-32). The agent can mutate the board too — its work becomes visible without you doing the bookkeeping.
Plan mode — Shift+Tab in the composer (or /plan) flips the active session into read-only-with-resolve mode. The agent investigates, drafts a plan, and surfaces it for your approval. Edit before approving, reject if it's wrong, or hit Approve and watch it execute with full tools restored. Borrowed verbatim from the TUI; brought to where the rest of your workflow lives.
An inbox you can dump into. Scratch ideas, bug reports, decisions to revisit. One-click promote to task when the dust settles. No mental context-switch from current work.
A knowledge base over your own markdown. Point /kb at a ~/kb directory you already keep (or accept the default), and the deck gives you a tree, viewer, editor, Obsidian-style force-directed graph, full-text search, [[wikilink]] resolution + create-on-click. Long-term memory that's plaintext-portable and outlives any agent session.
Routines. Multi-step pipelines on a cron, webhook, manual, or event trigger — author them visually on a node canvas, or in YAML if you're that kind of person. Ships with a daily-briefing template that wakes up, reads your kanban + inbox, and writes you a one-card morning summary back to the inbox. Build your own from there.
A messaging bridge to your phone. Telegram now (Slack / Discord / Matrix on the roadmap). DM the agent from anywhere; replies stream live via editMessageText. Allowlist-gated so only you (and whoever you invite) can drive it.
Multi-session. The chat sidebar lists every session you have open, plus the persisted ones you can resume. Each gets its own kanban scope, its own model, its own queued prompts. Switch between them without losing place.
A marketplace. Browse, install, and uninstall skills/plugins/MCPs over the SDK's plugin format. Empty state seeds with anthropics/claude-plugins-official so you're never staring at an empty page.
Settings that respect your .env. Provider API keys, host/port, data dirs — all manageable from a UI with masked secrets, an audit log, and atomic writes. Hot-applied where possible.
Three themes. Paper (warm cream + rust accent, engineer's-notebook aesthetic), Slate (dark), Horizon (purple-ink dark). FOUC-free swap — pick one and refresh-proof it.
You don't need the omp CLI installed separately — the deck bundles the agent SDK in-process.
Prerequisites: Bun ≥ 1.3.14 on your PATH, plus Node ≥ 18 (for npm install itself).
npm install -g omp-deck
omp-deckBoots on http://127.0.0.1:8787 — open it in your browser. On first run, the deck creates ~/.omp/agent/ from scratch and installs starter skills + extensions; its own state lives in ~/.omp-deck/ (override with OMP_DECK_DATA_DIR). If you already use omp in a terminal on this machine, your existing ~/.omp/agent is picked up automatically — no re-auth.
Authenticate (one-time, in the deck UI):
- Claude Pro / Max, ChatGPT Plus / Pro, or any subscription provider → Settings → Providers → click Sign in. Browser OAuth flow handles the rest. Token stored in
~/.omp/agent/auth.db. - Anthropic / OpenAI / OpenRouter / Google / etc. API key → Settings → Env → paste the key. Saved to the deck-managed
.env(never logged in clear text).
That's it — pick a model in the chat surface and send a prompt.
Other env knobs: OMP_DECK_PORT, OMP_DECK_HOST, OMP_DECK_DB_PATH, OMP_DECK_UPLOADS_ROOT — see docs/configuration.md. Prefer to skip the global install? bunx omp-deck works too (same package, no PATH pollution).
If you're working on the deck itself or want hot reload + the Vite dev server:
git clone https://github.com/bjb2/omp-deck.git
cd omp-deck
bun install
bun run devOpen http://127.0.0.1:5173.
On Windows, you can also double-click Start-OMP-Deck.cmd from the repo root — it boots the server on :8787, starts the Vite app on :5173, opens the deck in your browser, and writes logs under .logs/. On macOS / Linux, the sibling is bash Start-OMP-Deck.sh start (stop / status subcommands too); bare invocation runs foreground, same as bun run dev.
For container-based deployment, the repo ships a Dockerfile (Debian-slim base, glibc-compatible); see docs/deployment.md. For the full step-by-step (Bun install, optional omp CLI, auth alternatives), see docs/install.md.
omp + omp-deck is one slice of a busy space. The neighbors:
| omp + omp-deck | Claude Code | Hermes Agent | OpenClaw | |
|---|---|---|---|---|
| Form factor | Terminal TUI (omp) + web cockpit (omp-deck) | Terminal CLI / IDE plugin | Terminal TUI + multi-channel gateway | Daemon + multi-channel gateway |
| Model support | Anthropic, OpenAI, Google AI / Vertex, OpenRouter, Ollama, llama.cpp, LM Studio, any OpenAI-compatible | Anthropic Claude only | Model-agnostic (Nous Portal, OpenRouter, NIM, …) | Model-agnostic (profiles in openclaw.json, w/ fallback chain) |
| Hosting | Self-hosted Bun process, loopback-only by default | Anthropic-hosted CLI | Local / Docker / SSH / Modal / Daytona / Vercel Sandbox | Self-hosted on owned host (Mac mini, VPS) |
| Kanban / task board | Built-in, WS-synced, T-N display IDs |
— | — | — |
| Plan mode | Shift+Tab / /plan → propose → approve/edit/reject before execution |
TUI plan-mode equivalent | — | — |
| Routines / scheduled work | Multi-step pipelines + visual canvas + per-step observability | — | — | Heartbeat scheduler (~30 min) |
| Knowledge base | /kb cockpit over local markdown wiki + graph + backlinks |
— | "Deepening user model" (internal, not a markdown wiki) | — |
| Inbox + promote-to-task | Built-in | — | — | — |
| Messenger bridges | Telegram (Slack / Discord / Matrix on the roadmap) | — | Telegram, Discord, Slack, WhatsApp, Signal | 20+ (WhatsApp, Telegram, Slack, Discord, iMessage, Matrix, Teams, …) |
| License | MIT | Proprietary | Open source | Open source |
The short version: Claude Code is the polished vendor experience for Claude. Hermes is the self-improving agent with serverless backends. OpenClaw lives wherever you message from. omp + omp-deck is the cockpit shape — a model-agnostic coding agent with a web surface for the work around the chat (kanban, routines, KB, inbox, plan-mode approval, messaging bridge).
It's not a hosted product. You run it yourself, on your machine or in a VM you own. Defaults are loopback-only — to reach it from your phone, front it with Tailscale Serve, an SSH tunnel, or a reverse proxy with its own auth. See docs/deployment.md for the hardening checklist.
It's not a replacement for omp. It embeds the same SDK in-process and shares the same ~/.omp/agent session + auth store. Run both — they coexist. The terminal is still where you'll do quick one-shots; the deck is where work sticks around.
State is yours. Tasks, inbox, routines, KB — all SQLite + plain markdown on disk. No telemetry. The deck never logs secret values, only redacted forms.
- Install — fresh vs existing-omp install paths.
- Configuration — full env reference + restart semantics.
- Deployment — Tailscale, Docker, SSH-tunnel, hardening checklist.
- Slash commands — deck
/task+/plan, SDK builtins, user/project markdown commands. - Marketplaces — catalog seeding, install semantics, capability badges.
- Skills —
/skillsview, plugin → skill hierarchy, scope semantics, REST surface. - Telegram bridge — DM-driven agent from your phone.
- Themes — Paper / Slate / Horizon / adding more.
- Start command template — define
/startfor auto-orientation. - Architecture — workspace layout, frame model, synthetic events, theming.
- TUI parity — feature matrix vs the omp TUI.
- Contributing — dev loop, code quality, style.
MIT. See LICENSE.






