DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-mobile

W

dsh-mobile

Manifest valid★ 3

Mobile device capability plugin for DeepSeek Harness: MobileService seam, mock/mobile-mcp providers, agent tools (observe/open_app/tap/type/back), tiered execution policy

hasBundlePatch

dsh-mobile

License Node TypeScript

Give your DeepSeek Harness agent eyes and hands on a phone. dsh-mobile is a mobile device capability plugin: the agent observes the live screen as a structured UI tree (no screenshots, no vision model, zero image tokens) and acts through five safe tools — observe, open app, tap, type (draft only), back.

中文文档

Demo placeholder — a 30s GIF of the agent driving a real Android emulator goes here. This is the single highest-conversion asset; record one before promoting.

Why not screenshots?

Most phone-agent stacks feed screenshots to a vision model: slow, expensive, and brittle. dsh-mobile drives apps from the native accessibility tree via mobile-mcp:

  • Fast — one observe returns the full UI element list in milliseconds
  • Cheap — structured text, no image tokens
  • Reliable — semantic taps by element id/text, not fragile coordinates

The loop

User: "What's on my phone right now?"
   ↓ DeepSeek Harness
   ↓ dsh-mobile plugin
mobile_observe()
   ↓ mock provider (offline) / mobile-mcp provider (real device)
structured ScreenState { app, elements[] }
   ↓
Agent keeps acting: open_app → tap → type (draft) → back

Status

  • ✅ Phase 1 — MobileService capability seam, mock provider, 5 agent tools, context/policy contracts
  • ✅ Phase 2 — MobileMcpProvider over the MCP protocol, verified on a real Android emulator (2026-08-22, Medium_Phone_API_36.0 / emulator-5554: devices → observe (28 elements) → openApp Settings → observe (69 elements) → semantic tap 'Apps' → ELEMENT_NOT_FOUND error path → back)
  • ⬜ Phase 3 — mobile_swipe, screenshot observation, foreground-app awareness (ADB provider), multi-device
  • ⬜ Phase 4 — Tier-3 send capability (approval-gated), retrieved memory (contacts/conversation summaries)

Out of scope: auto-chatting, contact memory, WeChat/RED and other app-level automation.

Tools

ToolWhat it does
mobile_observeForeground app + normalized UI element list (read-only)
mobile_open_appLaunch an app by package name or alias
mobile_tapTap by element id / exact text (coordinates as last resort)
mobile_typeEnter a draft only — never sends, submits, or publishes
mobile_backPress the device back button

Safety by design

Externally consequential actions (sending messages, posting, paying, deleting accounts) are denied by policy unless the user explicitly authorizes them:

  • Tier 0–4 permission model — guard-level hard rejects + pre-execute asks
  • mobile_type enters drafts only; publishing is out of reach of the tool surface
  • Every tool result is structured and auditable

Install

# into a DSH profile
dsh plugin --profile <name> add link:J:/ai/phone-agent/dsh-mobile

Optional configuration (the plugin row in the profile's cordis.yml):

- id: mobile
  name: dsh-mobile
  config:
    provider: mock           # mock (default, offline) | mobile-mcp (real device)
    deviceId: emulator-5554  # optional, mobile-mcp only; defaults to first online device
    announceToAgent: true    # announce the plugin in the system prompt
    enabled: true

Real-device verification (Phase 2)

# 1. Build the vendored mobile-mcp (use the official npm registry)
cd ../framework/mobile-mcp
npm install --ignore-scripts --registry=https://registry.npmjs.org
npx tsc

# 2. Start an emulator (or attach a real device via adb)
& "$env:LOCALAPPDATA\Android\Sdk\emulator\emulator.exe" -avd Medium_Phone_API_36.0

# 3. Build this package + offline tests
cd ../../dsh-mobile && npm run build && npm test

# 4. Live smoke tests against the provider directly
node scripts/live-emulator-check.mjs
node scripts/live-tap-check.mjs

Architecture

src/
├── capability/    MobileService definition + ScreenState/UIElement types (the core asset)
├── providers/     mock.ts (scripted chat app) | mobile-mcp.ts (MCP → real device)
├── tools/         mobile_observe / open_app / tap / type / back
├── context/       system.ts (operating rules) + runtime.ts (<mobile_runtime>) + formatter.ts
├── policy/        Tier 0–4 permissions (guard hard-rejects + pre-execute asks)
└── state/         MobileRuntimeState (derived projection, not session state)

docs/
├── CONTEXT_ENGINEERING.md    Context classification / budgets / selection / pollution guards
└── HARNESS_ARCHITECTURE.md   Capability seams / tool surface / policy / lifecycle / versioning

Development

npm install
npm run typecheck
npm test
npm run build

Acceptance

Given "check my phone's current state", the agent picks mobile_observe on its own, receives a structured ScreenState, and correctly explains the current UI.

License

Apache-2.0

Compatibility

DSH 0.1.5-rc.2: failedDSH 0.1.6-alpha.1: failedDSH 0.1.6-alpha.2: failed

Versions

Latest versionPublishedSize
0.6.2——
0.5.5——
0.1.1——
0.1.2——
0.1.0-alpha.32——
0.1.0-alpha.33——
0.1.0-alpha.34——
0.1.0-alpha.35——
0.1.0-alpha.36——
0.1.0——
0.1.3——
0.1.4——
0.2.0——
0.2.1——
0.2.2——
0.3.0——
0.3.1——
0.3.2——
0.3.3——
0.6.1——

Comments

Loading…

Similar plugins

dsh-mobile-gui-agent

by kunjinkao-os

Android Mobile GUI Agent plugin for DeepSeek Harness with ADB control, iterative verification, approvals, and a Web mobile view

UI & ExperienceManifest valid

★ 11

MIT

JavaScript

Aug 20, 2026

dsh plugin --profile web add dsh-mobile-gui-agent

by WNLUO

DeepSeek Harness 移动端插件:手机远程操控宿主,提供受限移动 API、中转隧道与局域网配对(可作无头宿主运行)

Tools & CapabilitiesTerminal & ClientsSessions & MessagesManifest valid

★ 4

↓ 5.7k/wk

MIT

JavaScript

Oct 28, 2026

dsh plugin --profile web add dsh-mobile-plugin

by charysrinathsc

Mobile and small-screen fixes for the DeepSeek Harness web shell, as a toggleable plugin.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 11, 2026

dsh plugin --profile web add dsh-agentbox

by PangYiMing

DSH plugin for controlling mobile devices (ADB/iOS) — DeepSeek Harness 操控手机插件

Manifest valid

★ 3

↓ 17/wk

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-mobile-control

by 2nd1st

Bring open-mcp-apps into deepseek-harness: apps as sidebar containers with their own sessions, an agent status strip, and inline widget rendering

UI & ExperienceManifest valid

★ 8

↓ 117/wk

MIT

JavaScript

Aug 15, 2026

dsh plugin --profile web add @2nd1st/dsh-plugin-open-app

by Yui-Little

Mobile shell UI plugin for DeepSeek Harness web: overlay drawer, full-width conversation, settings sheet, marketplace with hot-load installs.

UI & ExperienceManifest valid

★ 8

↓ 1.6k/wk

MIT

TypeScript

Aug 21, 2026

dsh plugin --profile web add dsh-mobile-shell