Skip to content

Eric-Song-Nop/mobvibe

Repository files navigation

Mobvibe

Chat with your local AI coding agents from any device, from anywhere.
No network config, just one command.

License Platform

中文 | 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.

Mobvibe WebUI

Quick Start

npx @mobvibe/cli login
npx @mobvibe/cli start

Then 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)

Features

Multi-Agent Support

Automatically detects installed ACP agents via the ACP Registry. On first run, Mobvibe scans your system and lets you choose which agents to enable.

Multi-agent sessions

Real-Time Streaming

Live streaming chat with Markdown rendering, syntax highlighting, and inline tool results.

End-to-End Encryption

Session content is encrypted on the CLI and decrypted on the WebUI. The gateway routes events but cannot read your content.

File Explorer & @Mentions

Session-scoped file browser with code preview, Tree-sitter outline, and @-mention file picker for context injection.

File explorer

Cross-Platform

Web, Desktop, and Mobile apps via Tauri v2. One codebase, native performance.

Light / Dark / System Themes

Automatic theme switching with system preference detection. Supports Chinese and English.

Light theme Dark theme

How Mobvibe Compares

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 ⚠️ Claude + Codex ❌ 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

Supported ACP Agents

Documentation Index: https://agentclientprotocol.com/llms.txt

Click to expand the full agent list

The following agents can be used with an ACP Client:

Installing Common Agents

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.

E2EE Setup

Click to expand E2EE setup instructions

1. Login (CLI)

mobvibe login

Enter 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.

2. Pair WebUI

Open WebUI → Settings → End-to-End Encryption → paste the master secret → click "Pair".

To view the secret again later: mobvibe e2ee show

3. Start daemon

mobvibe start

All session content is now encrypted end-to-end. The gateway routes events but cannot read their content.

Architecture

┌──────────────┐          ┌──────────────┐          ┌──────────────────┐
│              │  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.)

Self-Hosting

Mobvibe can be self-hosted. The infrastructure is defined in render.yaml at the repository root. See the source repository for details.

Development

Prerequisites

  • Node.js >= 22
  • pnpm >= 9
  • Bun (for mobvibe-cli)

Setup

git clone https://github.com/Eric-Song-Nop/mobvibe.git
cd mobvibe
pnpm install
pnpm dev

Documentation

License

Apache-2.0