Plugin directory / Developer / dsh-adb
dsh-adb
Unverified SamXiaBing
What it does
A plugin in the Developer category for DeepSeek Harness.
Unverified — not yet verified
A plugin in the Developer category for DeepSeek Harness. Not yet verified — install and test it yourself.
“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-adb
ADB device & bench operations for DeepSeek Harness
Give DSH agents direct control over Android devices and automotive bench rigs: device discovery, structured logcat, APK install, file pull/push, and performance snapshots. Built for on-vehicle and bench debugging workflows — generic within the domain (no Unity, no vendor protocol lock-in).
English | 简体中文
Install
dsh plugin --profile web add dsh-adb
Or install directly from GitHub: dsh plugin --profile web add github:SamXiaBing/dsh-adb
Web device panel (v1.1.0)
A "设备" tab in the conversation view ring (next to chat / trajectory / automation): device list with status, package autocomplete (fuzzy search), live streaming logcat window (level/keyword/package/pid filters, pause/clear/auto-scroll), device info card, process list, performance snapshot, and a one-click health report (设备体检: device identity, top-RSS processes, crash buffer, W/E/F logcat window, storage — persisted under reportDir, sendable to the conversation for diagnosis). The report turns raw evidence into signal before it reaches the model: crash-buffer entries are classified into real crashes (with stack chains) vs. MediaTek boot markers, repetitive logcat is aggregated by tag ("AOSP-MdnsDiscoveryManag ×3264" instead of 3k identical lines), and a compact health summary (verdict + issues) is attached — so the agent reasons from conclusions, not 17k raw lines. Plus harness synergy: send any logcat/snapshot/report to the conversation (the agent analyzes it), a live strip of the agent's adb operations, and a registered crash-analysis skill (dsh-adb-crash-analysis) for automation pipelines. Data flows over the package RPC channel; install into a web profile and restart the GUI (see scripts/restart-web.ps1 for a one-click restart).
Ecosystem
- ✅ npm —
dsh-adbpublished (latest: 1.1.0) - ✅ awesome-deepseek-harness#87 — merged
- ✅ awesome-dsh-plugin#85 — merged
- ✅ awesome-DSH-plugin#29 — merged
Topics: dsh-plugin dsh adb android automotive bench
Tools
| Tool | Description |
|---|---|
adb_devices |
List devices (serial/state/product/model); run first to discover serials |
adb_connect / adb_disconnect |
Wireless bench connection (host:port, default 5555) |
adb_logcat |
Filtered read (tag/level/keyword/time-window/tail); run_in_background streams continuously as a job — read deltas with job_output, stop with job_kill |
adb_install |
Install APKs (-r/-d/-g options); validates the local file exists |
adb_file |
pull / push / ls / rm, per-device isolation |
adb_perf_snapshot |
Structured dumpsys meminfo / gfxinfo / battery snapshots (PSS, frame percentiles, jank rate, battery) |
adb_perf_baseline |
Perf regression: save a snapshot as a baseline (label/tags), compare current state and get a numeric diff (PSS, janky %, percentiles), list/delete baselines (stored locally under baselineDir) |
adb_crash_report |
One-call crash scene: parsed logcat crash buffer + dropbox excerpt + process state + memory summary |
adb_device_report |
One-click health report: device identity + top-RSS processes + crash buffer (real crashes w/ stacks vs. boot markers) + W/E/F logcat aggregated by tag + storage + health verdict; each section degrades independently; persisted under reportDir |
adb_wait_for |
Wait until a device condition holds — device-online / boot-complete / process appeared / logcat keyword — polling up to a budget, instead of sleeping a fixed number of seconds; returns matched:false on timeout |
adb_operation_ledger |
Append-only device operation ledger (record/list/rollback): record installs/pushes/etc., list history, or roll an app back to its last known-good APK (adb install -r); persisted as operations.json — the trust base for agent-driven device modification |
adb_screenshot |
Capture the device screen into a local PNG (screencap → pull), returning the saved path, byte size, and pixel dimensions — durable evidence for crash scenes / UI states / test frames |
adb_watch_crash |
Watch the crash buffer for NEW real crashes (foreground poll or background job; boot markers ignored; matched:false on timeout) — the first link of the monitor→capture→attribute chain |
Errors are structured AdbError with stable codes: ADB_NOT_FOUND, ADB_UNAVAILABLE, DEVICE_NOT_FOUND, NO_DEVICES, CONNECT_FAILED, INSTALL_FAILED, ADB_EXIT_<code>, etc.
Configuration
Set the config block in cordis.patch.yml (or a profile patch):
- id: dsh-adb
name: dsh-adb
config:
adbPath: C:\Users\me\AppData\Local\Android\Sdk\platform-tools\adb.exe
defaultSerial: emulator-5554
timeoutMs: 30000
| Key | Description | Default |
|---|---|---|
adbPath |
Absolute path to the adb executable | Auto-detect PATH / ANDROID_HOME / ANDROID_SDK_ROOT/platform-tools |
defaultSerial |
Default target device serial | none |
timeoutMs |
Per-command timeout | 30000 |
baselineDir |
Directory for adb_perf_baseline storage |
~/.dsh/storages/dsh-adb |
reportDir |
Directory for adb_device_report storage |
<baselineDir>/reports |
screenshotDir |
Directory for adb_screenshot storage |
<baselineDir>/screenshots |
Development
npm install # add --include=dev when NODE_ENV=production
npm run build # tsc → lib/
npm test # parser/classification unit tests (node --test)
npm pack --dry-run # verify publish contents (lib/ + cordis.patch.yml)
Testing & Verification
- Principle: ship only what is tested — every committed feature has unit and/or end-to-end coverage.
- Verified on: Android 13 automotive bench + Android 13 phone.
- Per-version changes and verification: CHANGELOG.md; test methodology and coverage: docs/TESTING.md (Chinese).
Project Docs (bilingual; for AI agents & contributors)
- docs/AGENTS.md / docs/AGENTS.en.md — read first: purpose, rules, commands, environment facts, doc map
- docs/REQUIREMENTS.md / docs/REQUIREMENTS.en.md — purpose / scope / non-goals / acceptance criteria
- docs/TESTING.md / docs/TESTING.en.md — testing philosophy, three test layers, E2E steps, regression checklist
- docs/DEVELOPMENT-LOG.md / docs/DEVELOPMENT-LOG.en.md — timeline, fixed-bug lessons, environment & ecosystem notes
- docs/ROADMAP.md — harness×adb synergy feature roadmap (diagnosis report, crash attribution, screenshot vision, bench automation tests, wait primitives, approvals, multi-device compare, scheduled monitoring, rollback ledger)
- PLAN.md / PLAN.en.md — milestones & backlog
License
MIT
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-adb for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:SamXiaBing/dsh-adb Headless (CLI) profile:
dsh plugin --profile headless add github:SamXiaBing/dsh-adb Test report
Not yet L3-verified — see failure note below if we already ran it.