项目介绍
dsh-android 让 DeepSeek Harness 通过 adb 操作 Android 设备,并把持续更新的画面放在会话侧栏。模拟器与 USB 手机都用 adb 返回的 serial 作为身份,不绑定某一个模拟器品牌。它还提供应用启动、Gradle 构建、UI 树、日志及内存查询,适合把开发后的界面检查接进 Agent 会话。文字识别使用 Apple Vision,因此不能把整套 OCR 能力也描述成跨平台。

核心功能
同一入口连接模拟器和手机
android_devices 列出在线设备与可用 AVD;android_boot 可投屏在线 serial,或先启动指定 AVD。
实时画面与导航
通过持续 adb 截图进程生成 PNG 流,无需额外投屏服务;侧栏支持点击、拖动及返回、主页、最近任务按钮。
UI 自动化与 OCR
uiautomator 树支持按 resource-id、文本和内容描述定位,列表工具可按行操作;找字、点字、等待文字三个 OCR 工具仅在 macOS 可用。
构建、日志与内存
android_build_run 构建 Gradle debug APK 并安装启动;logcat、进程和 meminfo 工具帮助检查运行状态。
安装与使用
先让 adb 能看到设备,再安装 DSH 插件。最小验证只需列出设备、打开实时画面和读取 UI 树,不需要先配置 OCR。
让 AI Agent 帮你安装
把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。
请安装 dsh-android,项目 https://github.com/ZSeven-W/dsh-android 。先阅读 README、package.json 和 LICENSE,检查 Node.js ≥24.11.0、DSH Web、adb 与在线设备。执行 `dsh plugin --profile web add @zseven-w/dsh-android@latest`,运行或重启 `dsh web`。先调用 android_devices,只使用结果里的设备 serial,随后用 android_boot 与 android_ui_tree 验证投屏和界面读取。Windows/Linux 不要尝试依赖 Apple Vision 的 OCR。涉及凭据、额外权限、USB 调试授权、安装 ADBKeyboard、覆盖文件或操作真实账号时先询问。不要为测试发送消息、购买商品或安装未知 APK。报告实际执行和未验证部分。- Node.js ≥24.11.0,DeepSeek Harness Web 可运行
- Android SDK platform-tools 中的 adb 可被找到
- 一个在线模拟器或已授权 USB 调试的手机
- 仅按 AVD 名称启动时需要 emulator launcher;OCR 额外需要 macOS
dsh plugin --profile web add @zseven-w/dsh-android@latest
dsh web- 1准备 adb 和设备
安装 Android SDK platform-tools,可使用仓库给出的 `sdkmanager "platform-tools"`。把 adb 放入 PATH,或设置 ADB 指向其路径。启动模拟器,或连接 USB 手机并在手机上批准调试。
- 2安装插件并加载 Web
执行仓库命令: ```sh dsh plugin --profile web add @zseven-w/dsh-android@latest dsh web ``` 已有服务时适时重启。
- 3打开设备画面
让 Agent 调用 android_devices,确认在线 serial;再以该 serial 调用 android_boot。若选择 AVD 名称,首次启动可能需要几分钟。
- 4验证 UI 读取
在测试设备打开设置,使用 android_ui_tree 读取界面元素。按 resource-id 或文字操作前先确认目标;首次验证不涉及登录账号或付款。
调用 android_devices,确认所选设备是在线且已授权的状态。把返回的 serial 交给 android_boot,检查实时画面,再调用 android_ui_tree 读取实际界面;不要把工具注册成功当作设备连接成功。
- 未授权手机需在设备屏幕上接受 USB 调试提示。
- 非 ASCII 输入会在缺少 ADBKeyboard 时拒绝,不能假定中文已经输入成功。
- 可先用 Android Studio 启动模拟器,再把在线 serial 交给插件。
使用场景
检查 Android 应用页面
构建自有 Gradle 工程并在设备上查看页面,通过元素身份检查交互。
观察运行问题
结合实时画面、logcat 和 meminfo,收集复现问题的线索。
使用评价
评价来自 README、包文件、许可证和提交记录,没有执行安装或真机测试。用 adb 统一模拟器与手机减少了两套设备流程的差异,UI 树工具也比仅看截图更容易核对目标。限制主要是 OCR 的主机条件、输入法依赖和非 root 设备调试权限,不能按完整手机测试平台的能力作保证。
值得一试的地方
- 模拟器与 USB 手机共用 adb serial
- 投屏、结构化 UI 和日志工具集中在会话内
使用前要知道
- Windows 和 Linux 不支持 3 项 Apple Vision OCR 工具
- 中文与 emoji 输入需要设备上安装并启用 ADBKeyboard
- 真机无法用 android_shutdown 关机;非 root 设备可能无法读取 ANR 文件
README
dsh-android
Overview
通过 adb 把 Android 模拟器或 USB 手机接入 DeepSeek Harness,实时查看画面、操作界面、构建 Gradle 项目,并读取 logcat、进程和内存信息。 通过 adb 把 Android 模拟器或 USB 手机接入 DeepSeek Harness,实时查看画面、操作界面、构建 Gradle 项目,并读取 logcat、进程和内存信息。
Getting started
- 先让 adb 能看到设备,再安装 DSH 插件。最小验证只需列出设备、打开实时画面和读取 UI 树,不需要先配置 OCR。
- ADB 环境变量、PATH 和 SDK 目录是 adb 的查找来源;缺少 adb 时工具仍会注册,但会明确报错。
- 画面是进程内生成的连续 PNG,经带签名的 DSH 路由呈现;USB 传输和设备分辨率会影响帧率。
- 调用 android_devices,确认所选设备是在线且已授权的状态。把返回的 serial 交给 android_boot,检查实时画面,再调用 android_ui_tree 读取实际界面;不要把工具注册成功当作设备连接成功。
Configuration
dsh plugin --profile web add @zseven-w/dsh-android@latest
dsh web在 GitHub 阅读完整 README →