PromptHub
Back to Blog
Developer Tools Open Source

chriswritescode-dev/opencode-manager: Mobile-First Control for OpenCode AI Agents

B

Bright Coding

Author

11 min read 108 views
chriswritescode-dev/opencode-manager: Mobile-First Control for OpenCode AI Agents

Managing AI coding agents from a desktop terminal works fine until you're away from your workstation. Developers increasingly need to monitor agent progress, review diffs, or intervene in running sessions from phones, tablets, or lightweight devices. The friction of SSH tunnels, VPNs, or simply lacking a laptop creates real bottlenecks in AI-assisted workflows.

chriswritescode-dev/opencode-manager addresses this gap directly. It's a mobile-first web interface for OpenCode AI agents that lets you manage, control, and code alongside multiple agents from any device. Built as a responsive Progressive Web App (PWA) with Docker↗ Bright Coding Blog deployment, it brings full agent orchestration to your pocket without sacrificing the technical depth terminal users expect.

With 829 GitHub stars, 101 forks, and an MIT license, this TypeScript project has gained meaningful traction since its last commit on July 16, 2026. This article breaks down what it does, how it works, and whether it fits your stack.


What is chriswritescode-dev/opencode-manager?

chriswritescode-dev/opencode-manager is an open-source web application that provides a graphical interface for managing OpenCode AI agents. OpenCode itself is an AI coding system; this tool layers a management plane on top, accessible from browsers on phones, tablets, or desktops.

The project is maintained by chriswritescode-dev and structured as a pnpm workspace with three TypeScript packages: a Bun + Hono backend, a React↗ Bright Coding Blog + Vite frontend, and a shared package for schemas and utilities. This architecture reflects modern full-stack development practices—type safety across boundaries, clear separation of concerns, and efficient build tooling.

The mobile-first design philosophy is deliberate, not an afterthought. The UI is responsive and installable as a PWA, with iOS-specific optimizations. This matters because many developer tools treat mobile as degraded desktop experience; opencode-manager inverts that assumption.

The project ships with Docker Compose for instant deployment, includes a dedicated ocm CLI for terminal integration, and publishes documentation via MkDocs Material. The combination suggests a mature open-source project with attention to both developer experience and end-user accessibility.


Key Features

Repository & Git Management The tool handles multi-repo setups with local discovery, SSH authentication, worktrees, unified diffs, and full branch/commit management. This isn't a shallow Git wrapper—it supports the workflows developers actually use when working across multiple codebases with agents.

Real-Time Chat & Sessions Communication uses Server-Sent Events (SSE) for streaming responses. The interface supports slash commands, @file mentions for context injection, Plan/Build mode toggles, and Mermaid diagram rendering for visualizing agent reasoning.

File Operations A directory browser with tree view, syntax highlighting, and CRUD operations on files. You can create, rename, delete, and ZIP-download directories directly through the interface.

Assistant Mode A dedicated AI workspace with auto-provisioned skills for schedules, notifications, settings, and repository operations. This extends agent capabilities without requiring manual configuration each session.

Scheduled Jobs Recurring repository jobs with reusable prompts, run history, linked sessions, and markdown↗ Smart Converter-rendered output. Useful for automated reviews, documentation updates, or periodic codebase analysis.

MCP Server Integration Add, configure, authenticate, and manage local or remote MCP (Model Context Protocol) servers with OAuth support. This positions opencode-manager as a hub rather than a silo.

AI Configuration Model and provider setup, API key management, OAuth for Anthropic and GitHub Copilot, plus custom agent definitions. The flexibility here matters for teams with existing AI infrastructure.

Audio Support Text-to-speech and speech-to-text via browser-native APIs and OpenAI-compatible endpoints. Accessible for hands-free operation or accessibility needs.

Push Notifications VAPID-based notifications for session events, questions, errors, and completions. Critical for asynchronous agent workflows where you step away from the device.


Use Cases

Remote Agent Monitoring You're commuting or away from your desk and need to check whether an overnight agent run completed, failed, or requires clarification. The PWA installs on your phone; push notifications alert you to actionable events without constant polling.

Multi-Repository AI Coordination Your team runs OpenCode agents across several microservices. Rather than SSHing between directories or maintaining multiple terminal sessions, you manage all repositories from a single interface with unified diff review and cross-repo context.

On-Call Incident Response A production issue requires quick agent-assisted investigation. From a tablet, you launch a session, reference @file mentions to point the agent at relevant logs or configs, and review Mermaid diagrams of proposed fixes—all without booting a full development environment.

Scheduled Maintenance Automation Configure recurring jobs for dependency updates, security scans, or documentation refreshes. The schedule system links runs to sessions for review, with markdown output you can scan quickly on mobile.

Bridge Between Terminal and GUI Workflows Using the ocm CLI, terminal-native developers attach local OpenCode TUIs to Manager-hosted repositories. This lets CLI-heavy workflows coexist with the web interface—push code from terminal, review from phone.


Installation & Setup

The README provides a minimal Docker Compose path to running instance. Reproduced exactly:

git clone https://github.com/chriswritescode-dev/opencode-manager.git
cd opencode-manager
cp .env.example .env
echo "AUTH_SECRET=$(openssl rand -base64 32)" >> .env
docker-compose up -d
# Open http://localhost:5003

Step-by-step breakdown:

  1. Clone the repository — Standard Git operation, pulls the pnpm workspace structure.
  2. Copy environment template.env.example contains documented variables; copying preserves structure while allowing local overrides.
  3. Generate authentication secret — The openssl command produces a 32-byte base64 secret for Better Auth. This secures sessions; without it, the application won't function in production mode.
  4. Start containersdocker-compose up -d runs the stack detached. The backend, frontend, and SQLite database initialize automatically.
  5. First-run admin creation — On initial load at http://localhost:5003, the interface prompts for admin account creation. No additional configuration is required for basic functionality.

For LAN or remote access, expand .env:

# Required for production
AUTH_SECRET=your-secure-random-secret  # Generate with: openssl rand -base64 32

# Pre-configured admin (optional)
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=your-secure-password

# For LAN/remote access
AUTH_TRUSTED_ORIGINS=http://localhost:5003,https://yourl33tdomain.com
AUTH_SECURE_COOKIES=false  # Set to true when using HTTPS

The AUTH_TRUSTED_ORIGINS variable is essential for non-localhost access—without it, authentication flows fail across origins. AUTH_SECURE_COOKIES must flip to true behind HTTPS to prevent browser rejection of auth tokens.

For OAuth, Passkeys, VAPID push notifications, and advanced configuration, the Configuration Guide provides depth beyond the quick start.


Real Code Examples

The README includes two primary code blocks. Both are reproduced below with context.

Example 1: Quick Start Deployment

git clone https://github.com/chriswritescode-dev/opencode-manager.git
cd opencode-manager
cp .env.example .env
echo "AUTH_SECRET=$(openssl rand -base64 32)" >> .env
docker-compose up -d
# Open http://localhost:5003

This is the canonical deployment path. The echo append operation is noteworthy—it modifies .env in-place rather than requiring manual editing, reducing setup friction. The comment # Open http://localhost:5003 is literal documentation in the README, not an added instruction here. The port 5003 appears to be the default frontend exposure point.

Example 2: Development Workflow

pnpm install
pnpm dev
pnpm lint
pnpm typecheck
pnpm test

These five commands cover the full local development lifecycle. pnpm dev likely starts both backend and frontend in watch mode given the workspace structure. pnpm typecheck is explicit—this project values TypeScript strictness over implicit compilation. The inclusion of test in the quick reference suggests maintained test coverage, though the README doesn't quantify it.

Example 3: Production Environment Configuration

# Required for production
AUTH_SECRET=your-secure-random-secret  # Generate with: openssl rand -base64 32

# Pre-configured admin (optional)
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=your-secure-password

# For LAN/remote access
AUTH_TRUSTED_ORIGINS=http://localhost:5003,https://yourl33tdomain.com
AUTH_SECURE_COOKIES=false  # Set to true when using HTTPS

This block demonstrates environment-driven configuration. The inline comment # Generate with: openssl rand -base64 32 repeats the quick-start command, reinforcing the secret generation pattern. The optional pre-configured admin bypasses first-run account creation—useful for automated deployments. The AUTH_TRUSTED_ORIGINS comma-separated list supports multiple domains, indicating multi-tenant or multi-environment deployments are anticipated use cases.

The README contains these three documented code examples. No additional code blocks are present in the source material.


Advanced Usage & Best Practices

PWA Installation Install the site as a PWA for offline-capable access and native-app-like notifications. On iOS, use "Add to Home Screen"; the interface is explicitly optimized for this path. This matters more than it might seem—browser tab management on mobile is friction-heavy, while PWAs reduce context-switching cost.

CLI Integration for Hybrid Workflows The ocm CLI bridges terminal and web workflows. Run ocm in a local clone to auto-detect the matching Manager repository by origin URL. Use ocm push / ocm pull for fast sync (git bundle + working-tree patch by default; --full for legacy tarball mirror). This lets you initiate agent sessions from your familiar terminal while monitoring from mobile.

Security Hardening Always set AUTH_SECURE_COOKIES=true with HTTPS. The default false accommodates local development but exposes sessions to interception on networks you don't control. Similarly, generate a fresh AUTH_SECRET per deployment—don't reuse across environments.

MCP Server Curation The MCP server integration is powerful but requires disciplined management. Each added server expands the agent's capability surface; audit servers for necessity and review their OAuth scopes. The Manager centralizes this configuration, making it easier to maintain than per-agent setup.

Schedule Design When creating recurring jobs, link them to dedicated sessions for output review. The markdown rendering is designed for quick scanning—structure prompts to produce concise, actionable summaries rather than verbose logs.


Comparison with Alternatives

Tool Approach Key Difference
chriswritescode-dev/opencode-manager Web PWA for OpenCode agents Mobile-first, multi-agent, Git-integrated, self-hosted
OpenCode TUI (default) Terminal interface Native to OpenCode; no web/mobile access without additional tooling
GitHub Copilot Chat IDE-integrated AI assistant Tightly bound to GitHub ecosystem; no self-hosting, limited mobile support
Continue.dev IDE extension for AI coding Editor-centric; mobile access requires remote desktop workarounds

opencode-manager's distinct position is self-hosted, mobile-native orchestration rather than IDE integration. It's not competing with Copilot's inline suggestions or Continue's editor experience—it's for the operational layer above: managing multiple agents across repositories from anywhere.

Trade-offs exist. Self-hosting requires Docker infrastructure and ongoing maintenance. The mobile-first UI may feel less information-dense than desktop alternatives for complex debugging. And it's specifically bound to OpenCode agents—unlike general-purpose AI interfaces, it doesn't abstract across providers.


FAQ

Is opencode-manager free to use? Yes, released under the MIT License. No pricing tiers or commercial restrictions are mentioned in the repository.

What AI models does it support? The README documents Anthropic and GitHub Copilot OAuth integration, plus custom agent definitions. Specific model versions aren't listed—configuration is provider-driven.

Can I run this without Docker? The documented quick start requires Docker. Local development uses pnpm directly, but production deployment assumes containerization.

Does it work offline? As a PWA, it likely caches static assets for basic interface loading. Real-time agent communication requires network connectivity to the backend.

How do push notifications work? Via VAPID (Voluntary Application Server Identification for Web Push). You'll need to configure VAPID keys in the environment for this feature.

Is there a hosted version? The README doesn't mention one. The project appears self-host only, with opencodemanager.app as a project landing page rather than SaaS offering.

What database does it use? SQLite with migrations, per the architecture section. This simplifies deployment but may require consideration for high-concurrency multi-user scenarios.


Conclusion

chriswritescode-dev/opencode-manager solves a specific, real problem: managing AI coding agents without being tethered to a desktop terminal. Its mobile-first PWA design, combined with serious technical depth—Git integration, MCP server support, scheduled jobs, and real-time streaming—makes it genuinely useful for developers who need operational flexibility.

The project is best suited for teams already using OpenCode agents who want centralized, accessible management. Solo developers running agents across multiple repositories will also find value in the unified interface and CLI bridge. It's less relevant if you're committed to IDE-integrated AI workflows or require managed SaaS without self-hosting overhead.

With active development (last commit July 2026), growing community interest (829 stars, 101 forks), and permissive MIT licensing, the project merits evaluation if your AI agent workflows need mobility.

Explore the repository, try the Docker quick start, and see whether it fits your operational model: https://github.com/chriswritescode-dev/opencode-manager

For related tooling in the AI-assisted development space, see our coverage of [INTERNAL_LINK: self-hosted developer infrastructure].

Comments (0)

Comments are moderated before appearing.

No comments yet. Be the first to share your thoughts!

Recommended Prompts

View All
All tools