zdx8637-gitdog/dshmobile · dshmobile-plugin
手机远程控制 DeepSeek Harness:Android App + 云端 relay + PC 插件,常驻二维码一码三用(扫码下载/配对/登录授权)。有服务器可以自行部署。
已收录
0
Remote
Bundle 已验证
功能介绍
通过自建中继从手机访问 DSH(WSS 由你自己的 TLS 终止代理提供):含桥接守护与扫码登录的 bundle 插件、原生 Android 应用,并支持服务端设备吊销。
适合
- 需要在 Android 手机上远程访问本地 DSH 会话、审批、模型控制和文件的用户。
- 愿意运维中继服务及自有 TLS 终止代理以提供 WSS 连接的自托管用户。
- 需要扫码配对与服务端设备吊销能力的团队。
- 不希望把 DSH Web 界面直接暴露到公网、而偏好原生 Android 客户端的用户。
不适合
- iOS 用户,因为文档中的原生客户端仅支持 Android。
- 不愿运维或信任中继式远程访问链路的用户。
- 没有可提供 WSS 的 TLS 终止代理的部署环境。
- 使用 DSH 0.1.0-rc.6、但不能接受应用设置暴露补丁的安装环境。
README
dshmobile — DeepSeek Harness 手机远程客户端

开箱即用:一条命令装插件 → 扫码 → 手机接着干。不是把 DSH Web 暴露到公网的 Remote Access,而是为 DSH 建立一个真正的 Remote Client——不需要懂 Tailscale、隧道、 端口、NAT 或任何网络概念,不需要修改 DSH,装完即用,跨平台。
在手机上远程控制本机 DeepSeek Harness(DSH):扫码配对 → 设备 → 会话树 → 对话、 审批、提问应答、模型切换、文件浏览。
电脑端以 DSH 插件形态分发(plugins/dshmobile-plugin/,npm 包
@zdx8637/dshmobile-bridge):Web 左侧栏底部箭头弹窗,常驻二维码——
微信扫=下载 App、相机扫=跳 App、App 内扫=登录/授权,一个码全搞定。
┌─────────────┐ WSS ┌──────────────────┐ WSS ┌──────────────────────┐
│ dsh-mobile │ ──────── │ relay(云服务器) │ ──────── │ DSH 插件(bridge 守护)│
│ (Android) │ │ 认证/路由/审计 │ │ (连本地 DSH) │
└─────────────┘ └──────────────────┘ └─────────┬────────────┘
│ 127.0.0.1:3080
┌────────▼─────────┐
│ DeepSeek Harness │
└──────────────────┘
界面一览
手机端(左→右:扫码登录 → 会话/设备 → 对话):
电脑端插件面板(Web 左侧栏底部箭头 → 弹窗,常驻二维码与登录态无关):

用户安装(电脑端)
npx -y @deepseek-ai/dsh plugin --profile web add @zdx8637/dshmobile-bridge@latest
前置 pnpm;DSH 0.1.0-rc.6 需运行插件附带的 settings 暴露补丁(上游 deferred work, 详见
plugins/dshmobile-plugin/README.md)。手机 App 扫码即下载(默认使用作者自营 relay, 可自建——见relay/与dsh-remote/docs/04-operations.md)。
目录
| 目录 | 内容 |
|---|---|
plugins/dshmobile-plugin/ |
DSH 插件(npm 包):host 桥守护 + 常驻二维码双模式 + Web 侧栏弹窗 |
dsh-mobile/ |
Android 客户端(Kotlin + Compose,minSdk 26,无 GMS 依赖) |
dsh-remote/ |
bridge(Node / Electron 打包)、扫码落地页、Web 调试台、协议与运维文档、测试脚本 |
relay/ |
云 relay 服务(Node + Express + SQLite + WS):用户/设备/配对/审计,仅路由不执行 agent 逻辑 |
协议契约与设备语义:dsh-remote/docs/02-protocol.md(单一事实来源)。
快速开始
-
手机端构建(需 JDK 17 + Android SDK,见
dsh-mobile/README.md):$env:JAVA_HOME='...jdk-17...'; $env:ANDROID_HOME='...Android\Sdk' gradle :app:assembleDebug # 或 :app:assembleRelease -
bridge(开发态):复制
dsh-remote/bridge/config.example.json为config.json并填 relay 地址/账号,然后node dsh-remote/bridge/src/main.js。 -
bridge(分发 exe):
cd dsh-remote/bridge/electron && npm run dist。 -
relay:
npm install && npm run build && node dist/index.js,配置见relay/.env.example(复制为.env填真实值)。
隐私与密钥(重要)
仓库不包含任何真实凭据,以下内容永远只在本地/私有渠道存在:
- relay 账号密码、服务器 SSH 凭据:测试脚本通过环境变量
TEST_PASS、RELAY_HOST、RELAY_SSH_PASS注入;文档中一律以<relay-host>等占位。 -
dsh-remote/bridge/config.json(含账号密码)不入库,模板见config.example.json。 - Android 签名:
release.keystore与签名口令不入库;口令写在本机dsh-mobile/local.properties(dshmobile.storePassword/keyAlias/keyPassword) 或环境变量DSHMOBILE_*,app/build.gradle.kts从这两处读取。 - relay 运行时
.env、SQLite 数据(data/)、构建产物(dist/、node_modules/)均被忽略。
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:zdx8637-gitdog/dshmobile#path:/plugins/dshmobile-plugin。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。