Mobile-first web interface for OpenCode AI agents. Manage, control, and code from any device.
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:5003On first launch, you'll be prompted to create an admin account. That's it!
For local development setup, see the Development Guide.
Chat (Mobile)![]() |
File Browser (Mobile)![]() |
Inline Diff View![]() |
- Repositories & Git — Multi-repo management with local discovery, SSH auth, worktrees, unified diffs, branch/commit management
- Chat & Sessions — Real-time SSE streaming, slash commands,
@filementions, Plan/Build modes, Mermaid diagrams - Files — Directory browser with tree view, syntax highlighting, create/rename/delete, ZIP download
- Schedules — Recurring repo jobs with reusable prompts, run history, linked sessions, markdown-rendered output
- AI & OpenCode — Model/provider configuration, OAuth for Anthropic/GitHub Copilot, custom agents, OpenCode server supervision and proxying
- Audio — Text-to-speech and speech-to-text (browser + OpenAI-compatible)
- Mobile & Notifications — Responsive PWA, mobile-first navigation, push notification support
OpenCode Manager is a pnpm workspace with three TypeScript packages:
backend/— Bun + Hono API server with Better Auth, SQLite migrations, OpenCode process management, SSE, schedules, and push notifications.frontend/— React + Vite SPA using React Router, TanStack Query, Radix UI/Tailwind, service worker support, and mobile-first navigation.shared/— shared Zod schemas, config helpers, types, and utilities consumed by both backend and frontend.
A MkDocs Material site (docs/) provides guides, feature docs, configuration, and troubleshooting.
This repo uses pnpm workspaces for shared, backend, and frontend.
pnpm install
pnpm dev
pnpm lint
pnpm typecheck
pnpm testSee the Development Guide for local setup, scripts, database notes, and testing.
# 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 HTTPSFor OAuth, Passkeys, Push Notifications (VAPID), and advanced configuration, see the Configuration Guide.
- Getting Started — Installation and first-run setup
- Features — Deep dive on all features
- Configuration — Environment variables and advanced setup
- Troubleshooting — Common issues and solutions
- Development — Contributing and local development
MIT





