dsh-tool-adb
DeepSeek Harness (DSH) plugin exposing Android Debug Bridge (adb) operations as model-facing tools: devices, shell, install, uninstall, screenshot, push/pull, logcat
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 20, 2026
- Updated
- Aug 20, 2026
Introduction
@deepseek-ai/dsh-tool-adb
DeepSeek Harness plugin that exposes Android Debug Bridge (adb) operations as model-facing tools.
Features
| Tool | Description |
|---|---|
adb_devices | List connected Android devices and emulators |
adb_shell | Execute shell commands on a device |
adb_install | Install APK files onto a device |
adb_uninstall | Uninstall apps from a device |
adb_screenshot | Capture device screenshots to local workspace |
adb_pull | Copy files/directories from device to local |
adb_push | Copy files/directories from local to device |
adb_logcat | Capture logcat output (with optional tag filter) |
Installation
Prerequisites
- Android SDK platform-tools (
adbon PATH)- macOS:
brew install android-platform-tools - Linux:
sudo apt install android-sdk-platform-tools - Windows: download from developer.android.com
- macOS:
As a local plugin (development)
Add to your profile's cordis.patch.yml:
- insert:
- id: tool-adb
name: /absolute/path/to/packages/android/tool-adb/lib/index.js
config:
devices: true
shell: true
install: true
uninstall: true
screenshot: true
fileTransfer: true
logcat: true
timeoutMs: 30000
Or launch with a patch file:
dsh web --patch ./adb-plugin-patch.yml
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
devices | boolean | true | Register adb_devices |
shell | boolean | true | Register adb_shell |
install | boolean | true | Register adb_install |
uninstall | boolean | true | Register adb_uninstall |
screenshot | boolean | true | Register adb_screenshot |
fileTransfer | boolean | true | Register adb_pull and adb_push |
logcat | boolean | true | Register adb_logcat |
timeoutMs | number | 30000 | Per-command timeout in milliseconds |
Usage Pattern
The model should always call adb_devices first to obtain a device serial, then pass that serial to other tools.
Example workflow:
adb_devices→ find serialABC123adb_shelldevice=ABC123command=pm list packages | grep com.exampleadb_screenshotdevice=ABC123→ saves screenshot locallyadb_logcatdevice=ABC123filter=MyApp:D *:S→ capture filtered logs
Development
# Typecheck
pnpm --filter @deepseek-ai/dsh-tool-adb exec tsc --noEmit
# Build
pnpm --filter @deepseek-ai/dsh-tool-adb exec tsc
# Smoke test (requires adb on PATH)
node --import tsx packages/android/tool-adb/tests/smoke.test.ts
License
MIT