DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Android Vscreen — DSH Plugin for DeepSeek Harness
← Plugins
P

dsh-plugin-android-vscreen

Plugin Android Vscreen

Let a DeepSeek Harness agent drive an Android phone on a virtual display — it works in a second screen while your own screen stays untouched. · 让 AI 在安卓手机的「虚拟屏」上干活:手机照常用,互不打扰。

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:guzhou079-arch/dsh-plugin-android-vscreen#e95853fdba8b4b181a08b335bd459c59ec85e0a9
READMECompatibilityVersions

Compatibility and provenance

Plugin Android Vscreen is published as dsh-plugin-android-vscreen and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/3/2026

Versions

0.1.0stable
10/3/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
LGPL-3.0-only
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/13/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in agents-orchestration.

Skills Manager@michengai/dsh-skills-managerDSH Skills Manager — 在 DeepSeek Harness 中统一加载并安全管理本机 Agent Skills · Load and safely manage local Agent Skills in DSHDs Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsAgency Agents@michengai/dsh-agency-agentsDSH Agency Agents — 为 DeepSeek Harness 提供 331 名可召唤的专业智能体 · 331 summonable domain experts for DeepSeek HarnessDSCODE Desktop@toddzheng024/dscode-desktopCoding collaboration, memory, browser workflows and task management for Harness Desktop.

README

dsh-plugin-android-vscreen

Let an agent work on your Android phone without taking over your screen. 让 AI 在安卓手机的虚拟显示器上干活 —— 手机你自己的屏幕照常用,互不打扰。

A DeepSeek Harness plugin. Tested with DSH on Android; the adb transport also works with DSH on a computer.


Why

Most "agent drives my phone" plugins tap the main screen: your phone is hijacked while the agent works — you can't use it, and it can't be used quietly in the background.

Android can create a virtual display: a second, invisible screen. The agent launches an app onto that display, looks at it and taps it there, while the physical screen keeps doing whatever you were doing. Every action reports a "main-screen proof" (mainBefore → mainAfter) so you can see the physical screen was not touched.

⚠️ A virtual display isolates the picture, not the effects / 只隔离画面,不隔离副作用

An app running on a virtual display still acts on the whole device. Tap Airplane mode, Wi-Fi or Do not disturb inside a virtual display and that switch really flips — it is the same system setting. Installing, sending messages, changing settings: all real.

So "your screen stays untouched" is not the same as "your device stays untouched".

Rule for agents using this plugin: take a frame with android_vscreen_see first, and derive tap coordinates from what you actually see. Never tap a guessed fraction of the screen.

Tools

ToolWhat it does
android_vscreen_doctorCan I drive this device, and over which transport. Run it first.
android_vscreen_statusIs a virtual display running, and how big is it.
android_vscreen_startCreate the virtual display and optionally launch an app onto it.
android_vscreen_seeGrab a frame of the virtual display as a PNG.
android_vscreen_tapTap on the virtual display.
android_vscreen_swipeSwipe on the virtual display.
android_vscreen_closeDestroy the virtual display.

How it reaches the phone

Two transports, picked automatically:

TransportWhen it's used
adbDSH runs on your computer (USB or wireless debugging)
local bridge (127.0.0.1:3081)DSH runs on the phone itself (e.g. the Android build)

Both end up as a shell on the device — the same privilege level adb shell has. That privilege is required: an app cannot put another app onto a virtual display with its own identity, so the bundled core runs as shell via app_process. It uses only public Android APIs (DisplayManager.createVirtualDisplay, ImageReader) plus documented reflection constants — no MediaProjection, no screen-capture permission dialog.

Install

From npm (once published) or straight from this repository — dsh plugin forwards to pnpm, so both specs work:

dsh plugin --profile web add dsh-plugin-android-vscreen
dsh plugin --profile web add github:guzhou079-arch/dsh-plugin-android-vscreen

Or from a clone you already have:

git clone https://github.com/guzhou079-arch/dsh-plugin-android-vscreen
dsh plugin --profile web add link:./dsh-plugin-android-vscreen

Then ask the agent to run android_vscreen_doctor: it reports which transport is available and probes the device.

Requirements

  • An Android device reachable by adb (USB or adb connect), or DSH running on the phone with its privileged shell bridge available.
  • Node.js 20+ (whatever your DSH runs on).

Development

The device side is a small Java program in assets/vscreen-core.jar. To rebuild it from source, see the Android port repository (android-app/src/com/deepseek/harness/vscreen/). Two smoke tests run the whole chain without going through a model:

node test-m1.mjs            # create → launch → see → tap → see → main-screen proof → close
node vs-safe.mjs start      # same thing, but aimed at a harmless target

License

LGPL-3.0-only — see LICENSE and THIRD_PARTY_NOTICES.md. The bundled assets/vscreen-core.jar descends from Operit (LGPL-3.0), which is why this plugin is LGPL rather than MIT.