Chat with your local AI coding agents from any device, from anywhere.
No network config, just one command.
中文 | English
Quick Start · Features · Agents · E2EE · Self-Hosting
Mobvibe is a distributed ACP (Agent Client Protocol) WebUI for local agent workflows. It connects to ACP-compatible CLIs (OpenCode, Gemini CLI, Claude Code, and 20+ more), manages multi-session chat, and delivers a fast, touch-friendly experience across desktop and mobile.
npx @mobvibe/cli login
npx @mobvibe/cli startThen open app.mobvibe.net in your browser. On first run, Mobvibe will scan your system for installed ACP agents and ask you to choose which ones to enable.
CLI Commands
| Command | Description |
|---|---|
mobvibe login |
Authenticate and generate E2EE master secret |
mobvibe logout |
Remove stored credentials |
mobvibe auth-status |
Show authentication status |
mobvibe start [--gateway <url>] |
Start daemon |
mobvibe stop |
Stop daemon |
mobvibe status |
Show daemon status |
mobvibe logs [-f] [-n <lines>] |
View daemon logs |
mobvibe e2ee show |
Display master secret for WebUI pairing |
mobvibe e2ee status |
Show E2EE key status |
Configuration
| Variable | Description |
|---|---|
MOBVIBE_GATEWAY_URL |
Gateway URL (default: https://api.mobvibe.net) |
MOBVIBE_HOME |
CLI home directory (default: ~/.mobvibe) |
MOBVIBE_ENABLED_AGENTS |
Comma-separated agent IDs to enable (overrides config) |
Advanced configuration is stored in ~/.mobvibe/.config.json:
| Field | Description |
|---|---|
enabledAgents |
Array of enabled agent IDs (e.g. ["claude-code"]) |
worktreeBaseDir |
Git worktree root (default: ~/.mobvibe/worktrees) |
Automatically detects installed ACP agents via the ACP Registry. On first run, Mobvibe scans your system and lets you choose which agents to enable.
Live streaming chat with Markdown rendering, syntax highlighting, and inline tool results.
Session content is encrypted on the CLI and decrypted on the WebUI. The gateway routes events but cannot read your content.
Session-scoped file browser with code preview, Tree-sitter outline, and @-mention file picker for context injection.
Web, Desktop, and Mobile apps via Tauri v2. One codebase, native performance.
Automatic theme switching with system preference detection. Supports Chinese and English.
This table is meant to highlight Mobvibe's feature set — no disrespect to the other projects. I'm a long-time user of all of them and truly appreciate the work behind each one.
| Mobvibe | CC Remote Control | Happy Coder | OpenCode WebUI | |
|---|---|---|---|---|
| Open Source | ✅ Apache-2.0 | ❌ | ✅ | ✅ |
| Multi-Agent (20+ ACP) | ✅ | ❌ Claude only | ❌ OpenCode only | |
| End-to-End Encryption | ✅ | ❌ | ✅ | ❌ |
| Remote Access without Reverse Proxy | ✅ Hosted gateway | ✅ Anthropic relay | ✅ Hosted relay | ❌ Self-host required |
| Code Reader + Tree-sitter Outline | ✅ | ❌ | ❌ | ❌ |
| Git Changes Preview | ✅ | ❌ | ❌ | ❌ |
| Desktop App | ✅ Tauri v2 | ❌ | ❌ | ❌ |
| Mobile App | ✅ Tauri v2 | ✅ | ✅ | ❌ |
| Themes | ✅ Light / Dark / System | ❌ | ❌ | ✅ |
| Create Session in Any Remote Dir | ✅ | ❌ | ❌ | ❌ |
| Browse & Reconnect History | ✅ | ❌ | ✅ | ❌ |
| Self-Hosting | ✅ | ❌ | ✅ | ✅ |
Documentation Index: https://agentclientprotocol.com/llms.txt
Click to expand the full agent list
The following agents can be used with an ACP Client:
- AgentPool
- Augment Code
- Blackbox AI
- Claude Code (via Zed's SDK adapter)
- Codex CLI (via Zed's adapter)
- Code Assistant
- Docker's cagent
- fast-agent
- Gemini CLI
- Goose
- JetBrains Junie (coming soon)
- Kimi CLI
- Minion Code
- Mistral Vibe
- OpenCode
- OpenHands
- Pi (via pi-acp adapter)
- Qoder CLI
- Qwen Code
- Stakpak
- VT Code
Detection priority per agent: Binary (fastest) > npx (Node.js) > uvx (Python).
| Agent | Install |
|---|---|
| OpenCode | curl -fsSL https://opencode.ai/install | bash |
| Claude Code | npm install -g @anthropic-ai/claude-code (requires ANTHROPIC_API_KEY) |
| Gemini CLI | npm install -g @google/gemini-cli |
| Codex CLI | npm install -g @openai/codex (requires OPENAI_API_KEY) |
| Goose | See installation guide |
| Aider | pip install aider-chat |
After installing a new agent, restart Mobvibe and it will be detected automatically.
Click to expand E2EE setup instructions
mobvibe loginEnter email and password. This authenticates with the gateway, generates a master secret, and registers the device. The master secret is displayed at the end — copy it for step 2.
Open WebUI → Settings → End-to-End Encryption → paste the master secret → click "Pair".
To view the secret again later: mobvibe e2ee show
mobvibe startAll session content is now encrypted end-to-end. The gateway routes events but cannot read their content.
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ │ WS/HTTP │ │ WS/HTTP │ │
│ WebUI │◄────────►│ Gateway │◄────────►│ CLI Daemon │
│ (Browser) │ (E2EE) │ (Relay) │ (E2EE) │ (Local Machine) │
│ │ │ │ │ │
└──────────────┘ └──────────────┘ └────────┬─────────┘
│ stdio
┌────────▼─────────┐
│ ACP Agents │
│ (claude-code, │
│ opencode, ...) │
└──────────────────┘
- WebUI — React 19 + Vite frontend (Web / Desktop / Mobile via Tauri v2)
- Gateway — Express + Socket.io relay server; routes encrypted events between WebUI and CLI
- CLI Daemon — Bun-based local process that manages ACP agent lifecycles
- ACP Agents — Any ACP-compatible coding agent (Claude Code, OpenCode, Gemini CLI, etc.)
Mobvibe can be self-hosted. The infrastructure is defined in render.yaml at the repository root. See the source repository for details.
git clone https://github.com/Eric-Song-Nop/mobvibe.git
cd mobvibe
pnpm install
pnpm dev



