
JayCRL/MobileVC
mobilevc-dsh
Turn your phone into the control center for an AI coding assistant CLI session (Claude or Codex) running on your computer.
Install
npx @deepseek-ai/dsh plugin --profile web add "github:JayCRL/MobileVC"Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/mobilevc)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from JayCRL/MobileVC, cleaned of badges and images.
MobileVC
MobileVC-style mobile / PWA surface for DeepSeek Harness.
中文 | English
<p align="center"><sub>▶ 30 秒无配音演示 · <a href="docs/media/mobilevc-demo.mp4">MP4</a></sub></p>MobileVC 给 DSH 加一个手机端界面:连上你正在跑的 DSH,直接看会话、发消息、打断、审批、传图片/文件、管理插件。
它不是第二个 Agent,也不是另一套 relay/session。所有读写都走 DSH 的 sessionController,一套会话,一套运行时。
- 版本:
0.1.0 - 验证环境:DSH
0.2.0-rc.2、Node 22+ - 形态:DSH Host plugin + 静态 PWA UI
- 官网:https://mobilevc.top/
- 截图:
docs/images/ - 演示:
docs/media/mobilevc-demo.mp4 - 宣传片:
docs/media/mobilevc-promo.mp4
B 站宣传片
<p align="center"><sub>102 秒 · 1920×1080 · 无旁白 · 项目演示与真实页面</sub></p>新版宣传片
<p align="center"><sub>32 秒 · 中文纯文字 · 无配音 / 无字幕 · 仅轻音乐</sub></p>功能
- 真实会话:读取 DSH 的会话列表、历史、工具调用
- 实时流:
sessionController.follow()+assistantStream,逐 token 的思考/正文 - 思考卡:执行中显示“正在思考”,结束后变成可折叠的“深度思考 · N 字”
- 工具卡:默认折叠,显示工具名/参数/状态,点开看完整输出
- 图片预览:
read_image从 DSH attachment store 读原图,缩略图 + 全屏 - 附件:图片作为 image part;文件通过
fileUploadsreceipt 发送 - 直接审批:手机 presence 优先;断流/切后台也能接住;另一端已处理时点击自动失效
- 执行迹:用户 → 思考 → 工具 → 回复 → 压缩的 timeline;默认简洁模式,按思考/工具链分组,英文原文和工具参数折叠,可切「完整」
- 文件:真实工作区,面包屑 + 逐级浏览
- 插件管理:真实
pluginManager列表与开关 - 账号余额:底部实时余额;余额不足自动打开 DeepSeek 官方充值页
- 后台任务:显示 DSH jobs,查看输出、停止;长命令不再只能前台干等
- Web Push:完成 / 失败 / 审批通知;iPhone 需 iOS 16.4+ 并加到主屏幕
- 执行中插话:队列展示、修改、删除、立即插话
- PWA:主屏幕安装、standalone、safe-area、竖屏锁定、禁双指/双击缩放
- 不掉记录:SSE 断开自动重连 + durable 轮询兜底,新回复不需要手动刷新
- 错误可见:额度/模型失败变成错误卡,不再静默
截图
| 对话 | 执行迹 | 插件 |
|---|---|---|
| <img src="docs/images/chat.png" width="240"> | <img src="docs/images/trace.png" width="240"> | <img src="docs/images/plugins.png" width="240"> |
更多:docs/images/sessions.png、docs/images/files.png、docs/images/image-preview.png。
安装
需要一台已经能跑 DSH Web 的机器。
作为 DSH bundle(推荐)
dsh plugin --profile web add "github:JayCRL/MobileVC"
systemctl restart dsh-web
或者本地 clone:
git clone https://github.com/JayCRL/MobileVC.git mobilevc
dsh plugin --profile web add ./mobilevc
systemctl restart dsh-web
打开:
http://127.0.0.1:8898/mobilevc/
健康检查:
curl http://127.0.0.1:8898/mobilevc/api/health
# {"ok":true,"plugin":"mobilevc","interactive":true}
自部署边缘(可选)
如果你想把“反代 + 登录 + Cloudflare Tunnel”一起交给用户,edge/ 目录提供 Caddy + 可选 cloudflared 的 compose:
cd edge
cp .env.example .env
./hash-password.sh
docker compose --profile tunnel up -d
详见 edge/README.md。它只封装入口,不包含 DSH 或 Agent runtime。
完整部署、nginx、PWA、升级/卸载、排错:INSTALL.md。
/mobilevc/没有独立登录页,必须放在认证 HTTPS 反向代理后面。
使用
- +:发送图片或文件
- Enter 发送,Shift+Enter 换行
- 运行中,发送键右侧红色停止按钮:打断当前 turn
- 运行中发消息:进入插话队列,自动打开面板,可修改 / 删除 / 立即插话
- 横屏:显示竖屏提示,不切桌面横向布局
- 点工具卡:展开输出
- 点
read_image缩略图:全屏 - 迹:执行 timeline
- 插件:DSH 插件管理
- Memory:读写真实
AGENTS.md - 审批卡:拒绝 / 允许一次
- 设置 → 通知 → 开启:启用 Web Push;测试可发一条测试通知
通知(Web Push)
- 触发:任务完成、任务失败、等待审批、后台任务结束
- 不需要公网 IP:DSH 主机主动向 Apple/Google 推送服务发起 HTTPS
- iPhone:iOS 16.4+,必须“添加到主屏幕”后从图标启动,Safari 标签页不支持
- 通知里不包含完整会话内容;点击打开 MobileVC
- 页面正在前台时不会重复推送,离开后由 Web Push 接管
架构
flowchart LR
B[Phone / PWA] -->|HTTPS + SSE| P[MobileVC host plugin]
P --> S[ctx.sessionController]
P --> F[ctx.fileUploads]
P --> A[approval/request answerer]
P --> M[ctx.pluginManager]
S --> L[(DSH session log)]
F --> O[(DSH attachment store)]
…
