knGear/dsh-mobile--plugins-mobile-ui ↗★ 0
mobile-ui
移动前端 UI 插件:提供移动端设置(连接地址、紧凑模式、安全区、重启等)及重启按钮。
AI 分析
核心用途是优化 DSH 在安卓移动设备上的界面布局与交互体验。适合在手机上使用 DSH 的用户,提供竖屏适配、全面屏安全区调整及一键禁用改动的纯净模式。
安裝
此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗
說明文件
閱讀完整 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