dsh-android
DeepSeek Harness plugin for Android — build, run, and interact with a live emulator or USB device stream inside a conversation, driven entirely through adb. Tested with DSH 0.1.5-rc.1.
What it is
DeepSeek Harness plugin for Android — build, run, and interact with a live emulator or USB device stream inside a conversation, driven entirely through adb. Tested with DSH 0.1.5-rc.1.
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add @zseven-w/dsh-android@0.1.0-rc.12
DSH versions accepted
Undeclared
Author and traction
ZSeven-W · ★ 332 · Updated 2026-10-08
About this plugin
DSH Android
A live Android device inside a DeepSeek Harness conversation — emulator or USB phone, driven entirely through adb. 20 agent tools • in-process live stream, no external helper • three-button navigation panel • Gradle build & run • Vision OCR
npm: @zseven-w/dsh-android · Current plugin release: 0.1.0-rc.12 · Tested with DSH 0.1.5-rc.1
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Español · Deutsch · Português · Русский · हिन्दी · Türkçe · ไทย · Tiếng Việt · Bahasa Indonesia
An Android device streamed and controlled from inside a DSH conversation — the agent's tool call in the center, the live device panel on the right Why DSH Android
DSH Android gives the agent a real Android device inside the conversation — and gives you the pixels. The agent can start a stream on an emulator or a USB-connected phone, build and install a Gradle project, drive the UI by resource-id/text or by OCR, read logcat, and inspect processes and memory, while a live stream of the device renders in a persistent sidebar panel where you can tap, drag, rotate, and press Back / Home / Recents directly on the video. No image blocks and no screen-recording files: visual bytes reach the UI only through signed, expiring URLs served by the DSH webserver.
There is exactly one code path. adb devices -l reports a serial, and that serial is a device's only identity — emulator-5554, a USB serial, or an ip:port target all behave identically. The plugin is bound to no emulator product (AVD, Genymotion, WSA, a cloud device farm), and there is no simulator/real-device split to reason about. Tools
All 20 tools are registered on every host and return plain JSON — visual bytes reach the UI only through presentationMeta + signed routes, never as image blocks. When adb cannot be resolved the tools stay registered and every call fails with an explanatory error naming the fix.
Coordinates are normalized 0..1 of the streamed frame everywhere. The frame follows the display rotation (a landscape app streams 2400×1080 on a 1080×2400 device) and input tap shares that same space, so no client-side rotation math exists anywhere in this plugin. Core tools UI-tree and row tools (uiautomator) OCR, logs, and debug tools Display surfaces Sidebar panel. The live view lives in a persistent right-hand panel (a fixed dock that pushes the conversation aside, or a centered overlay on narrow viewports). It renders the live PNG stream and accepts click-to-tap and drag-to-gesture directly on the video, with a toolbar carrying ◁ Back, ○ Home, □ Recents, rotate, screenshot, and refresh. A device menu runs the five device-level actions (notification shade, quick settings, lock, wake, assistant). The device picker lists every adb device in ONE list, grouped by kind, with offline AVDs shown as a hint pointing at android_boot rather than a boot-on-click. Size modes and frame styles (frameless / bezel / phone shell) work as in the iOS twin; the panel adapts its aspect ratio from the frame's own natural size, so a rotation need
Similar plugins
open-design
Local-first design product: detects your installed code-agent CLI, runs design skills + design systems, streams artifact…
huashu-design
花叔Design:用HTML做高保真原型、幻灯片、动画与可视化,导出PDF和可编辑PPTX。
dsh-web
DeepSeek Harness Web GUI 插件全家桶。皮肤、宠物与社区插件索引已拆分为独立仓库(dsh-skins / dsh-pet / dsh-community-plugins),本仓通过 npm 包内置它们。