Feature Request: Graphical User Interface for oh-my-pi
The Ask
OMP is a terminal-driven agent harness — powerful, scriptable, hash-anchored. But the TUI is the only face it has. Unlike peers in the space (OpenCode, Codex CLI, Cursor), there is no graphical interface layer.
Request: a browser-based GUI (single codebase, renders as both a web app and a desktop app via Tauri/Electron) that wraps the OMP agent core. Think of it as omp daemon exposing a local API, with a nice React frontend consuming it.
Why
| Product |
Interface |
Model |
| OpenCode |
Web UI (localhost:5173) + Desktop |
Runs opencode-go as a backend, frontend talks to it via API |
| Codex CLI |
Web UI (localhost:7172) + Terminal fallback |
Same pattern — local daemon + browser UI |
| Cursor |
Standalone desktop app |
Tightly integrated editor |
| OMP |
TUI only |
No graphical layer exists |
The pattern is proven: a local agent daemon + a browser UI gives you both a desktop app (e.g. Electron/Tauri wrapping the web UI) and a web app (just open the browser) from one codebase.
Suggested Approach
- Daemon mode —
omp serve (or omp daemon) starts the agent runtime as an HTTP/WebSocket server on a local port, exposing a simple JSON API for: starting sessions, sending messages, streaming responses, managing files.
- Web UI — A standalone frontend (React, Svelte, or similar) consuming that API.
- Desktop: wrap it in Tauri → native window, system tray, notifications
- Web: serve the same build from the daemon, open
http://localhost:<port>
- Share the TUI code where possible — the terminal emulator, markdown renderer, and keybindings from
pi-tui could be repurposed for a browser-based terminal component.
Minimum Viable GUI
Not asking for a full IDE. The MVP could be:
- Chat pane — message list with streaming, markdown rendering, syntax-highlighted code blocks, image display
- Input area — multi-line editor with history, paste support, @-mentions for files
- Session list — sidebar showing open/recent sessions, click to switch
- File viewer — inline diff display, file tree
- Settings panel — provider config, model selection, keybindings
- System tray — background daemon, click to open
Nice-to-have GUI Details
- Dark/light theme matching system preference
- Split-pane view: code diff on one side, chat on the other
- Drag-and-drop file attachment
- Rich rendering of errors, diffs, and Mermaid diagrams (already done in TUI)
- Desktop notifications (already done in TUI —
pi-tui has desktop-notify.ts)
Existing Assets to Reuse
OMP already has most of the heavy lifting done in @oh-my-pi/* packages:
| Package |
What it provides |
GUI reuse |
pi-tui |
Markdown renderer, image display, keybindings, autocomplete, fuzzy search |
Port markdown/syntax rendering to web |
pi-coding-agent |
Session management, tool execution, agent loop |
The core — expose via API |
pi-mnemopi |
Long-term memory |
Settings/knowledge panel |
omp-stats |
Analytics |
Usage dashboard |
Prior Art Links
Why Now
OMP is already competitive on the agent side (subagents, LSP, AST edits, hooks, extensions). The missing piece is a graphical interface that lowers the barrier for less terminal-native users and gives a visual workspace for diff review, multi-file editing, and session management. A web-based GUI also enables remote usage (SSH-forward the port, use from a tablet).
Feature Request: Graphical User Interface for oh-my-pi
The Ask
OMP is a terminal-driven agent harness — powerful, scriptable, hash-anchored. But the TUI is the only face it has. Unlike peers in the space (OpenCode, Codex CLI, Cursor), there is no graphical interface layer.
Request: a browser-based GUI (single codebase, renders as both a web app and a desktop app via Tauri/Electron) that wraps the OMP agent core. Think of it as
omp daemonexposing a local API, with a nice React frontend consuming it.Why
localhost:5173) + Desktopopencode-goas a backend, frontend talks to it via APIlocalhost:7172) + Terminal fallbackThe pattern is proven: a local agent daemon + a browser UI gives you both a desktop app (e.g. Electron/Tauri wrapping the web UI) and a web app (just open the browser) from one codebase.
Suggested Approach
omp serve(oromp daemon) starts the agent runtime as an HTTP/WebSocket server on a local port, exposing a simple JSON API for: starting sessions, sending messages, streaming responses, managing files.http://localhost:<port>pi-tuicould be repurposed for a browser-based terminal component.Minimum Viable GUI
Not asking for a full IDE. The MVP could be:
Nice-to-have GUI Details
pi-tuihasdesktop-notify.ts)Existing Assets to Reuse
OMP already has most of the heavy lifting done in
@oh-my-pi/*packages:pi-tuipi-coding-agentpi-mnemopiomp-statsPrior Art Links
Why Now
OMP is already competitive on the agent side (subagents, LSP, AST edits, hooks, extensions). The missing piece is a graphical interface that lowers the barrier for less terminal-native users and gives a visual workspace for diff review, multi-file editing, and session management. A web-based GUI also enables remote usage (SSH-forward the port, use from a tablet).