Web UI app for oh-my-pi (omp) coding agent.
English | 简体中文 | 日本語 | Русский
ompweb provides a browser workspace for your local omp runtime: session browsing with branch navigation and forking, real-time chat over the omp RPC protocol, model / MCP / skill management, Git worktree switching, and rich file previews.
📸 I believe screenshots sometimes describe better than words
The project is primarily adapted to run inside Docker (Linux): the docker-compose.yaml at the repository root builds the image, mounts the repository, and maps the launcher ports. Start it with a single command:
docker compose up -d --buildthen open http://127.0.0.1:6767 (see Environment variables below for the password).
Note: the compose file binds c:/users/dev/.omp to /root/.omp inside the container by default — please update this source: path to the .omp store of your own user (~/.omp on Linux, or c:/users/{user}/.omp on Windows) before starting the container, so that the container uses your existing credentials, sessions, and settings.
The mobile web version is a full-featured PWA: add it to your phone's home screen and it behaves like a native app. Building and running it as a standalone Windows / Linux / macOS application is equally supported. Forking the project and extending it is explicitly encouraged.
The launcher probes the sibling ports SIBLING_PORTS = [30177, 30178, 30179] (hardcoded in bin/omp-web.js); docker-compose.yaml maps all three into the container. Use these ports when an agent starts a dev server inside the container and you want to reach / debug it from a browser on the host.
The compose file ships with OMP_WEB_PASSWORD=asdf1234 by default — use it at the login screen, or override it to your own value.
When the repository is mounted into the container (the compose default), a ompweb-rebuild-restart.sh script is registered in the Script schedulers settings as a manual-launch scheduler — a convenient way to rebuild and redeploy ompweb after your agent has modified the source. Only a page refresh is needed afterwards to pick up the new build. Once a fresh build is deployed and OmpWeb has started, you receive an in-UI notification offering a Refresh page button. Note: a concurrently running ompweb dev server instance may occasionally make the main instance's build stale.
The bundled multi-agent Agent MCP server is disabled by default. Enable it (Settings → Extensions & Tools → MCP) if you intend to let the OMP agent spawn and coordinate different agents.
The project incorporates improvements originally contributed by the kahme247 and 37chengshan forks, elegantly merged into the codebase with only the useful features retained; the majority of fixes were provided by Splinterjke. Selected improvements:
- Major bugs with files exploring, scrollbar weird behaviour and so on mostly solved, but some left specifically for you, hehe
- Configurable Context Compaction settings and priority
- A large set of new themes and palettes (Monokai family, Omarchy Monokai, Catppuccin, Rosé Pine, Harbor, omp Midnight, Oatmeal Latte an many others) with corrected surface tokens and themed text selection
- Git Graph modal — visual repository history with per-commit file diff browsing
- Improved RPC / IPC communication, including session restoration and turn continuation after server restarts
- OmpWeb rebuild & restart fixes: refresh notification with an explicit refresh button, loopback
/api/ui/refreshexemption, manual scheduler seeding - Chat minimap / scrollbar improvements: full-height rail, gradient accent beam, rail-height-bounded thumb, larger hover tooltips
- Clockwise gradient border beam on the chat input
- Unified, generalized font-size settings across the interface
- Expandable and resizable sections in the left sidebar, plus resizable sidebar / workbench panes
- Script schedulers functionality (interval, daily, weekly, cron, manual) with a dedicated settings panel
- Chat event actions — named automations (notification, HTTP request, bash command, scheduled script) triggered by chat lifecycle events, with event data variables in the payload
- Improved Skill Hub and Agents pages in Settings - Skill hub and Agents show instances not only from active workspace, but from each one
- Better new-session composer with workspace picker, plus-menu attachments, and context ring
- Expandable thinking and detail blocks with inline expansion of complete tool inputs
- 3-zone top bar with a center workspace / session breadcrumb, session-info popover, and sub-agents hub in the composer
- Removal of unnecessary extras, with layout / gutter and performance cleanups
| Variable | Description | Default / Example |
|---|---|---|
PORT / -p / --port |
Server port | 6767 |
OMP_WEB_HOSTNAME / -H / --hostname |
Bind hostname | 127.0.0.1 |
OMP_WEB_PASSWORD / --password |
Web sign-in password (compose default: asdf1234) |
(None / disabled) |
OMP_WEB_ALLOWED_HOSTS |
Comma-separated non-loopback hosts allowed to reach the app | (empty — loopback only) |
OMP_WEB_NO_OPEN |
Skip opening browser automatically | 0 (1 to skip) |
OMP_WEB_DISABLE_AUTOUPDATE |
Set to 1 to disable update checks and in-app updates; restart after changing |
0 |
OMP_WEB_OMP_BIN |
Absolute path to omp binary |
Resolved from PATH |
OMP_WEB_STT_ENDPOINT |
OpenAI-compatible transcription endpoint URL | None (disabled) |
OMP_WEB_STT_KEY |
Optional API key for the STT endpoint | None |
OMP_WEB_STT_MODEL |
Optional model name for the STT endpoint | None |
PI_CODING_AGENT_DIR |
OMP agent home directory | ~/.omp/agent |
HTTP_PROXY / HTTPS_PROXY |
Proxies for server-side requests | (System default) |
Licensed under the MIT License.





































































































