MCPcopy Index your code
hub / github.com/Eric-Song-Nop/mobvibe

github.com/Eric-Song-Nop/mobvibe @v0.1.48

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.48 ↗ · + Follow
1,413 symbols 4,102 edges 327 files 149 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Mobvibe

在任何设备上与本地 AI 编程 Agent 对话。无需设置,一行命令。

License Platform

中文 | English

快速开始 · 功能特性 · Agents · E2EE · 自托管


Mobvibe 是一个分布式 ACP(Agent Client Protocol)WebUI,用于本地 Agent 工作流。它连接 ACP 兼容的 CLI(OpenCode、Gemini CLI、Claude Code 以及 20+ 其他 Agent),管理多会话对话,并在桌面和移动端提供快速、触控友好的体验。

Mobvibe WebUI

快速开始

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

然后在浏览器中打开 app.mobvibe.net。首次运行时,Mobvibe 会扫描系统中已安装的 ACP Agent,并让你选择要启用的 Agent。

CLI 命令

命令 说明
mobvibe login 认证并生成 E2EE 主密钥
mobvibe logout 清除认证凭据
mobvibe auth-status 查看认证状态
mobvibe start [--gateway <url>] 启动守护进程
mobvibe stop 停止守护进程
mobvibe status 查看守护进程状态
mobvibe logs [-f] [-n <lines>] 查看守护进程日志
mobvibe e2ee show 显示主密钥(用于 WebUI 配对)
mobvibe e2ee status 查看 E2EE 密钥状态

配置

变量 说明
MOBVIBE_GATEWAY_URL Gateway URL(默认:https://api.mobvibe.net
MOBVIBE_HOME CLI 家目录(默认:~/.mobvibe
MOBVIBE_ENABLED_AGENTS 逗号分隔的 Agent ID 列表(覆盖配置文件)

高级配置存储在 ~/.mobvibe/.config.json

字段 说明
enabledAgents 已启用的 Agent ID 数组(如 ["claude-code"]
worktreeBaseDir Git worktree 根目录(默认:~/.mobvibe/worktrees

功能特性

多 Agent 支持

通过 ACP Registry 自动检测已安装的 ACP Agent。首次运行时,Mobvibe 会扫描系统并让你选择要启用的 Agent。

多 Agent 会话

实时流式传输

实时流式聊天,支持 Markdown 渲染、语法高亮和内联工具结果。

端到端加密

会话内容在 CLI 端加密、WebUI 端解密。Gateway 只负责路由,无法读取你的内容

文件浏览器与 @提及

会话级文件浏览器,支持代码预览、Tree-sitter 大纲,以及 @ 提及文件选择器进行上下文注入。

文件浏览器

跨平台

通过 Tauri v2 支持 Web、桌面和移动应用。一套代码,原生性能。

浅色 / 深色 / 跟随系统主题

自动跟随系统偏好切换主题。支持中英双语。

浅色主题 深色主题

功能对比

此表仅用于展示 Mobvibe 的功能特性,无意冒犯其他项目。我是所有这些产品的长期用户,由衷感谢每个项目背后的付出。

Mobvibe CC Remote Control Happy Coder OpenCode WebUI
开源 ✅ Apache-2.0
多 Agent(20+ ACP) ❌ 仅 Claude ⚠️ Claude + Codex ❌ 仅 OpenCode
端到端加密
免反代远程访问 ✅ 托管网关 ✅ Anthropic 中继 ✅ 托管中继 ❌ 需自建
代码阅读器 + Tree-sitter 大纲
Git 变更预览
远程任意目录创建会话
浏览并重连历史会话
桌面应用 ✅ Tauri v2
移动应用 ✅ Tauri v2
主题 ✅ 浅色 / 深色 / 跟随系统
自托管

支持的 ACP Agents

文档索引:https://agentclientprotocol.com/llms.txt

点击展开完整 Agent 列表

以下 Agent 可用于 ACP Client:

安装常用 Agent

检测优先级:Binary(最快)> npx(Node.js)> uvx(Python)。

Agent 安装方式
OpenCode curl -fsSL https://opencode.ai/install \| bash
Claude Code npm install -g @anthropic-ai/claude-code(需要 ANTHROPIC_API_KEY
Gemini CLI npm install -g @google/gemini-cli
Codex CLI npm install -g @openai/codex(需要 OPENAI_API_KEY
Goose 参见安装指南
Aider pip install aider-chat

安装新 Agent 后重启 Mobvibe,即可自动检测。

E2EE 配置

点击展开 E2EE 配置步骤

1. 登录(CLI)

mobvibe login

输入邮箱和密码。完成后会生成主密钥并注册设备。主密钥会显示在终端 — 复制它用于第 2 步。

2. 配对 WebUI

打开 WebUI → 设置 → 端到端加密 → 粘贴主密钥 → 点击「配对」。

之后可用 mobvibe e2ee show 再次查看主密钥。

3. 启动守护进程

mobvibe start

所有会话内容现已端到端加密。Gateway 只负责路由,无法读取内容。

架构

┌──────────────┐         ┌──────────────┐         ┌──────────────────┐
│              │  WS/HTTP │              │  WS/HTTP │                  │
│   WebUI      │◄────────►│   Gateway    │◄────────►│   CLI 守护进程    │
│  (浏览器)     │  (E2EE)  │  (中继服务器)  │  (E2EE)  │  (本地机器)       │
│              │         │              │         │                  │
└──────────────┘         └──────────────┘         └────────┬─────────┘
                                                           │ stdio
                                                  ┌────────▼─────────┐
                                                  │   ACP Agents     │
                                                  │  (claude-code,   │
                                                  │   opencode, ...) │
                                                  └──────────────────┘
  • WebUI — React 19 + Vite 前端(通过 Tauri v2 支持 Web / 桌面 / 移动端)
  • Gateway — Express + Socket.io 中继服务器;在 WebUI 和 CLI 之间路由加密事件
  • CLI 守护进程 — 基于 Bun 的本地进程,管理 ACP Agent 生命周期
  • ACP Agents — 任何 ACP 兼容的编程 Agent(Claude Code、OpenCode、Gemini CLI 等)

自托管

Mobvibe 支持自托管。基础设施配置定义在仓库根目录的 render.yaml 中。详见源码仓库

开发

前置条件

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

开始

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

文档

许可证

Apache-2.0

Extension points exported contracts — how you extend this code

AuthenticatedSocket (Interface)
* Extended Socket with user context.
apps/gateway/src/socket/webui-handlers.ts
CliToGatewayEvents (Interface)
(no doc)
packages/shared/src/types/socket-events.ts
LoginResult (Interface)
(no doc)
apps/mobvibe-cli/src/auth/login.ts
DemoMessageListProps (Interface)
(no doc)
apps/website/src/components/DemoMessageList.tsx
Language (Interface)
(no doc)
apps/webui/src/web-tree-sitter.d.ts
SocketData (Interface)
* Extended socket data with auth info.
apps/gateway/src/socket/cli-handlers.ts
GatewayToCliEvents (Interface)
(no doc)
packages/shared/src/types/socket-events.ts
Credentials (Interface)
(no doc)
apps/mobvibe-cli/src/auth/credentials.ts

Core symbols most depended-on inside this repo

cn
called by 174
apps/webui/src/lib/utils.ts
respondError
called by 73
apps/gateway/src/routes/fs.ts
respondError
called by 60
apps/gateway/src/routes/sessions.ts
render
called by 59
apps/website/src/entry-server.tsx
register
called by 51
apps/gateway/src/services/cli-registry.ts
createFallbackError
called by 46
apps/webui/src/lib/error-utils.ts
getUserId
called by 38
apps/gateway/src/middleware/auth.ts
cn
called by 37
apps/website/src/lib/utils.ts

Shape

Function 1,018
Method 305
Class 66
Interface 24

Languages

TypeScript99%
Kotlin1%
Rust1%

Modules by API surface

apps/mobvibe-cli/src/acp/session-manager.ts58 symbols
apps/mobvibe-cli/src/acp/acp-connection.ts53 symbols
apps/webui/src/lib/api.ts52 symbols
apps/gateway/src/services/session-router.ts38 symbols
apps/webui/src/components/chat/MessageItem.tsx28 symbols
apps/webui/src/lib/e2ee.ts27 symbols
apps/webui/src/components/app/ChatFooter.tsx26 symbols
apps/mobvibe-cli/src/wal/wal-store.ts26 symbols
apps/webui/tests/e2e/fake-gateway.mjs25 symbols
apps/webui/src/components/ui/sidebar.tsx25 symbols
apps/webui/src/lib/socket.ts23 symbols
apps/mobvibe-cli/src/lib/git-utils.ts23 symbols

For agents

$ claude mcp add mobvibe \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page