OpenManager

OpenManager is one app for running and managing AI coding agent sessions: OpenCode, Cursor and Claude Code (Codex is planned).

Instead of juggling a separate terminal or editor for each agent, you get a single chat-style UI to start sessions in your projects, watch them work, answer their questions and permission prompts, and pick up where you left off, from any device.

How it works

 browser / desktop / phone          your machine
 ┌──────────────────┐   WebSocket   ┌─────────────────────────┐
 │  OpenManager UI  │ ────────────▶ │  Environment server     │──▶ OpenCode
 └──────────────────┘               │  (Node, SQLite)         │──▶ Cursor
                                    └─────────────────────────┘──▶ Claude Code
  • The environment server runs on the machine where your code lives. It owns your projects, starts the agent CLIs, and stores sessions and history in a local SQLite database. Your code and provider logins never leave that machine.
  • The web app is the client. It connects to one or more environments.
  • Other devices (a phone, another laptop) join by pairing: create a link or QR code in Settings → Devices and open it on the new device.

What you can do

  • Add project folders and start sessions with any installed provider
  • Pick the model, mode and reasoning options per session
  • See streaming replies, tool calls and reasoning as they happen
  • Approve permissions and answer agent questions from the UI
  • Attach images to prompts
  • Keep drafts that sync between devices
  • Get browser notifications when a session finishes or needs you
  • Pair, rename and revoke devices
  • Run the server in the background (Windows logon task, Linux/WSL systemd)

Getting started

You need Node 24, pnpm (corepack enable), and at least one provider CLI installed and logged in (opencode, cursor-agent or claude).

pnpm install
pnpm dev:web

Then open http://127.0.0.1:5173. This starts:

  • the environment server at http://127.0.0.1:43120
  • the web app at http://127.0.0.1:5173

and connects them for you, with this repo as the first project.

Install the server on a machine

No checkout or Node needed. Windows (PowerShell):

irm https://raw.githubusercontent.com/calledforth/openmanager/main/scripts/install.ps1 | iex

Linux or WSL:

curl -fsSL https://raw.githubusercontent.com/calledforth/openmanager/main/scripts/install.sh | sh

Then openmanager service install runs it in the background. See docs/install.md. From a checkout, the same commands are node apps/server/dist/main.js service install after a build.

What's in the repo

PathWhat it is
apps/serverEnvironment server: runs agents, stores data, auth and pairing
apps/webWeb app (Vite + React), the main client
apps/desktopOlder Electron app (OpenCode + Convex), being replaced by the web app
apps/mobileExpo (React Native) app, early stage
packages/app-coreShared React UI used by web and desktop, plus Storybook
packages/environment-clientClient that talks to an environment server
packages/protocolWire protocol shared by server and clients
packages/agent-*Provider runtime, contracts and views (@agentpack/*)
packages/shared, convexOlder shared types and the Convex backend used by the desktop app
docsDesign notes, decisions and guides

Common commands

CommandWhat it does
pnpm dev:webStart the server + web app (hot reload)
pnpm devStart the Electron desktop app
pnpm storybookUI playground
pnpm typecheckTypecheck everything
pnpm lintLint everything
pnpm testRun all tests
pnpm ci:serverServer checks + build (also ci:web, ci:app-core, ...)

More docs