DSHBox — 在 Android 上本机运行 DeepSeek Harness
67.1/100
综合分
471
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/WSK-build/DSHBox.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/20) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包DSHBox(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 02:38:47
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 安卓本机运行DSH
展开完整介绍(141 字)↓
DSHBox — 在 Android 手机和平板上本地运行 DeepSeek Harness。它整合并调度 DSH、PRoot、WebView、Debian 和 Node.js,连同终端、文件管理器、浏览器等工具,组成个人 AI 工作台。无需 root,也不用单独装 Termux。
README
由 DeepSeek 最新模型翻译生成DSHBox — 在 Android 上本机运行 DeepSeek Harness
DSHBox 是一个开源应用,在安卓手机和平板上本机运行完整的 DeepSeek Harness(DSH)。它把 DSH、PRoot、系统 WebView 或内置 GeckoView、Debian 和 Node.js 整合到一起,再配上终端、文件管理、AI 浏览器助手、手机助手和可选开发者工具,组成个人 AI 工作台。日常使用无需 Root,也无需单独安装 Termux。
DSHBox 是一个可在安卓手机和平板上本机运行完整 DeepSeek Harness(DSH) 的开源应用。它将 DSH、PRoot、系统 WebView 或内置 GeckoView、Debian、Node.js 集成协调在一起,配套终端、文件管理、AI 浏览器助手、手机助手与可选开发者工具,组成个人 AI 工作台。日常使用无需 Root,也无需单独安装 Termux。
展开完整文档(README 剩余 1 节)
DSHBox — 在 Android 上本机运行 DeepSeek Harness
DSHBox 是一个开源应用,在安卓手机和平板上本机运行完整的 DeepSeek Harness(DSH)。它把 DSH、PRoot、系统 WebView 或内置 GeckoView、Debian 和 Node.js 整合到一起,再配上终端、文件管理、AI 浏览器助手、手机助手和可选开发者工具,组成个人 AI 工作台。日常使用无需 Root,也无需单独安装 Termux。
DSHBox 是一个可在安卓手机和平板上本机运行完整 DeepSeek Harness(DSH) 的开源应用。它将 DSH、PRoot、系统 WebView 或内置 GeckoView、Debian、Node.js 集成协调在一起,配套终端、文件管理、AI 浏览器助手、手机助手与可选开发者工具,组成个人 AI 工作台。日常使用无需 Root,也无需单独安装 Termux。
快速安装
| 项目 | 说明 |
| 系统要求 | Android 10+ · ARM64 |
| 权限 | 日常使用无需 Root · 无需 Termux;开发者模式中的 Root 通道为可选能力 |
| 发布版本 | 系统 WebView 版:APK 较小,复用手机系统 WebView;内置 Gecko 版:随包提供 GeckoView 158,不依赖系统 WebView |
| 内置 | DSH 0.2.1-rc.5 · PRoot;系统 WebView 或 GeckoView;Debian 与 Node.js 在首次运行时通过多镜像源检测在线获取,或离线导入 |
| 首次准备 | 按分步引导安装精简 Debian 与 Node.js,支持多镜像源检测、失败重试或离线导入;系统 WebView 版还会检测 provider 与启动前兼容能力 |
| 如何选择 | 系统 WebView 较新且工作正常时,可优先选择体积较小的系统 WebView 版;系统 WebView 较旧、白屏、受厂商定制影响,或希望固定渲染内核时,选择内置 Gecko 版。两个 APK 同包名、同签名,覆盖安装会保留 Debian、sandbox 与 user-data。 |
下载系统 WebView 版或内置 Gecko 版 → 覆盖安装 → 启动应用 → 按引导获取运行环境(在线多镜像源,或沿用离线导入)→ 打开 DSH。
更新记录
当前版本 v1.5.1(2026-10-31):系统 WebView / 内置 Gecko 双渲染 · 开发者模式 · 插件市场增强。
1. 新增系统 WebView 版与内置 Gecko 版双 APK,共用同一套 DSH 页面和 App UI;补齐 System WebView 启动期兼容能力,并由 GeckoView 158 为低版本或特殊 WebView 环境提供独立渲染路径;
2. 新增开发者模式,提供独立于 Pilot 审批体系和 Shizuku 的完整 ADB / Root 通道;ADB 可在开关开启时挂载进 Debian 沙箱,既可连接本机服务,也可调试外部设备;
3. 插件市场与工具链升级:内置 pnpm 11.1.2、插件兼容与安装守卫、已安装状态和目录刷新机制;修复 DSH「添加插件」、第三方安装顶出随包插件等问题;
4. DSH 页面兼容与交互修复:修复链接错误刷新 DSH、账号登录不跳转、右栏资源、配置文件打开、401 恢复、Gecko 键盘顶栏及低版本 WebView 白屏等问题;
5. 官网与发布流程升级:官网分别提供两个 APK,Release 统一输出 dshbox-v1.5.1-system-release.apk 与 dshbox-v1.5.1-gecko-release.apk 并执行发布契约检查。
各版本完整变更见 CHANGES.md。
核心特性
DeepSeek Harness 全内嵌与双渲染(v1.5.1)
- DSH 0.2.1-rc.5 随 APK 内置,层内容保持上游纯净;首启按版本仲裁装配到 runtime-current/dsh,换层时旧层单份备份到 previous/dsh,不触碰用户数据。
- 系统 WebView 版 / 内置 Gecko 版:两个发布变体共用唯一 DSH 页面、宿主导航、文件交付、诊断与日志实现,差异集中在 Renderer Adapter;两个 APK 同为 com.dshbox.app、同一签名,可覆盖切换并保留 filesDir。
- 全屏 DSH 工作区:DSH 标签页在本地地址上自动解析 launchToken、使用移动 UA、处理键盘与视觉视口并支持双指缩放;可拖动悬浮球继续提供刷新和首页、文件、终端、Browser 快捷切换,首页保留「浏览器」和「更多」入口。
- 系统 WebView 兼容:在 DSH 主脚本执行前补齐启动期所需 API,并通过单次 document-start 注入进入页面;支持 document-start 的内核继续复用系统 WebView,不支持的内核会明确阻止导航并提示升级。
- 内置 GeckoView 158:完全使用随包渲染内核,不依赖系统 WebView,不静默回退;处理 DSH 账号 popup、外链、401、文件选择、页面状态、右侧栏和键盘视口等差异。
- DSH 访问设置:首页 DSH 卡片可进入全屏访问设置页,查看并复制带 token 的完整地址、设置外部打开方式、复制连接信息并查看运行时间。
- 运行期硬链接兼容垫片:安卓应用数据分区(FBE/FUSE)拒绝硬链接,而 DSH 使用 link() 作为「不覆盖发布文件」的原语,会导致会话持久化、文件工具和附件发布失败。App 启动时通过 node --import 替换 node:fs/promises.link;遇到平台拒绝时退化为保留不覆盖语义的内容拷贝。
- DSH 源码零修改:兼容逻辑位于 App、渲染适配层、内置扩展和运行环境接线;随包 DSH 层保持上游文件与业务逻辑不变。
- 前台服务通知带「启动 / 重启 / 关闭」快捷操作;页面刷新和重新认证统一使用当前 launchToken,DSH 重启或健康循环换 token 后不会继续请求旧地址。
AI 浏览器助手(Browser,v1.5.0 新增)
独立的内置浏览器工作区,通过随包 browser-use 插件与沙箱 CLI 向 DSH 开放 24 项工具。新用户默认装配,可在首页 Cordis 页签的「DSH浏览器自动化」开关中独立控制。
- 网页操作:搜索、导航、多页面管理、读取内容、定位元素、点击、输入、滚动及条件等待;搜索引擎可选必应、谷歌和百度,默认必应。
- 选区反馈与本地预览:选取网页元素或区域,附截图和评论提交给已绑定的 DSH 会话;沙箱中的 HTML 等文件可通过 CLI 启动本地静态服务,也可登记已有服务,在 Browser 中预览并反馈修改意见。
- 截图与调试:支持前台和后台网页截图;普通后台截图失败时,已开启高级调试才会串行尝试 CDP 后备,否则返回明确提示。高级调试提供 DOM、控制台、脚本求值及网络抓取、HAR 导出等能力,请求拦截、修改与重放按独立授权开放。
- 文件与记录:持久历史、收藏、多页面和下载管理;AI 可准备上传文件,经用户批准后交给网页。任务记录可查看、编辑、删除并向 AI 发送续接摘要。
- 控制权与界面:用户接管 AI 操作前确认,AI 控制关闭时可申请授权;支持主题与六语跟随、移动/桌面/宽屏模式、可设置的闲置关闭时间,以及点击 AI 标记快速返回 DSH。
Browser 负责内置网页,Pilot 负责手机原生应用,由 DSH 选择调用。复杂跨页面任务恢复、长时流式响应及部分媒体、站点兼容场景仍待完善,不保证所有任务均可全自动完成。
手机助手(Pilot,v1.4.0 新增)
内建 39 项手机操控能力表,并在内嵌沙箱与安卓应用层之间建立一条信箱通道(文件投递,无网络、无共享内存),让沙箱内的 DSH 安全可控地操控与连接手机。采用「UI 适配 + 内核平台」两层结构嵌入;内核以 Apache-2.0 独立发布于 interlock-relay 仓库,本仓库调用并做 UI 层适配。
| 执行通路(三类) | 说明 |
| 无障碍模式 | AI 在前台直接操控屏幕:点击、滑动、长按等等 |
| Shizuku 特权模式 | 打通系统 shell 级(adb)权限;危险操作(如删除类)被严格限制,部分权限留给用户自行开启、风险自担 |
| 平台直连调用 | 走系统正常渠道的一系列功能调用 |
| 执行模式(两种) | 说明 |
| 前台 | 用户可见地直接操作,配合无障碍 / 平台直连通路 |
| 后台虚拟屏 | 用户在前台正常使用设备、AI 在后台操控;在部分应用的限制下自动降级回前台操作 |
- 审批与交互约束:上述每条链路都施加约束,可按能力选择「禁止 / 询问审批 / 完全访问」;通过弹窗与用户交互。
- 悬浮窗提问:离开 DSHBox 页面时,AI 可召唤悬浮窗提问来与用户实现沟通,用户可选择相关条目、全部驳回或重新提问。
- 给 DSH 的原生工具:随包 DSH 插件 @local/mobile-pilot 提供一组 phone_ 工具,智能体可直接调用我们的内核信箱机制。此插件可在「Cordis」内的「DSH连接手机」处自由开启。
开发者模式(v1.5.1 新增)
从 Pilot 进入独立的“开发者模式”面板。该面板提供的是面向高级用户的完整能力,不属于 Pilot 手机助手的受控审批体系:
| 通道 | 能力与边界 |
| ADB | 开关开启时把完整 ADB 客户端及依赖挂载到 Debian 沙箱,关闭时移出;支持本机服务、无线调试配对、外部设备调试、端口与自定义密钥。 |
| Root | 使用设备现有的 su 实现,在 guest 内提供 android-root CLI;支持访问码、失败锁定、Unix/TCP 传输与权限预检。 |
- 与手机助手隔离:ADB / Root 不经过 Pilot 的“禁止 / 询问审批 / 完全访问”逐项审批、权限分级或动作拦截。用户开启开关后自行决定用途,并对自己执行的调试、系统或 Root 操作及其后果负责;原手机助手通道继续保留受控权限和审批保护。
- 与 Shizuku 隔离:开发者模式 ADB 不依赖 Shizuku,可作为部分 Shizuku 兼容性或未解决问题的替代路径;两者的开关、密钥、server 配置和生命周期独立。
- 外部设备调试:该 ADB 不仅能连接手机本机服务,也可通过网络连接其他设备。ADB 通道关闭后,相关命令、server 入口和挂载均从沙箱撤除。
- 使用前须知:无线调试要求设备支持该能力且网络可互通;Root 要求设备已有可用 su,并可能受 Magisk、KernelSU、APatch、隐藏策略和厂商 ROM 差异影响。
插件管理与插件市场(v1.4.0 新增,v1.5.1 增强)
从首页 Cordis 页签进入,插件相关能力集中管理:
| 能力 | 说明 |
| 随包自制插件开关 | 「DSH移动端页面适配」(dsh-mobile-adapt)、「DSH连接手机」(mobile-pilot)与「DSH浏览器自动化」(browser-use);新用户默认装配,升级保留明确关闭的设置,装配与更新按 DSH 就绪状态处理。 |
| DSH 官方插件 | 把上游默认关闭的官方条目做成开关(如右侧边栏内置浏览器) |
| 绝对安全模式 | 不加载任何第三方插件启动,用于第三方插件导致 DSH 崩溃时恢复启动 |
| 插件加载记录 | 按启动分段查看插件加载情况,便于排错 |
| 崩溃修复辅助 | 内置终端 Agent opencode,一键安装 / 更新 / 卸载;终端输入 opencode 唤起 TUI,用自然语言交互,完成修复 |
| 插件市场 | 位于 App 层,提供分类浏览、搜索、兼容判定、安装守卫及第三方插件安装 / 更新 / 删除入口 |
| 已安装插件 | 先显示本地清单,再异步加载远程目录;区分已生效、重启后生效、待停用、宿主拒绝、不兼容和损坏状态,避免弱网下整个页面持续等待 |
| 随包插件保护 | 移动端适配、Pilot 与 browser-use 写入 profile dependencies;安装、更新或删除第三方插件后,不会被 pnpm 重算 node_modules 顶出 |
插件市场内置 awesome-dsh-plugin 与 awesome-dsh-mobile-plugins 两大实时数据源,后者为 DSHBox 专为移动端 DSH 插件生态新建的仓库,用户可以提交 PR,共建生态。
- 内置 pnpm 11.1.2:随包提供 Corepack 缓存,预置 npm 官方与中国大陆镜像探测;pnpm 的 store、registry 和 Corepack 环境在 DSH、官方“添加插件”入口、插件市场与终端中使用同一配置。
- 官方“添加插件”已接通:支持输入包名或链接后拉取插件信息、安装及卸载;修复 pnpm 找不到、registry 参数不被接受和 store 路径不一致等问题。
- 已安装状态按生效时机展示:启用或停用后需要重启 DSH 才能生效的条目会显示“重启后生效”,宿主拒绝、不可兼容、基础库与市场自身等不可操作项不再显示无效开关。
- 兼容边界:市场会提前检查已知宿主版本、载体和依赖问题,但不能保证所有第三方插件在任意 DSH 版本上可用。升级 Alpha 前仍应备份;从 Alpha 回退 RC 可能出现会话数据兼容问题。
DSH 移动端与双渲染适配(v1.5.1)
内置 DSH 已升级到 0.2.1-rc.5。System WebView 与 Gecko 两条渲染路径共用同一套 DSH 页面和宿主逻辑;适配集中在 App、Renderer Adapter、内置页面兼容资源与扩展中,不修改 DSH 源码或业务逻辑:
| 组件 | 移动端差异或断点 | 处理方式 |
| System WebView 启动 | 旧内核缺少 DSH 依赖的标准 API,或没有 document-start 能力 | 在页面脚本执行前补齐能力;无法安全进入启动前阶段的 provider 明确阻断并提示升级 |
| Gecko 页面桥接 | GeckoView 不具备 System WebView 相同的回调和扩展环境 | 使用内置扩展、页面状态桥、导航代次和原生事件实现 DSH 所需能力 |
| 账号登录 | DSH 先打开空白 popup,再异步取得授权地址;不同内核处理不同 | System 与 Gecko 都在受信 DSH 来源下识别 popup,需要浏览器授权时跳转系统默认浏览器 |
| DSH 内链接 | 直接在主框架加载链接会覆盖当前工作区;侧边栏 iframe 需要保留 | “默认浏览器”把顶层非同源 HTTP(S) 交给系统浏览器;“应用内侧边栏”目标保持 iframe,不误拦截 |
| 401 与重新登录 | 并发导航、重定向和迟到回调可能把状态归到错误文档 | 以导航 nonce、请求头状态和文档状态关联当前代次;旧代次结果丢弃 |
| 附件上传 | 文件选择、多选和来源判定需要原生接线 | 提供拍照、录像、相册、手机文件、音频、工作区与共享区;去重多选结果并清理 accept 哨兵 |
| 语音输入 | WebView 录音需要额外的音频设置权限 | 声明所需权限并接入 DSH 语音输入 |
| 右栏文件预览 | 非标准 scheme 的 authority/host 解析存在内核差异 | 在 App 层补齐 dsh-resource:// 解析;System 与 Gecko 使用同一语义 |
| “打开配置文件” | 旧方案依赖页面拦截,插件关闭或执行时机会导致失败 | 运行环境提供原生 xdg-open 链接,由 App 打开配置文件查看器;已存在文件不覆盖 |
| 键盘与顶栏 | Gecko 弹起键盘时可能上移整个布局视口 | 仅对 Gecko 补足视觉视口差额并固定会话顶栏;System WebView 保持原行为 |
| 右侧边栏终端 | guest 的 passwd 缺运行期 uid,os.userInfo() 可能失败 | 运行期把当前 uid 补齐进 guest passwd |
| 右侧边栏浏览器 | 上游默认关闭对应官方插件 | 在插件管理面板提供开关,重启 DSH 后生效 |
| 拍照 / 录像 | DSH 页面需要系统相机 / 录像入口 | 通过 onShowFileChooser 的 accept 哨兵改走系统拍摄界面 |
| 页面诊断 | 加载完成不等于页面已就绪,主线程能力也不等于 Worker 能力 | 诊断分别记录文档、主线程 API、Worker、Gecko 与页面状态,不伪造“已支持” |
设备返回键、自动聚焦、悬浮快捷切换和附件来源面板沿用 v1.5.0 完成的能力。v1.5.1 进一步把与插件开关绑定的 URL 解析、配置文件打开和 Gecko 键盘处理迁入 App 或明确限定为 Gecko 分支,使 System WebView 不会被 Gecko 专属逻辑干扰。
PRoot 分层运行环境(无需 Root)
四层独立装配,PRoot 用户态沙箱与 Android 宿主隔离,运行环境与用户数据(user-data/ → guest /root/projects)互不写入:
| 层 | 内容 | guest 挂载点 |
| base | Debian 13 (trixie) 精简版 rootfs | /(rootfs) |
| node | Node.js 24(npm / npx / corepack) | /usr/local |
| dsh | DeepSeek Harness 0.2.1-rc.5(npm 包,纯净上游) | /opt/dshapp/runtime |
| android-side | PRoot / loader / shmem(宿主侧) | — |
- 沙箱 keepalive 与 DSH 为两个独立 PRoot 进程;停机按 /proc 枚举整棵进程树、子进程优先 SIGKILL,不留孤儿、不占端口
- 每层带 SHA-256 哨兵,启动时逐层校验完整性,损坏可识别、可重装
- v1.4.0 起,base 与 node 两层不再随包内嵌(APK 内只留 dsh 与 android-side):它们由「在线获取运行环境」(精简 Debian 层 / Node.js 层,多镜像源可选、可重置)或「离线导入整包」安装。在线组装出来的层会裁掉非必要语言包与文档等无关组件(即「精简 Debian」),占用更小
系统文件共享区(v1.5.0 新增)
- 授权后在手机公共存储创建或沿用 DSHBox 文件夹,文件管理、DSH、沙箱与终端可访问同一份本地文件,也便于通过其他应用或电脑传入、取出。
- 可选定其他系统公共目录,以独立名称挂载到沙箱共享区;文件管理和附件来源面板均提供入口。新挂载按提示重启相关运行会话后生效。
- 取消挂载只解除关系,不删除源目录或文件。公共共享目录内容不会随 App 卸载或重装而自动删除;重装后需重新授权,额外挂载关系需重新配置。用户主动删除文件仍会生效。
文件管理(v1.2.0 重点增强)
- 目录与视图:工作区 /root/projects、沙盒根(叠加 node、DSH 层)与共享区入口,面包屑导航、列表 / 网格、按名称 / 时间 / 大小排序、新建文件夹、多选批量操作
- 新建文件(v1.4.0 新增):可在当前目录直接创建空文件
- 安装到沙箱(v1.4.0 新增):选中 .deb 可直接解包安装进沙箱
- 移动到指定文件夹:全屏目标选择器(沙盒 / 工作区切换、可新建文件夹、源自身及子孙目录置灰防环、跨挂载点落点提示);冲突三策略(覆盖 / 跳过 / 自动改名 + 应用到其余全部);同卷 renameTo 优先、失败复制兜底(保留权限位 / 时间戳);「重命名」走同一引擎
- 导入:文件多选批量导入、压缩包解压导入,逐件冲突决策、可取消、完成汇总;ZIP 中文名编码修复,加密 zip 明确拒绝
- 导出:多选导出到目录(SAF),或打包为 ZIP
- 外部接收与分享(v1.5.0 新增):接收其他应用「分享到」或「用其他应用打开」的文件并选择保存目录,支持多文件与纯文字;文件菜单可直接调起系统分享面板,与导出功能分开
- 全局搜索:跨沙盒 + 工作区,同时搜文件名与内容,结果带匹配片段
- 风险保护:系统目录 / node / DSH 层 / .dsh 分级标注,写操作前强确认
- 通用文件查看器 / 编辑器 —— 魔数 + 内容嗅探 + 扩展名三级分类,任何文件必有界面:
| 类型 | 能力 |
| 文本 / 代码 | Sora Editor 编辑(行号 / 撤销重做 / 搜索 / 自动换行),json / yaml / shell / python / js / java+kotlin 高亮;编码自动探测 + 手动切换,有损解码强制只读;大文件分级(≤2MB 可编辑 · 2–10MB 确认后编辑 · >10MB 只读尾窗);原子保存 + 外部变更检测 + 未保存拦截 |
| 图片 | 双指缩放 / 双击放大,超长图条带加载,GIF / 动态 WebP 动图,AVIF(Android 12+) |
| PDF | 原生分页渲染;加密 PDF Android 15+ 可输密码,低版本引导外部打开 |
| 压缩包 | zip / jar / apk / epub 与 tar 系只读浏览(目录折叠、加密条目标记)、包内文本预览、单条目 / 全部导出;ZIP 中文名不乱码;7z / RAR 信息卡 + 外部打开 |
| 十六进制 | 偏移 / Hex / ASCII 三栏,64KB 块随机读,熵估计 |
| Office | docx / xlsx 抽纯文本只读;doc / xls / ppt 信息卡 + 外部打开 |
| Markdown / HTML / SVG | md 源文编辑 + Markwon 预览(含表格);html / svg 离线 WebView 渲染(禁 JS、禁网络、退出即销毁) |
| 未知 / 二进制 | 十六进制查看 + 文件信息卡;外部打开 / 编辑 / 分享 / 导出兜底 |
更新与导入管理(设置页)
| 功能 | 说明 |
| 更新 DSH(在线) | 并行探测 npm 官方 / 阿里 / 腾讯云 / 华为云镜像的版本与延迟 → 选源选版本(降级二次确认)→ 沙箱内 npm 拉取完整依赖树 → 换层自动重启;后台运行、实时日志、可取消(进程树 SIGKILL) |
| 更新 DSH(离线导入) | 单文件层包 .tar.zst / .tar.gz / .tar / .tgz(或 zip 内含层包),暂存解压 → 形态校验 → 原子换层,失败不留半成品 |
| 在线获取运行环境 | 按 Node 层 / 精简 Debian 层 分别探测对应镜像源(可达性与延迟)、下载、GPG 验签、裁剪与组装成层;分步进度、可取消,失败按原因分类提示(镜像缺包 / 验签失败 / 空间不足等);可随时重置任意层 |
| 离线导入运行环境包 | 整包替换 base / node / android-side,逐层 SHA-256 校验,previous/ 单份可回滚(详见下文);v1.4.0 起不随 APK 分发,但仍会在 Release 页面单独提供,与在线获取等效。 |
| 插件管理 / 插件市场 | 由首页 Cordis 页签进入:市场浏览与安装、已安装管理、官方插件开关、绝对安全模式、插件加载记录、崩溃修复辅助(详见上文「插件管理与插件市场」及兼容说明) |
| 诊断与日志 | DSH / 沙箱 / 访客命令日志可滚动、复制与导出;渲染诊断区分 System provider、Gecko 版本、页面文档状态、主线程 API、Worker 环境和已知视觉能力,不把加载完成或版本号单独当作页面可用结论 |
| 用户反馈 | GitHub Star 与问题反馈两条入口,均先弹窗说明再跳转 |
存储占用与清理
- 占用按系统同口径统计(分配块、硬链接去重、含应用缓存),进设置页自动刷新、可手动刷新
- 清理项独立勾选:应用缓存 / 访客临时文件(运行中仅清 24h 前条目)/ 运行日志(截断)/ apt 下载缓存;回滚备份可选并明确警告
- 清理与后台安装 / 导入互斥,绝不触碰 user-data/.dsh 与运行环境本体
终端
- 多窗口:沙盒终端(PRoot Debian 完整环境,bash / vim / htop / node / npm / apt / git / python3 / ssh 开箱可用)/ 受限 shell 兜底,浮动控制面板新建 / 切换 / 关闭
- 直接操作 DSH CLI(v1.4.0 新增):沙箱内可直接运行官方 dsh 命令(web / headless / tui / plugin),与网页端同一份 DSH、同一个 profile
- 开发者模式命令:开启对应开关后,sandbox 内可使用完整 adb;Root 通道开启且设备已授权时,可使用 android-root。关闭开关会撤除对应命令入口
- 随包小工具补齐(v1.4.0 新增):jq、sqlite3、patch、nano、strings(binutils)等 AI 执行任务时常用的系统工具;工具包自愈 —— 换层或升级后检测到缺失会自动补装,不必清数据重来
- 两行辅助按键栏(ESC / TAB / HOME / END / CTRL 粘滞 / 粘贴 / 方向键 / 翻页 / 退格 / 删除,DECCKM 感知),双指缩放字号 8–40sp
- 基于 Termux terminal-emulator / terminal-view(v0.118.0,未修改)+ 自研 terminal-session 会话层
多语言适配(v1.3.0)
- 界面全面本地化:联合国六种官方语言——English / 简体中文 / العربية / Español / Français / Русский;默认跟随系统,未支持语言回退英文
- 设置 → 外观新增「语言」选择器:六语 + 跟随系统,即选即生效、无需重启;通知、弹窗、终端菜单等均随语言切换
- 数量文案按语言复数规则处理(阿拉伯语 6 形态 / 俄语 4 形态等);文件大小、时间戳、Hex 偏移等技术性数字保持西文
- 布局方向:全局恒 LTR(阿拉伯语文本按 Unicode bidi 正常渲染),页面导航与布局不整体镜像
- 内置 i18n 一致性门禁(键位 / 占位符 / 复数形态 / 硬编码扫描),随 CI 校验六语资源
界面(底部 5 个标签)
| 标签 | 功能 |
| 首页 | 控制 / Pilot / Cordis 三页签:沙箱与 DSH 状态、启动 / 重启 / 关闭、系统状态、手机助手、开发者模式入口与插件管理;设置入口位于右上角 |
| 文件 | 工作区 / 沙盒 / 共享区浏览、移动 / 重命名 / 删除、多选批量、导入 / 导出 / 分享、外部文件接收、查看器 / 编辑器、搜索 / 排序、新建文件 / 文件夹、.deb 安装到沙箱 |
| DSH | 使用 System WebView 或内置 GeckoView 加载 http://127.0.0.1:3080,自动认证、键盘与页面兼容、悬浮球刷新和模块快捷切换 |
| 终端 | 多窗口终端、辅助按键栏、控制面板、可直接运行 dsh CLI |
| Browser | 内置浏览器与 AI 网页助手、元素 / 区域反馈、本地网页预览、历史 / 收藏 / 下载及调试设置 |
设置已迁至首页右上角,保留外观(主题 / 语言)、存储与清理、App 更新、DSH 与运行环境更新 / 导入、诊断日志、反馈与关于。
已知限制
- System WebView 兼容范围取决于 provider 能力:已实测部分 WebView 101 / 124 环境可完成主要 DSH 页面流程;缺少 document-start 或所需标准 API 的旧内核会被阻止进入并提示升级。系统 WebView 版本号不能单独保证所有页面均正常。
- Worker / PDF 不等同于主页面兼容:System WebView 的 Worker 使用独立环境,当前提供诊断而不注入 Worker 兼容补丁;PDF、Excel 或依赖高版本 Worker API 的流程可能需要更新 WebView,或使用内置 Gecko 版。
- 两个 APK 不能同时安装:系统 WebView 版与 Gecko 版同包名、同签名,只能互相覆盖;安装另一个版本不会清空 Debian、sandbox、user-data 或已创建的工作区。
- 开发者模式属于高级能力:ADB / Root 不经过 Pilot 审批体系。你应理解无线调试、外部设备访问和 Root 命令的风险,并自行承担操作后果。不同 ROM 的 su、无线调试、隐藏与授权行为可能不同。
- 插件兼容由宿主与插件共同决定:市场会检查已知宿主能力、载体和依赖差异,但不能保证任意第三方插件在所有 DSH 版本上均可安装或运行。
- Gecko 静态 content script 在个别新系统上存在平台差异:当前需要桥接的登录、外链、配置文件与导航关键路径已使用原生事件、扩展状态桥或运行环境链路;未来新增页面主世界注入功能时仍需重新验证。
- 升级 Alpha 前应备份:从稳定 RC 升级到 DSH Alpha 后,回退 RC 可能出现会话数据兼容问题。
从源码构建
| 环境 | 版本 |
| JDK | 21(官方 CI 使用 Temurin 21) |
| Android SDK | compileSdk 37.2 · targetSdk 36 · minSdk 29 |
| Gradle | wrapper 9.5.0(AGP 9.3.1 · Kotlin/Compose 编译插件 2.4.20) |
| Kotlin | 编译器版本 2.4.20;源码语言/API 固定 2.2,JVM target 17 |
运行环境大层不在本仓库;由于体积较大,改为在 GitHub Release 中作为独立附件发布(见下节)。构建前请先获取 ../runtime/。
./gradlew :app:testDebugUnitTest
./gradlew :app:assembleSystemWebViewRelease :app:assembleGeckoRelease
pwsh tools/assemble_release_apks.ps1
Release 归档后输出:
- apk/dshbox-v<version>-system-release.apk
- apk/dshbox-v<version>-gecko-release.apk
归档脚本会继续执行发布契约门禁,检查两个 APK 的 DSH 兼容资产、Gecko 扩展权限、脚本哈希、包名和签名。
| 模块 | 职责 |
| app | 全部 UI(5 个标签页、DSH 访问设置、查看器、设置 / 诊断 / 更新页)、双渲染变体、前台服务、在线更新编排与运行环境获取 |
| dsh-renderer | api 共享渲染契约、导航鉴权与文件交付;system 系统 WebView 兼容与能力探针;gecko GeckoView 158 渲染、扩展、弹窗与文件选择 |
| sandbox-manager | 分层运行时装配、PRoot 进程管理、DSH 层仲裁与更新、导入 / 校验 / 清理 |
| common | 常量、npm 镜像源、版本比较、日志脱敏 |
| bridge | WebView JS Bridge 安全框架(预留 stub) |
| terminal-session | 终端会话层(多窗口、PRoot 终端命令构建) |
| terminal-view / terminal-emulator | Termux 终端库(v0.118.0,未修改) |
| plugin-manager | 插件管理:装配控制、插件市场(目录取数 / 兼容判定 / 安装守卫)、官方插件开关、绝对安全模式、插件加载记录、崩溃修复辅助(opencode) |
| pilot(interlock-relay-core + dshbox-adapter + developer-access) | 手机助手内核与 UI 适配;开发者模式的 ADB、Root、无线配对、设备、密钥和通道面板 |
| browser(browser-api / browser-runtime / browser-bridge / browser-devtools) | 浏览器契约、WebView 会话运行时、沙箱工具桥接与受控高级调试;界面由 app 接入 |
运行环境层构建脚本见 runtime-bundle/(各层 tar.zst 由 build_base.sh / build_node.sh / build_android_side.sh 在 Linux/WSL2 构建);构建手册见 docs/BUILD_RUNBOOK.md,预检脚本 tools/pipeline_dryrun.sh。注意:开发者基于源码自行构建时,必须先从 Release 发布的运行环境压缩包中解压并提取 android-side 层,放到构建所需的 runtime/android-assets/runtime/android-side.tar.zst;否则编译出的 APK 缺少该运行层,无法正常安装运行环境。
注:Release 页面随版本一并提供打包好的运行环境整包(三层:base / node / android-side,独立于 APK),可直接下载使用。v1.4.0 起 APK 内只内嵌 dsh 与 android-side 两层;base 与 node 两层不再进包,由「在线获取运行环境」现场组装,或由该整包离线导入。
运行环境大文件(不在本仓库)
| 发布包内路径 | 内容 |
| runtime/android-assets/runtime/android-side.tar.zst | 宿主侧 PRoot / loader / shmem,带 .sha256 侧车(内嵌进 APK) |
| runtime/android-assets/dsh/0.2.1-rc.5.tar.zst | DSH 层 + .sha256(纯净上游,不打补丁;内嵌进 APK) |
| runtime/offline-baseline/{base,node}.tar.zst | Debian 层与 Node 层,各带 .sha256 侧车与 runtime-profile.json;不进 APK,作为离线整包的一部分交付 |
| runtime/dshapp-runtime-debian-arm64-0.1.0.zip | 对外交付的运行环境整包(离线导入用) |
- 引用方式:app/build.gradle.kts 通过 assets.directories.add("../../runtime/android-assets") 引用发布目录,构建时内嵌进 assets/runtime/ 与 assets/dsh/
- 判定机制就在这句话里:放进 assets.directories.add 指向的目录才会进包;base / node 移到 runtime/offline-baseline/ 之后即不再内嵌。实测 APK 内条目与此吻合——只有 assets/dsh/ 与 assets/runtime/android-side.tar.zst
- 构建前置:assembleSystemWebViewRelease / assembleGeckoRelease 前需先获取 runtime/,目录缺失则无法内嵌完整运行环境;v1.4.0 起该前置只对 dsh 与 android-side 两层成立
- 签名密钥(keystore.properties、local.properties)不在仓库内:用 tools/create_keystore.sh 自建开发签名,未配置时 release 构建回退 debug 签名
离线导入运行环境包
- 交付形式:单文件 dshapp-runtime-debian-arm64-0.1.0.zip,设置页「离线导入运行环境包」选择即可;与「在线获取运行环境」并存
- 布局与格式:外层 zip / tar;层归档 .tar.zst / .tar.gz / .tar / .tgz / .bz2 / .xz(按魔数识别),兼容一层目录前缀与外层 tar 装层归档
- 校验:逐层 SHA-256(侧车与 runtime-profile.json 交叉核对)+ Zip-Slip 防护;损坏 / 截断 / 加密包返回可读错误
- 替换:旧本体移入 previous/(单份可回滚),绝不触碰 DSH 层与 user-data/.dsh
- DSH 离线更新走「更新 DSH(离线导入)」单文件层包(如 0.2.1-rc.5.tar.zst),与在线更新并存。
用户交流与反馈:
- QQ交流群:2163082322
- Bilibili账号:搜索“文大师啵啵”
- 问题反馈:GitHub Issues
许可证
本项目采用 GPL v3(见 LICENSE)。第三方组件按其各自原许可继续适用,详见 THIRD_PARTY_NOTICES.md:
- PRoot(GPL-2+)· talloc(LGPL-3+)· Debian rootfs(按各包 Debian 版权文件)
- DeepSeek Harness / Cordis(MIT)· Node.js(MIT)
- Termux terminal-emulator / terminal-view(Apache-2.0,v0.118.0 未修改)
- GeckoView 158(MPL-2.0 及内含组件各自许可;仅内置 Gecko 版包含,未修改上游 AAR)
- ZXing Core 3.5.3(Apache-2.0,开发者模式访问码二维码)
- sora-editor(LGPL-2.1-or-later,aar 未修改)· Markwon(Apache-2.0)· commons-compress(Apache-2.0)· zstd-jni(JNI 包装层 BSD-2-Clause,Zstandard 内核 BSD-3-Clause)
- interlock-relay-core(Apache-2.0,手机助手平台层,独立发布,源码随本仓库分发)· Shizuku(MIT,手机助手的 shell 身份执行通路)
三个自有插件 dsh-mobile-adapt、mobile-pilot 与 browser-use 各附完整 LICENSE、NOTICE,并声明为 GPL-3.0-only;第三方依赖保留各自原许可。可在「设置 → 关于 → 开源许可」离线查看随包许可,来源与源码重建说明见 licenses/README.md。
品牌标识不在上述授权范围内。 App 名称、应用图标与应用内自有品牌图形(清单见 TRADEMARK.md)由项目权利人独占持有,全部权利保留;未经许可不得用于修改版 / 衍生版,或用于可能造成混淆的标识。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
WSK-build/DSHBox
DSHBox — 在 Android 上本机运行 DeepSeek Harness
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7