knGear/dsh-mobile--plugins-mobile-ui0

mobile-ui

移动前端 UI 插件:提供移动端设置(连接地址、紧凑模式、安全区、重启等)及重启按钮。

AI 分析

核心用途是优化 DSH 在安卓移动设备上的界面布局与交互体验。适合在手机上使用 DSH 的用户,提供竖屏适配、全面屏安全区调整及一键禁用改动的纯净模式。

包名
mobile-ui
版本
0.1.0
许可证
MIT
最近更新
2026年8月14日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

dsh-mobile

DeepSeek Harness dsh web 的 Android 移动前端:WebView 壳 APK + 本地 Cordis 插件,把 dsh 变成手机上的 App 体验。

dsh(DeepSeek Harness)是 DeepSeek 官方的 AI 编码/任务框架。本项目不 fork 上游:所有移动端改动通过壳注入与本地插件实现,上游升级不冲突。

与 DeepSeek 官方无关:本项目是独立开源项目,非 DeepSeek 出品、未经其认可或赞助;"DeepSeek" 及相关商标归其各自所有者所有。

特性

壳(APK)

  • 深色一体化:状态栏/手势条与页面同色,edge-to-edge 全面屏
  • 原生 insets 安全区:内容自动避开状态栏/挖孔/手势条,上下偏移可调(-10~10 dp)
  • 离线自动重试 + 内置离线页(IP:端口 远程连接 + 复制一键安装脚本)

通知(本地插件)

  • 会话进行中/完成/提问/故障状态推送,标题 = 会话标题-状态
  • 正文 = 运行时间 + 待办;可开启「通知内容强化」(AI 生成动作摘要,增加 token 消耗)
  • 错误码原文展示

移动 UI(本地插件)

  • 对话栏竖屏适配、agent 预设卡片自适应
  • 移动端设置选项卡:连接地址 / 通知强化 / 全面屏优化(开关+偏移)/ 重启 dsh / 安全模式
  • 纯净模式:一键禁用全部移动端改动,回到原版 UI

安装

1. Termux

F-Droid 安装 Termux(不要用 Play 商店版),打开后先执行:

pkg update && pkg upgrade -y

2. 后端:三种方式任选其一

方式一:Android shell 一键脚本(Termux 原生,不需要先装 Linux)

pkg install -y curl
curl -L -o dsh-install-termux.sh https://raw.githubusercontent.com/knGear/dsh-mobile/main/scripts/dsh-install-termux.sh
bash dsh-install-termux.sh

脚本自动完成:装工具链 → npm i -g @deepseek-ai/dsh(--ignore-scripts)→ 手动编译 node-pty/koffi (Termux 无 NDK,node-gyp 必崩,用 clang++ 现场编译)→ 补 bionic 缺失的 spawn.h → sharp 换 wasm 版 → SELinux hardlink 检测(有 root 自动修复)→ 生成 dsh-web 启动命令并验证 → 自动安装两个移动端插件并挂载。 全程约 10~30 分钟(koffi 编译最耗时),请勿中断。

方式二:Termux 内的 Linux(官方 npm 安装,与普通 Linux 完全一样)

pkg install proot-distro
proot-distro install debian
proot-distro login debian
# 以下在 Linux 内执行
apt update && apt install -y nodejs npm
npm i -g @deepseek-ai/dsh
dsh web        # 启动, 终端会弹出网址信息(默认 http://127.0.0.1:3080)

PC / 服务器等普通 Linux 环境同样适用(跳过 proot 步骤,直接 npm 安装)。 想一键自动完成(含插件):curl -L -o dsh-install-linux.sh https://raw.githubusercontent.com/knGear/dsh-mobile/main/scripts/dsh-install-linux.sh && bash dsh-install-linux.sh

方式三:已有 dsh → 追加两个移动端插件包

PC / 服务器 / Termux / proot 等任意已装好 dsh 的环境,只需补装移动端插件:

curl -L -o dsh-addone-mobile.sh https://raw.githubusercontent.com/knGear/dsh-mobile/main/scripts/dsh-addone-mobile.sh
bash dsh-addone-mobile.sh    # 重复运行 = 更新到最新版

3. 前端:APK 连接以上三种情况的本地/远程 dsh

GitHub Releases 下载 DSH-v0.01.apk(Android 8.0+,允许未知来源),首次启动会自动申请通知授权(Android 13+,会话状态/完成提醒需要)。打开 App 后:

  • 本地 dsh(方式一/二的 Termux 场景):默认直连 127.0.0.1:3080,开箱即用
  • 远程 dsh(方式三的 PC/服务器,或局域网其他设备):离线页输入 IP:端口 连接

从源码构建

# 环境: proot Debian(Trixie) + aapt/javac/d8/zipalign/apksigner
git clone git@github.com:knGear/dsh-mobile.git
cd dsh-mobile && bash build.sh
# 产物: out/DSH-v.apk

⚠ 老 d8 不支持 lambda(Unable to find method metafactory)——Java 代码一律用匿名类。

项目结构

app/                      # Android 壳 (com.dsh.mobile, minSdk 26 / target 34)
  src/main/java/          #   MainActivity(安全区/离线重试/JS桥) + NotifyReceiver(通知)
  src/main/res/           #   图标/主题/一键安装脚本
build.sh                  # 构建脚本(proot Debian 混合构建)
release.keystore          # 发布签名(alias dshmobile, 密码随仓库公开——FOSS 实践)
icon-master.svg           # 图标源
plugins/
  cordis.patch.yml        # 插件挂载示例
  mobile-ui/              # 移动 UI 插件(设置/重启)
  mobile-AndroidNotify/   # 通知插件(状态推送/内容强化)

插件挂载

# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: mobile-notify
      name: 'mobile-AndroidNotify'
    - id: mobile-ui
      name: 'mobile-ui'

⚠ 带 client 的包 exports 必须包含 ".""./package.json";插件 id 全树唯一,用 mobile- 前缀避免与上游撞名。

兼容性

  • dsh:@deepseek-ai/dsh@0.1.0-rc.6(npm)
  • Android:minSdk 26 / target 34(Android 8.0+)
  • 布局锚点只用 dsh 稳定语义属性(data-* / role=),不依赖 hash 类名,上游升级不碎
  • 无 root 可用:安装/通知/远程连接均不依赖 root(仅旧版设备的 SELinux 补丁为可选步骤,失败自动跳过)

版本历史

  • v0.01 — 首个公开版

Credits

本程序使用 DeepSeek Pro / DeepSeek Flash 进行构建(DeepSeek Harness agent 辅助开发)。

License

MIT © knGear