dsh-adb:DeepSeek Harness 的 ADB 设备与台架操作插件

前言

DSH 的智能体开发中,若任务涉及 Android 设备或车载台架,通常会遇到一组重复操作:列出设备、读取 logcat、安装 APK、拉取文件、查看性能、等待条件、采集崩溃现场。dsh-adb 将这些操作封装为 DeepSeek Harness 插件,让 agent 按工具调用完成设备与台架调试。下面介绍它的定位、核心能力、安装方式和典型用法。

这是什么

dsh-adb 的维护者是 SamXiaBing,许可证为 MIT。插件定位为 ADB device & bench operations for DeepSeek Harness,面向 Android 设备与车载/台架调试工作流。

DSH 的插件生态强调「一切皆插件」;社区目录是独立站点,不与 DeepSeek / 幻方构成官方从属关系。

核心能力

设备发现

先用 adb_devices 发现设备 serial,再基于 serial 调用后续工具。

结构化 logcat

adb_logcat 用于读取过滤后的 logcat。它也可以作为后台 job 运行;运行期间可用 job_output 读取增量,用 job_kill 停止。

应用与文件操作

插件提供 APK 安装、文件 pull/push 等基础能力。操作记录会进入 operation ledger,并持久化为 operations.json;在需要时可以把应用回滚到最后一次已知良好的 APK。

性能快照与基线

插件提供 performance snapshots 和 perf baselines。相关报告与基线会持久化到 reportDirbaselineDir,便于后续比较。

设备健康报告

插件提供 one-click device health reports,报告持久化到 reportDir

崩溃采集

崩溃链路通常由 adb_watch_crash 开始,检测到新崩溃后调用 adb_crash_report 获取崩溃现场,再调用 adb_screenshot 保存屏幕状态。插件还注册了 crash-analysis skill:dsh-adb-crash-analysis

条件等待与巡检

adb_wait_for 用于等待设备条件成立;超时返回 matched:false

adb_patrol_check 提供 one-click patrol,并可通过 dsh-automation 做无人值守定时运行。巡检采用 fail-closed 策略:无法采集的 section 本身会作为 issue;没有 baseline 时跳过比较;省略 package 时跳过 perf section。

Web 设备面板

插件提供 web device panel,包含 autocomplete、live logcat、profiler 等能力。数据通过 package RPC channel 流动。

安装与启用

先把插件加入 web profile:

dsh plugin --profile web add dsh-adb

也可以从 GitHub 安装:

dsh plugin --profile web add github:SamXiaBing/dsh-adb

安装后需要重启 GUI。仓库中提到了 scripts/restart-web.ps1,可用于一键重启。

配置写在 cordis.patch.yml 或 profile patch 中。已核实的示例配置项包括 adbPathdefaultSerial

- id: dsh-adb
  name: dsh-adb
  config:
    adbPath: C:\Users\me\AppData\Local\Android\Sdk\platform-tools\adb.exe
    defaultSerial: emulator-5554

完整配置项以仓库内的配置说明为准。

典型用法

发现设备

先运行:

adb_devices

得到 serial 后,再执行 logcat、安装、文件、性能或巡检工具。

后台读取 logcat

先启动 adb_logcat 作为后台任务,再用 job_output 读取增量,最后用 job_kill 停止:

adb_logcat
job_output
job_kill

等待条件

adb_wait_for 等待设备条件成立。若预算耗尽仍未匹配,返回:

{ "matched": false }

崩溃监控

adb_watch_crash 可前台或后台运行。参数边界:timeoutMs 最大 600000intervalMs 最小 250withStacks 默认 true。启动时会忽略 boot markers:

mtk-brm-*

检测到崩溃后,按链路采集:

adb_watch_crash
adb_crash_report
adb_screenshot

巡检

调用 adb_patrol_check 做一次性巡检;如需定时,可结合 dsh-automation

adb_patrol_check
dsh-automation

适用场景与注意

适合需要 agent 操作 Android 设备或台架、需要日志/性能/崩溃证据和回滚记录的调试场景。

注意:

  • 插件以当前 dsh 进程权限运行。安装前建议检查源码和 MIT 许可证。
  • 错误会返回结构化 AdbError,常见稳定错误码包括:
ADB_NOT_FOUND
ADB_UNAVAILABLE
DEVICE_NOT_FOUND
NO_DEVICES
CONNECT_FAILED
INSTALL_FAILED
ADB_EXIT_<code>
  • 报告与基线分别保存在 reportDirbaselineDir;operation ledger 保存在 operations.json

链接

目录页线索:

https://www.skillhub.cn/plugins/SamXiaBing/dsh-adb

GitHub:

https://github.com/SamXiaBing/dsh-adb
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye