dsh-hdc-bridge:DSH 原生鴻蒙開發助手

前言

在 DSH 裏做 HarmonyOS 開發,常見做法是接 MCP 服務器暴露 hdc 能力,或讓模型憑記憶回答 API 問題。前者能連設備,但缺少 DSH 原生的工具卡片、截圖閉環和會話級沙箱策略;後者在版本差異和離線場景下容易出錯。

dsh-hdc-bridge 走另一條路:不重寫 hdc 協議,直接複用本機 hdc 二進制(3.x),把設備調試、官方知識層和可選 DevEco CLI 構建通道封裝成 DSH 客戶端插件。下面介紹它的定位、能力與安裝用法。

這是什麼

dsh-hdc-bridge 由維護者 1na-ko 發佈,分類爲客戶端插件,當前版本 0.7.3,MIT 許可。GitHub 倉庫 14 stars。

一句話定位:DSH 原生鴻蒙開發助手——hdc 設備閉環調試、官方優先版本化知識層(離線 Tier-1 隨包 + SDK 機讀 + 官方文檔檢索)、可選官方 DevEco CLI 構建/簽名/模擬器控制。

hdc_mcp 等 MCP 服務器的分工是:後者覆蓋 hdc 能力層;本插件的價值在 DSH 原生層——會話內工具卡片與 read_image 閉環、按調用會話解析沙箱策略、結構化失敗上報,以及 v0.7 起按官方 client 插件形態集成的設備面板。

核心功能

設備閉環調試

插件提供 20 個工具,覆蓋從發現設備到驗證 UI 的完整鏈路。約定上,所有工具失敗不拋異常,統一返回 { ok: false, error, hint };成功返回帶 ok: true 的結果對象。

設備相關工具包括:

工具 說明
hdc_list_targets 列出已連接設備/模擬器
hdc_connect hdc tconn(嚴格 host:port 校驗)
hdc_shell 設備 shell
hdc_screenshot 截圖 → 拉取 JPEG → 落盤校驗
hdc_install 安裝 .hap
hdc_hilog hilog 尾部 N 行
hdc_ui_dump 文本化 UI 快照
hdc_ui_find 按文本/hint 找控件
hdc_ui tap / swipe / input / key 等 UI 操作
hdc_app 應用 query / start / stop / clear-data / uninstall
hdc_crash 崩潰抓取與結構化摘要
hdc_diag hdc 路徑、策略解析等診斷

截圖默認寫入 <workspace>/.dsh-hdc/screenshots/。工具默認使用本會話上次使用的設備;掉線時自動回退首臺連接設備。

設備面板

v0.7 起,面板按官方 client 插件形態集成:左側邊欄「鴻蒙」入口,點擊後在右上角打開浮動面板(可拖拽、縮放、收起)。面板展示設備列表(型號/API/電池)、一鍵截圖、hilog 尾部、系統區、工具鏈徽章;主題走官方 --dsw-alias-* token,隨深淺色自適應。面板打開時 8s/20s 輪詢,關閉後降爲 60s 慢輪詢。

官方知識層

知識能力分三層:

  1. Tier-1 離線隨包hms_knowledge):28 篇 OpenHarmony 官方文檔節選(CC-BY-4.0),約 1.7MB,無需 SDK/CLI/網絡,支持 catalog / read / search。
  2. SDK 機讀hms_api):讀本機 SDK .d.ts,按 @since/@deprecated/@syscap 精確到 API 版本分類。
  3. Tier-2 全量文檔hms_docs):需本機安裝 @deveco/deveco-cli,通過 devecocli docs 檢索。

此外還有 hms_api_change(跨版本破壞性變更掃描)、hms_lint(官方 codelinter 規則索引與檢查)。

構建、簽名與模擬器

hms_build 提供官方構建/簽名/運行通道:status / build / run / sign / clean。@deveco/deveco-cli 不隨插件安裝;未裝時自動回退本機 hvigorw + hdc_install + hdc_app 閉環。

hms_emulator 通過 devecocli 控制模擬器:list / start / stop / create / delete,以及 shake / power / rotate / volume / fold / battery / geolocation / sensor / scene 等狀態注入。

hms_setup 做環境體檢:hdc / DevEco Studio / SDK / devecocli / 設備五項,並解析目標 API 版本三源(項目→設備→SDK)不一致告警。

安裝、應用、構建失敗時,插件對 11 條已知錯誤碼附中文修復建議(如 9568332 簽名未綁 UDID、1300002 空間不足)。

運行時技能

插件附帶三個運行時技能,模型按需加載:

  • hdc-bridge:設備閉環用法
  • deveco-cli:官方 SKILL.md 改寫(MIT 聲明保留)
  • harmonyos-knowledge:知識層紀律(官方優先、版本化、許可合規)

安裝與啓用

本包零 npm 依賴,純 JS、無構建步驟。安裝命令如下:

# npm 安裝
dsh plugin --profile <name> add dsh-hdc-bridge

# 或直接從 GitHub 安裝
dsh plugin --profile <name> add github:1na-ko/dsh-hdc-bridge

驗證組合層並啓動:

dsh --profile <name> --dump-config   # 確認出現 dsh-hdc-bridge 層
dsh --profile <name>

環境要求

  • HarmonyOS 設備或模擬器;真機需開發者模式 + USB 調試。
  • hdc 二進制自動探測:DevEco Studio 常見 SDK 路徑 → PATH。
  • 截圖查看需圖像輸入模型;純文本模型可用 hdc_ui_dump 做文本化 UI 檢查。
  • 可選後端 @deveco/deveco-cli 需自行 npm i -g @deveco/deveco-cli(DevEco Studio ≥ 6.1.0,macOS/Windows,Node ≥ 18);簽名前需一次 devecocli auth login
  • hms_knowledge 的 Tier-1 知識隨包內置,離線可用。

典型用法

設備調試閉環

  1. hdc_list_targets 確認設備在線。
  2. hdc_screenshot 截圖,配合 read_image 查看界面。
  3. hdc_ui_dump 獲取佈局文本,或 hdc_ui_find 定位控件座標。
  4. hdc_ui 執行 tap / input 等操作,再 dump 驗證。
  5. hdc_install 裝包,hdc_app 啓動應用,hdc_hilog 看日誌。

查 API 與文檔

無網絡或未裝 DevEco CLI 時,先用 hms_knowledge 的 catalog 列目錄,再 read 按小節讀取。裝了 Studio 後,用 hms_api 讀本機 SDK 聲明;裝了 devecocli 後,用 hms_docs 檢索全量官方文檔。

構建與運行

# 模型側調用 hms_build
# status → build → run
# devecocli 缺失時自動走 hvigorw 降級路徑

適用場景與注意

適合誰:

  • 在 DSH 裏做 HarmonyOS / OpenHarmony 應用開發的智能體用戶。
  • 需要設備截圖、UI 操作、裝包驗證閉環,又不想自建 MCP 橋接的人。
  • 希望離線查閱官方 API 節選,或按需讀本機 SDK 聲明的開發者。

注意事項:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與 MIT 許可證。
  • snapshot_display 僅支持 .jpeg(API 10+)。
  • 真機安裝需簽名 profile 綁定設備 UDID,否則報 9568332
  • hdc 客戶端對遠端失敗可能仍返回退出碼 0,插件以輸出標記 + 落盤校驗兜底。
  • UI 輸入實戰經驗:混合字符串注入時 IME 模式切換可能吞字符,建議分段輸入 + dump 校驗;軟鍵盤會改變佈局,每次操作前用最新座標。
  • devecocli 的 build/run/sign 在受限沙箱中可能報 EPERM,需按指引在沙箱外執行。
  • macOS 實機驗證尚在路線圖中,尚未完成。

可選知識搭配:社區包 harmony-next.skills 不隨包,用戶自行 npx skills add linhay/harmony-next.skills

鏈接

社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。DSH 生態理念是「一切皆插件」,dsh-hdc-bridge 把鴻蒙開發的設備層、知識層和構建層收進一個客戶端插件,適合在 DSH 會話裏直接跑通「看設備 → 改碼 → 裝包 → 驗證」的閉環。

羽毛球分组比赛记分
小程序二维码

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

小夜