摆脱键盘和鼠标,用手机直接接管电脑上的 Claude / Codex 会话。 MobileVC 把等待、审批、审核和继续执行,整理成一套适合手机操作的闭环。 官网: 手机安装:官网首页(iOS 走 TestFlight,Android 走 APK 下载) 社区讨论:LINUX DO
What's inside
MobileVC 不是远程桌面,也不是终端镜像。它把电脑上正在运行的 AI 助手 CLI 会话带到手机上,让你在离开电脑时继续推进任务:
npm install -g @justprove/mobilevc
mobilevc start
首次启动会引导你完成基础配置,并打印本机地址、局域网地址和二维码。
配置 Token 时,终端输入内容不会显示,这是正常的。直接输入完整 Token 后按回车即可。
claude 或 codex官网可能需要国内网络环境访问。如果页面打不开,先切换到国内网络后再安装。
mobilevc status
mobilevc logs
mobilevc logs --follow
mobilevc config
mobilevc stop
不在同一 WiFi 下也能连:
mobilevc public --relay wss://relay.mobilevc.top:9443
如果只想走 Relay,不开放局域网:
mobilevc public --relay wss://relay.mobilevc.top:9443 --network-exposure-mode relay-only
Relay 只转发加密数据包,服务器看不到明文。密钥通过扫码带外传递。
自建 Relay 指南见 docs/guides/relay-deployment.md。
mobilevc public --relay 重启后无法重新注册 / 配对,以及 agent 重连后陈旧连接的恢复问题0.2.10:各平台预编译后端二进制同步更新;Android 切到 arm64-v8a(官网入口指向 1.0.0 (20260601 arm64)),iOS Release / Profile 的 Archive 签名明确为 Apple DistributionMobileVC 的定位不是“把终端塞进手机”,而是把 AI 编程助手的高频等待态做成手机上的结构化操作。下面只展示 MobileVC 在这些对比场景里的优势,不评价其他产品优劣。
| 对比对象 | MobileVC 展示出的优势 |
|---|---|
| Codex-Remote | 同时覆盖 Claude / Codex;本机 npm 后端可控;权限、Plan Mode、diff 审核、Skill / Memory / Context、文件和日志都在同一套移动端工作流里 |
| 传统 SSH / 远程终端工具 | 不需要在小屏幕里操作终端;常见动作变成按钮和卡片;扫码连接、Token 鉴权、通知、状态同步和文件 / diff 查看都围绕 AI 助手场景设计 |
| Happy | 更偏本机私有工作台:Go 后端跑在自己的开发机上,支持 LAN + 官方 Relay,安装可从 npm 开始,并围绕 Claude / Codex 的权限、审查、会话恢复和项目文件流做深度整合 |
Mobile browser / Flutter app
│
▼
MobileVC Go server
│
├─ WebSocket event stream
├─ PTY / assistant runtime
├─ ADB + WebRTC bridge
├─ session store
└─ ChatTTS sidecar (optional)
cmd/server/main.go/ws、/healthz、/download、/api/tts/synthesizemobile_vc/lib/main.dartSessionController 驱动SessionHomePagegit clone https://github.com/JayCRL/MobileVC.git
cd MobileVC
npm install
cd mobile_vc
flutter pub get
flutter build web --release
cd ..
npm run sync:web
AUTH_TOKEN=test go run ./cmd/server
cd mobile_vc
flutter pub get
flutter run
AUTH_TOKEN=test ./scripts/test_smoke_flow.sh
mobile_vc/scripts/build_ios_ota.sh:生成 iPhone OTA IPA,并可选用于内部测试分发mobile_vc/scripts/build_ios_testflight.sh:TestFlight 打包 / 上传辅助脚本mobile_vc/scripts/update_install_page_testflight.sh:更新官网首页上的 TestFlight 信息mobile_vc/scripts/render_install_page.py:统一渲染官网安装入口页面flutter build apk --release --target-platform android-arm64bin/ # npm 启动器
cmd/server/ # Go 服务入口
cmd/server/web/ # 当前嵌入到 Go 二进制的 Flutter Web 产物
internal/ # 后端编排、运行时、协议、存储
mobile_vc/ # Flutter 客户端
mobile_vc/scripts/ # iOS OTA / TestFlight / Android 安装页脚本
packages/ # npm 预编译后端二进制包
scripts/ # 仓库级构建脚本
sidecar/chattts/ # 可选 TTS 侧车
go test ./...
cd mobile_vc && flutter test
本项目采用 MIT License 开源协议。
欢迎提交 Issue 和 Pull Request。
如果你想参与开发或交流实现细节,可以到 LINUX DO 社区 讨论。
.claude/
agents/
flutter-backend-comm-analyzer.md
flutter-behavior-simulator.md
flutter-integration-analyzer.md
plans/
bidirectional-sync-plan.md
worktrees/
.dockerignore
.env
.env.example
.github/
workflows/
release.yml
.gitignore
AAA.TST
bin/
mobilevc.js
CHANGELOG.md
claude-skills/
install.sh
mobilevc-installer/
SKILL.md
README.md
CLAUDE.md
cmd/
relay/
main_test.go
main.go
server/
download.go
flag_bool.go
flags_test.go
flags.go
main_test.go
main.go
util.go
web/
.gitkeep
CODEX_LONG_OUTPUT_FIX.md
deploy/
relay/
.env.example
Caddy.DNS.Dockerfile
Caddy.DNSPod.Dockerfile
Caddyfile.alidns
Caddyfile.cloudflare
Caddyfile.dnspod
docker-compose.yml
Dockerfile
README.md
docs/
architecture/
BACKEND_ANALYSIS.md
BACKEND_ANALYSIS.pdf
BACKEND_RESTRUCTURE_PLAN.md
BACKEND_RESTRUCTURE_PLAN.pdf
blueprint.md
CONTEXT.md
current-logic.md
archive/
bugfix-plan.md
codex-snapshots/
backend-before-dedupe-20260425-135436.patch
before-codex-single-final-log-20260425-141058.patch
before-delta-dedupe-20260425-140514.patch
npm-publish-summary.md
npm-publish-v0.1.12.md
push-integration-summary.md
scratch/
hello.txt
optimization_suggestions.txt
origin-promot/
add.txt
add2.txt
add3.txt
add4.txt
add5.txt
README.md
request.txt
test_permission.txt
test.txt
today_branch_smoke.txt
web-migration-complete.md
web-migration-done.md
web-migration.md
guides/
push-integration-checklist.md
push-setup.md
relay-deployment.md
relay-user-guide.md
testing-log.md
web-embed-path.md
project-index.md
README.md
troubleshooting/
flutter-web-blank-screen.md
go.mod
go.sum
internal/
adb/
service_test.go
service.go
webrtc_test.go
webrtc.go
config/
config_test.go
config.go
env.go
loaders.go
url.go
validation.go
data/
claudesync/
jsonl_writer.go
session_sync.go
threads_test.go
threads.go
codexsync/
threads_test.go
threads.go
file_store_test.go
file_store.go
skills/
launcher.go
registry.go
session_context.go
skills_test.go
store.go
engine/
ansi_test.go
ansi.go
codex_config_test.go
codex_config.go
codex_model_catalog.go
codex_transport.go
engine.go
exec_engine.go
exec_runner_test.go
generic_parser_test.go
generic_parser.go
line_reader.go
parser.go
processattr_other.go
processattr_windows.go
pty_engine.go
pty_runner_test.go
shell.go
shortpath_other.go
shortpath_windows.go
gateway/
adb.go
attachments_test.go
attachments.go
gateway.go
handler_test.go
logging_test.go
permission_decision.go
permission_rules_test.go
permission_rules.go
push_test.go
push.go
registry.go
relay_device_test.go
relay_device.go
slash_command_test.go
slash.go
logx/
logx.go
protocol/
event.go
push/
service.go
relay/
audit.go
config_limits.go
config_test.go
config.go
dashboard.go
devices_test.go
devices.go
e2ee/
capability_test.go
capability.go
crypto_test.go
crypto.go
device_trust_test.go
device_trust.go
file_download_test.go
file_download.go
handshake_frames_test.go
handshake_frames.go
handshake_test.go
handshake.go
mobilevc_stream_test.go
mobilevc_stream.go
node_identity_test.go
node_identity.go
tunnel_test.go
tunnel.go
errors.go
forward_policy_test.go
forward_policy.go
forward.go
handler.go
hardening_test.go
limits.go
peer_test.go
peer.go
protocol.go
registry.go
routes.go
security.go
server_test_helpers_test.go
server_test.go
server.go
state_store_test.go
state_store.go
relayclient/
atomic_write.go
client.go
e2ee_handshake.go
gateway_conn.go
gateway_projection_test.go
hardening_test.go
reconnect_test.go
reconnect.go
session_store_test.go
session_store.go
session/
command_window_other.go
command_window_windows.go
info.go
interaction_helpers_test.go
interaction_helpers.go
manager_extended_test.go
manager_model_test.go
manager.go
permission_router_test.go
permission_router.go
permission_rules.go
process_unix.go
process_windows.go
process.go
projection_apply_test.go
projection_apply.go
projection_events_test.go
projection_events.go
projector_test.go
projector.go
runtime_info_test.go
runtime_service_test.go
session_test.go
session.go
timeline_attachments_test.go
timeline_attachments.go
voice_api_config.go
tts/
chattts_http_provider.go
http_handler.go
provider.go
service.go
tts_test.go
types.go
LICENSE
mobile_vc/
.claude/
agents/
architecture-analyzer.md
.gitignore
.metadata
AGENTS.md
analysis_options.yaml
android/
.gitignore
app/
build.gradle
src/
androidTest/
java/
com/
example/
mobile_vc/
MainActivityTest.java
debug/
AndroidManifest.xml
main/
AndroidManifest.xml
kotlin/
top/
mobilevc/
app/
MainActivity.kt
res/
drawable/
drawable-v21/
launch_background.xml
launch_background.xml
mipmap-hdpi/
ic_launcher.png
mipmap-mdpi/
ic_launcher.png
mipmap-xhdpi/
ic_launcher.png
mipmap-xxhdpi/
ic_launcher.png
mipmap-xxxhdpi/
ic_launcher.png
values/
values-night/
styles.xml
styles.xml
profile/
AndroidManifest.xml
build.gradle
gradle/
gradle.properties
wrapper/
gradle-wrapper.properties
settings.gradle
assets/
icons/
orange_loader.svg
ios/
.gitignore
Flutter/
AppFrameworkInfo.plist
Debug.xcconfig
Release.xcconfig
Podfile
Podfile.lock
Runner/
Runner.xcodeproj/
project.pbxproj
project.xcworkspace/
contents.xcworkspacedata
xcshareddata/
IDEWorkspaceChecks.plist
WorkspaceSettings.xcsettings
xcshareddata/
xcschemes/
Runner.xcscheme
Runner.xcworkspace/
contents.xcworkspacedata
xcshareddata/
IDEWorkspaceChecks.plist
WorkspaceSettings.xcsettings
AppDelegate.swift
Assets.xcassets/
AppIcon.appiconset/
Contents.json
Icon-App-1024x1024@1x-dark.png
Icon-App-1024x1024@1x.png
Icon-App-20x20@1x-dark.png
Icon-App-20x20@1x.png
Icon-App-20x20@2x-dark.png
Icon-App-20x20@2x.png
Icon-App-20x20@3x-dark.png
Icon-App-20x20@3x.png
Icon-App-29x29@1x-dark.png
Icon-App-29x29@1x.png
Icon-App-29x29@2x-dark.png
Icon-App-29x29@2x.png
Icon-App-29x29@3x-dark.png
Icon-App-29x29@3x.png
Icon-App-40x40@1x-dark.png
Icon-App-40x40@1x.png
Icon-App-40x40@2x-dark.png
Icon-App-40x40@2x.png
Icon-App-40x40@3x-dark.png
Icon-App-40x40@3x.png
Icon-App-60x60@2x-dark.png
Icon-App-60x60@2x.png
Icon-App-60x60@3x-dark.png
Icon-App-60x60@3x.png
Icon-App-76x76@1x-dark.png
Icon-App-76x76@1x.png
Icon-App-76x76@2x-dark.png
Icon-App-76x76@2x.png
Icon-App-83.5x83.5@2x-dark.png
Icon-App-83.5x83.5@2x.png
LaunchImage.imageset/
Contents.json
LaunchImage.png
LaunchImage@2x.png
LaunchImage@3x.png
README.md
Base.lproj/
LaunchScreen.storyboard
Main.storyboard
Info.plist
Runner-Bridging-Header.h
Runner.entitlements
RunnerTests/
RunnerTests.swift
lib/
app/
app_notification_coordinator.dart
app.dart
background_keep_alive_service.dart
... 858 moreFAQ
mobilevc is a Claude Code plugin with hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.