DSHA · DeepSeek Harness 安卓启动器

DSHA · DeepSeek Harness for Android

别名:安卓启动器、手机端启动器、dsha、DSHA

把完整的 DSH 塞进一个 Android APK(免 ROOT、免 Termux):内置离线 Ubuntu 24.04 rootfs,装完填个 API key 就能启动。proroot 用 LD_PRELOAD + 二进制补丁做进程内路径翻译,免掉传统 proot 的 ptrace 开销;插件安装默认禁用生命周期脚本,第三方插件先审阅后启用。

一句话

在手机上跑完整的 DSH,而且不装 Termux、不敲命令:一个 APK 里塞了离线 Ubuntu 24.04 rootfs, 装完填 API key(或跳过)就能启动。

它解决什么问题

安卓上跑 DSH 此前基本只有一条路:装 Termux,然后在 Android 的 bionic libc 上折腾工具链—— 很多原生模块要逐个打补丁或重编。DSHA 走的是容器派:把完整 glibc 的 Ubuntu 环境打进 App, apt / PTY / 原生模块 / Python / git 都能直接用,上游插件不用改就能跑。

它 README 里那张「与同类方案的关系」写得很克制,照录如下:

容器派(DSHA 走这条)Termux bootstrap 派
做法proot/proroot + 完整 glibc rootfs用 Termux 的包在 Android bionic 上裸跑
装机装 APK 就完事装 Termux → 敲命令 → 装工具链
环境完整 Ubuntu,apt 与原生模块随便用需要为 bionic 逐个打补丁 / 重编
开销proroot 已无 ptrace 开销无容器层,理论最快
沙箱两边都受限两边都受限

proroot 是它自己的东西:传统 proot 每次系统调用要两次上下文切换,proroot 改用 LD_PRELOAD + 二进制补丁做进程内路径翻译,README 说真机实测关键项合计 +58%。

怎么装

  1. 装 APK(仅 arm64;Android 11+ 选 Standard 标准版,更老的系统选 Low 兼容版);
  2. 填 API key(可跳过);
  3. 点启动。

细节(README):

  • 两个版本共享同一个包名与数据(com.dsh.client),不能并排安装;
  • Standard 用系统 WebView、支持实验性虚拟屏;Low 内置 GeckoView 143、暂不支持虚拟屏;
  • 升级用同签名 APK 覆盖安装即可(证书指纹 e7e3a3…a53f5,验装方法见其 docs/security-model.md)。

核心模块(README 分了九块)

模块要点
① 装机与环境内置离线 rootfs(Ubuntu 24.04 noble arm64,打进 APK,无网也能部署);六步流水线只修失败项,不从头重来
② 运行时完整 glibc:apt / PTY / 原生模块 / Python / git
③ 数据与备份会话与设置放 内部存储/Documents/dshdata,卸载重装不丢;.dshbak v5 加密备份(密码派生密钥 + AES-GCM);自动备份计划;凭据不进备份
④ 设备能力无障碍 + ADB 直连(免 Shizuku) + 独立虚拟屏:读屏、点按、装应用、跑自动化
⑤ 终端完整 Ubuntu 的 bash,agent 跑 shell 命令没有限制
⑥ Web UI 与访问手机上的 DSH 界面与访问方式
⑦ 插件生态见下
⑧ 可靠性与应急组件级自检 + 按需修补 + 启动诊断 + 独立应急 DSH(Web 起不来时直接点名是哪个插件)
⑨ 安全默认最小权限

插件生态(这一条的取舍值得单独说)

  • App 内市场:安装 / 更新 / 启停 / 删除 / 搜索 / 排序,配合官网的插件目录与社区插件;
  • 安装方式很多:GitHub 简写 / tree / blob / archive / Release 链接、HTTPS 压缩包直链、 本地导入(按内容识别格式)、终端 dsha-plugin install;
  • 依赖安全(三条硬措施):随包 pnpm 原生锁冻结依赖摘要;禁用生命周期脚本与 pnpmfile 钩子; 压缩包越界路径与包外软链拒绝;
  • 先审阅后启用:第三方插件装完保持停用,核对静态结构与内容摘要,用户确认后才启用;
  • 硬依赖自动改造:插件写死的服务依赖就地改成运行时注入,一个插件不拖挂整棵插件树;
  • 内置插件保护:内置插件不可删除,用户禁用过的升级后保持禁用;
  • 内置 7 个插件:dsh-web-mobile(移动端适配)、dsh-status-overlay(悬浮条)、 dsh-task-notifier(回合完成通知)、dsh-device-shell-guide(设备能力引导)、 dsh-computer-use-android(Android Computer Use)、dsh-tool-vscreen(虚拟屏工具)等。

这 7 个插件不在本站插件区:插件区有收录门槛(官方来源 / 被教程引用 / 被整合包使用 / 有 maintainer), 它们一条都不满足,所以按现状在这里交代——这也是本站不为了收条目去放宽门槛的一个例子。

已知限制(README 自己列的,照录)

项目状态
架构⚠️ 仅 arm64-v8a(32 位与 x86 不支持)
系统✅ Standard 11+ / Low 6+(老系统部分能力受限制)
包体⚠️ 261 / 334 MiB(内置完整 Ubuntu 的代价)
bash 工具✅ 可用
bash 的沙箱隔离⚠️ 不可用——bubblewrap 要 unprivileged user namespace,Android sepolicy 不给;容器派与 Termux 派都一样绕不过
卓易通 / 鸿蒙 anco❓ 未验证
悬浮条⚠️ 需要授权(TYPE_APPLICATION_OVERLAY 自绘;免 ROOT 拿不到真正的状态栏接口)
数据位置⚠️ 需要「所有文件访问」权限;被拒时数据留在私有目录,卸载即丢(自检会告知当前状态)

身份与格式支持

  • canonical ID:未认领(2026-10-02 查规范仓库 launcher-registry 与市场 launchers.json);
  • 是否吃 .dspack:本轮未核实。README 讲的是插件市场与 .dshbak 备份, 没有出现 .dspack 或整合包相关内容——所以没有给它打「支持 .dspack」标签。

未核实 / 未声明

  • DSH 版本区间与 manifest 版本:README 未声明;
  • proroot 的 +58% 实测:来自项目自述,本站未复现(需要 arm64 真机);
  • .dshbak 加密备份的算法细节:只读到「密码派生密钥 + AES-GCM」,KDF 参数未读;
  • 本项目未实测:以上全部来自 README 与 GitHub API(快照 2026-10-02)。

信息表

category
launch.mobile
licenseRefs
[object Object]
platforms
android
positioning
这一区里唯一的移动端形态,也是「容器派」的代表:不靠 Termux 在 bionic 上硬跑,而是把一份离线 Ubuntu rootfs 打进 APK,用 proroot 在进程内做路径翻译。适合「手上只有手机、也不想敲命令」的场景——代价是包体和一部分系统限制。
roles
[object Object]
support
Android 11+(标准版)/ Android 6+(兼容版),仅 arm64-v8a
supportedManifest
未核实:README 未声明 manifest 版本;它有自己的一套插件安装与备份机制
titleEn
DSHA · DeepSeek Harness for Android
updatedAt
2026-10-02
url
https://github.com/DSH-APP/DSHA
最后更新 2026-10-02