How sevenflanks/opencode-manager-web works
OMW is a Windows-hosted manager for OpenCode projects and instances, with browser-based oversight and optional Tailnet remote access. The primary workflow is: a user selects a project and starts a background instance in the web console; the manager coordinates the OpenCode runtime, records instance and primary-session state, and returns overview and session information for display. Users can also inspect connectivity, stop or resume instances, and continue work in OpenCode Web. The launcher provides a separate CLI path. The sampled excerpts show the server composition and selected service, storage, and UI behavior; some route-to-service details and runtime internals are inferred only where documented capabilities support them.
Main entry points: app.ts HTTP routes · service.ts Instance service · api.ts Manager API client · App.vue Web console
Components 20
User interfaces
- Web console
apps/web/src/App.vue - Manager API client
apps/web/src/api.ts - Session tree
apps/web/src/components/SessionTreeNode.vue
Manager service
- Manager server
apps/manager/src/server.ts - HTTP routes
apps/manager/src/app.ts - Instance service
apps/manager/src/service.ts - Manager repository
apps/manager/src/repository.ts - Shared contracts
packages/contracts/src/index.ts
Instance runtime
- OpenCode runtime
apps/manager/src/agents/opencode/runtime.ts - Process control
apps/manager/src/process-control.ts - Session projection
apps/manager/src/session-projection.ts
Access and launch
- Connectivity control
apps/manager/src/connectivity.ts - Remote access
apps/manager/src/remote-access.ts - Request authentication
apps/manager/src/auth.ts - CLI launcher
packages/launcher/src/manager-cli.ts
Other components
- Operator
- OpenCode CLI
- Tailscale Serve
- SQLite state
- Browser
Connections 22
- Operator → Browser: uses
- Browser → Web console: opens
- Web console → Manager API client: requests
- Manager API client → HTTP routes: calls API
- HTTP routes → Request authentication: authenticates
- Manager server → HTTP routes: builds
- Manager server → Instance service: configures
- HTTP routes → Instance service: dispatches
- Instance service → Manager repository: reads and writes
- Manager repository → SQLite state: persists
- Instance service → OpenCode runtime: manages instances
- OpenCode runtime → Process control: controls processes
- OpenCode runtime → OpenCode CLI: runs and queries
- Instance service → Session projection: projects sessions
- Web console → Session tree: renders sessions
- Session tree → Manager API client: loads children
- HTTP routes → Connectivity control: serves connectivity
- Connectivity control → Remote access: registers mappings
- Remote access → Tailscale Serve: configures Serve
- CLI launcher → Manager server: starts or reuses
- CLI launcher → OpenCode CLI: launches wrapper
- Manager API client → Shared contracts: uses types