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。相關報告與基線會持久化到 reportDir 和 baselineDir,便於後續比較。

設備健康報告

插件提供 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 中。已覈實的示例配置項包括 adbPath 和 defaultSerial:

- 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 最大 600000,intervalMs 最小 250,withStacks 默認 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>
  • 報告與基線分別保存在 reportDir 和 baselineDir;operation ledger 保存在 operations.json。

鏈接

目錄頁線索:

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

GitHub:

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

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

小夜