Repository navigation
Releases: jackwener/DSH-Android
Release list
v0.3.1
- 修复 Android 17 上后台屏建不出来(#34):通过 Shizuku 创建后台屏时,传给系统的包名和 Shizuku 的身份对不上,Android 17 会拒绝。现在以 shell 的身份创建。再失败时会写明原因,自检和诊断信息里也能看到
- 可以访问 Android/data 和 Android/obb(#35):Android 11 起,开着 Shizuku 时,文件工具可以列出、读取、写入、复制、移动、删除和搜索这两个目录里的文件。不允许整个删除或移动这两个目录本身。没开 Shizuku 时会提示去哪里打开
- 新工具 adb_shell(#35):通过 Shizuku 以 shell 身份执行命令,相当于电脑上的
adb shell,可以用 pm、am、dumpsys、cmd、logcat 等。走正常的审批,危险命令和终端一样直接拦截。需要开着 Shizuku - 升级后如果 Shizuku 里的旧服务还在运行,请在 Shizuku 里重启一次服务,新功能才能用
- 这版没有在真机上测试过
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: a9f63f7c6b30521b81a8420cba47fdffe562459cbbd91f9839dd6b77186cbe9c
v0.3.0
插件、技能和 MCP(#17):设置里新增“扩展”,分插件、技能、MCP 三栏。
- 插件:用的是 dsh 自己的插件格式和插件管理器,和桌面版 dsh 装的是同一套插件。可以浏览精选列表、搜索,也可以粘贴 npm 包名、npm 或 GitHub 链接,或者选 .tgz/.zip 文件安装。插件的设置表单按插件自己声明的配置自动生成,改了立即生效。安装、启用、更新、卸载后,引擎会在当前任务结束后自动重启生效
- 装之前就判断手机能不能用:需要原生模块的插件,在下载前就拒绝并说明原因;装完再扫一遍,发现原生文件就回滚。依赖 dsh 网页版服务的插件(例如 DS-Bot)也会在安装时说明用不了的原因
- 坏插件不会让 App 起不来:哪个插件导致引擎崩溃就自动暂停哪个;连续两次起不来时进入安全模式,暂停全部插件,再逐个恢复
- 一次提示:安装卡片里如实说明插件拥有和智能体一样的能力,此外没有额外弹窗。插件工具在会话模式里归为“扩展工具”,“只聊天”模式默认关闭;每个插件可以单独打开“调用前问我”
- 技能:从文件、zip、链接或 GitHub 导入
SKILL.md,不用重启 - MCP:粘贴地址或
mcpServers配置接入远程 MCP 服务;npm 上的纯 JS MCP 服务也能在手机上运行。需要 Python、Docker 的服务会明确说明不支持 - 国内网络:插件下载源在 npmmirror 和 npm 官方之间自动选择,一个不通就换另一个
- 可以从系统分享菜单“安装为 DSH 扩展”
- 内置 dsh 升级到 0.2.1-rc.5;冷启动时间不变
- 这版没有在真机上测试过,插件安装这条链路尤其需要真机验证
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: c5345170198b72156a9246c7be93aff6dbf9dc7992afcc051245d5d21cf7cd96
v0.2.7
- 支持 OpenCode Go(#32):新增 OpenCode Go 预设。OpenCode Go 要求每段对话带一个固定的会话标识,以前没带,所以模型列表能拉到、一对话就失败。现在同一段对话用同一个标识,不同对话互不相同,标识由会话号单向推出,不暴露原始会话号
- 自定义服务商可以加请求头:编辑服务商 → 高级设置,可以填“会话标识请求头”和“额外请求头”。看起来像密钥的值会和 API Key 一样加密保存
- “没开通这个模型”不再报成 Key 错误:对话中遇到账号没开通某个模型(火山方舟、硅基流动、智谱、通义、OpenAI 等的这类报错),会写明是哪个模型没开通,附上服务商原话,并给出“去设置”按钮。“测试并保存”的说法与之一致
- 请求模型时带上
DSH-Android/版本号的客户端标识 - 这版没有在真机上测试过
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: 11591cd144874db4a0c0989fa16c857117fdf1a34a93bddefcde79844f9dba47
v0.2.6
- 保存模型服务商时真调用一次:“测试并保存”会让模型实际调用一次工具,通过才算可用。没指定主模型时自动挑最多 3 个候选试;失败原因分清楚:Key 不对、账号没开通这个模型、模型名不存在、模型不支持工具、额度用完、网络问题。不提供模型列表的服务商,填模型名后同样实测。设置里没测试通过的模型会标出来,可以“重新测试”
- 新增 Ollama、LM Studio 预设(电脑上跑的本地模型,Key 可不填);核对并更新了 MiniMax、Kimi、智谱、火山方舟的地址和默认模型
- 复制诊断信息:关于 → 自检里一键生成诊断,先完整显示给你看,点“复制”或“分享”才会离开手机。不含 Key、对话和屏幕内容,IP、邮箱等自动打码。提 issue 时请贴上它
- 第三方推理模型的思考内容:按收到时的格式原样回传给同一个服务商,不会发给别家;被服务商拒绝时自动去掉重试
- 兼容更多网关的返回格式:新增 87 组网关返回的回放测试(DeepSeek、OpenAI、vLLM、sglang、NVIDIA、OpenRouter、Ollama、LM Studio、硅基流动、火山方舟、Kimi、智谱、通义、Mistral、MiniMax、Gemini 等),并修复了它暴露出来的问题:并行工具调用参数被拼坏、没有 id 的工具调用被丢掉、非流式返回、“余额不足”被误报成 Key 错误等
- 滚轮选择器一次转到位:新工具,选时间、日期、数量的滚轮直接转到目标值并读回核对
- 闹钟设完会核实是否真的设上;新增“查看闹钟”;新建日程改为打开日历的预填页,不需要日历权限
- 没有输入框时打字会直接报错,不再假装成功;输入框里的提示文字不再被当成内容
- 这版没有在真机上测试过
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: 07fc4f9b6da65b44e748278a7f3e49cbeabe07c27a08c67c24f0c4d309d50f77
v0.2.5
- 修复第三方模型对话必失败(#20 #28):很多 OpenAI 兼容网关(magpie、NVIDIA NIM、公司内网网关等)在流式返回里每帧都带
"usage": null,以前会被误报成“provider transport failed”并反复重试。现在正常对话;解析不了的返回会直接说“模型服务返回的数据格式不兼容”,不再伪装成网络错误、也不再空等重试 - 接口地址没写
/v1时,“获取模型列表”遇到 404 会自动试/v1并帮你改好地址;对话时的 404 也会提示试/v1 - 模型列表刷新(#25):刷新后列表就是接口这次返回的模型;已勾选但接口不再返回的模型标“接口未返回”留在最上面
- 上下文窗口和最大输出(#27):不再写死 128K。能从接口返回里自动识别(vLLM、sglang、OpenRouter、llama.cpp 等),也可以按服务商或按模型手动设置;引擎和输入框的上下文圈都用这个值,并标明来源
- 语音发起任务(#23):唤起助手或长按悬浮球后直接开始听,说完自动发送(1.5 秒内可点击改为编辑);输入框也有麦克风按钮
- 安装时如果 Google Play 保护机制提示“已屏蔽有害应用”,属于误报:核对下面的 SHA-256 后,点“更多详情”→“仍要安装”(见 README)
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: d81269fedaff5559c4099ac3ae842f8ae36dfb4f3f37389076a2fb824d4d36bb
v0.2.4
会话模式(#3):
- 输入框上新增模式标签,内置 4 个模式:默认(原来的行为)、手机操作(设备和屏幕工具,不开 shell)、编程(shell、文件、Skills、网页)、只聊天(只保留联网搜索和网页读取,只读)
- 每个模式可以设:额外的系统提示词、启用哪些工具、默认权限、是否使用 Skills;设置 → 会话模式 里可以复制内置模式、新建和编辑自己的模式
- 新会话发第一条消息前可以切换模式,之后锁定;选模式会同时设好它的默认权限
- 已有的会话按“默认”模式运行,行为不变;数据库正常升级,不会清掉已有会话
- 安装时如果 Google Play 保护机制提示“已屏蔽有害应用”,属于误报:核对下面的 SHA-256 后,点“更多详情”→“仍要安装”(见 README)
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: 43bcf88d0eb408f4fb1e4073a7524faa112c68c6266af142ec195ae6c11f67ba
v0.2.3
- 连接模型服务失败时说清楚原因:不再只显示“provider transport failed”,会写明是连接被拒、超时、域名解析失败还是证书错误,以及连的是哪个地址,再给一句怎么处理(比如 magpie / 局域网网关要监听 0.0.0.0、手机和电脑在同一 Wi-Fi)。“获取模型列表”测试连接时给出同样的诊断
- 引擎走系统代理:手机设置了 Wi-Fi 代理或代理模式的 VPN 时,对话请求和“获取模型列表”走同一条路,不会再出现“测试通过、对话失败”
- 模型服务地址填 localhost / 127.0.0.1 时提示“这是手机自己的地址”
- App 经验库:智能体在这台手机上操作 App 时,自动记下入口、容易踩的坑和走通的路线,按 App 版本区分,下次进入同一个 App 时自动用上;用错了会自己修正。设置 → App 经验 可以查看和删除;任务结束后的自动总结可以关闭
- 后台保活一键直达:体检页识别手机品牌(小米、华为、荣耀、OPPO、一加、realme、vivo、iQOO、三星、魅族、摩托罗拉等),一键跳到自启动、后台运行、电池优化设置
- 安装时如果 Google Play 保护机制提示“已屏蔽有害应用”,属于误报:核对下面的 SHA-256 后,点“更多详情”→“仍要安装”(见 README)
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: 5bf8d70e82a594b7e1fed137a1070fe44a6b1ef2e2c850cb2d88e140ff0f074d
v0.2.2
代码审查修复:
- 智能体用旧的元素编号时,不会再点到另一个长得一样的按钮(只在同一个 App、附近且唯一时才沿用)
- 连续滚动、删除、翻页不再被误判为“打转”而叫停
- 接管等待超时或被取消后,后台屏和被静音的 App 会正确恢复;在你屏幕上操作时请求接管,不会再把后台屏的 App 挪过来盖住你的页面
- 你在主屏打开被静音的 App 时自动恢复声音;App 被杀后残留的静音在下次启动时恢复
- 截图被取消时悬浮球不会再一直隐藏;撤销悬浮窗权限后不会崩溃
- 文字识别:连续操作时不再静默失败;动作后旧的 t 编号会明确作废
- 防风控间隔不再误伤“发送验证码”“已关注”“查看回复”等按钮;等待后会重新定位再点
- 每轮最多附 3 份 App 使用知识;内置的 18 份 App 使用知识重新编写
- 安装时如果 Google Play 保护机制提示“已屏蔽有害应用”,属于误报:核对下面的 SHA-256 后,点“更多详情”→“仍要安装”(见 README)
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: 8d563c5745c26ac9abecf4902373cb449ef14e1e52b8ce7a195cce4cd8d7265f
v0.2.1
操作时显示状态(#18):
- 悬浮球旁边显示一行实时状态:正在做哪一步、“需要你:…”、做完后显示已完成 / 已停止 / 出错了,几秒后收起;点一下回到对应对话
- 智能体在操作你的屏幕时,屏幕四周显示一圈发光边框,停止或等你处理时消失;在后台屏操作时不显示边框,状态写“在后台操作某某 App”
- 边框和状态不挡触摸,也不会出现在智能体的截图里
- 需要打开悬浮球;设置里“操作时显示状态”可以关掉
- 安装时如果 Google Play 保护机制提示“已屏蔽有害应用”,属于误报:核对下面的 SHA-256 后,点“更多详情”→“仍要安装”(见 README)
- 仅支持 arm64-v8a,Android 10 及以上;正式签名,可直接覆盖安装 v0.1.1 及以后版本
APK SHA-256: bb70e0e6267a1a198aab9db675d0a56b5e2f52b5caba04e0950c26424de9f626
v0.2.0
后台屏操作 App 2.0(参考 wangzan101/mika 的做法重做手机操作层):
- 后台屏默认开启:装了 Shizuku 后,打开 App 自动在一块看不见的后台屏上操作,你照常用手机;Android 14 起不抢键盘;被操作的 App 自动静音;对话页显示实时小画面
- 接管与交还:遇到登录、验证码、付款、禁止截屏的页面,发通知请你处理,App 挪到主屏,处理好后挪回后台屏继续;App 跳去别的 App 时自动挪回后台屏
- 读屏更稳:没变的元素保持同一编号;动作后只发变化;读不出字时用离线文字识别(ML Kit)补读;每个动作报告实际效果(界面没变、提示太频繁、切到别的 App)
- 防打转:同一动作反复无效会提醒,到上限停下汇报
- 内置 18 个常用 App 的使用知识(来自 mika,Apache-2.0),第一次进入时自动提供给模型
- 防风控节奏:同一个 App 里连续发送、提交时自动间隔 8–20 秒
- 悬浮球显示“干活中 / 需要你”;双击悬浮球把当前屏发进对话;轨迹页每轮显示用时、工具调用次数、Token
- 没装 Shizuku 时退回主屏操作
- 仅支持 arm64-v8a,Android 10 及以上(后台屏需要 Android 11+);正式签名,可直接覆盖安装 v0.1.1 及以后版本
- 安装时如果 Google Play 保护机制提示“已屏蔽有害应用”,属于误报:核对下面的 SHA-256 后,点“更多详情”→“仍要安装”(见 README)
APK SHA-256: c00c919278bac3ca5baa79d2f415b06818bc4c64b2b906524e26c8a928203fa8