dsh-plugin-devecocli:把 HarmonyOS 開發工具接入 DSH

前言

在 DSH 裏做 HarmonyOS 開發,常見需求不只是讀文檔或改代碼,還要查設備、截屏、看 UI 樹、構建、部署、抓日誌、跑 Lint、生成簽名材料。dsh-plugin-devecocli 是一個 DeepSeek Harness 插件,用 @deveco/deveco-cli 提供這些操作,並在 DSH 中註冊 13 個 harmony_* 模型工具。

這是什麼

dsh-plugin-devecocli 的定位是把 HarmonyOS 開發常用 CLI 能力接進 DSH,讓智能體可以直接調用設備、模擬器、UI、構建、部署、日誌、Lint、簽名和文檔檢索相關操作。

已覈實資料中的倉庫地址指向 frankq007/dsh-plugin-devecocli,許可證爲 MIT。資料未提供 stars 或 category;目錄頁地址也未出現。

核心功能

該插件註冊以下 13 個工具:

  • harmony_device_list:列出連接中的設備/模擬器
  • harmony_emulator_list:列出模擬器實例與狀態
  • harmony_emulator_control:執行 start/stop/shake/power/rotate/volume/battery/geolocation/sensor/scene/fold
  • harmony_screenshot:截取設備屏幕爲 PNG
  • harmony_ui_dump:導出當前屏幕 UI 節點樹
  • harmony_ui_interact:執行 click/doubleclick/longclick/swipe/fling/drag/text
  • harmony_log:獲取設備應用日誌,支持 level/bundle/keyword/crash
  • harmony_build:構建項目,可選先 clean
  • harmony_deploy:部署到設備,默認 --skip-build 快速安裝
  • harmony_signature:生成簽名材料到項目
  • harmony_check_lint:運行 DevEco Code Linter,可選 --fix
  • harmony_docs:離線 HarmonyOS 文檔搜索
  • harmony_exec:在受白名單限制下執行其他 devecocli 子命令

安裝與啓用

前置要求

  • DeepSeek Harness(dsh)任意 profile
  • devecocliPATH
  • 需要設備工具時,連接 HarmonyOS 設備或模擬器
  • 需要執行設備/SDK 命令時,使用 Full-access session

先確認 devecocli 可用。可以通過 DevEco Studio 安裝,也可以使用 npm:

npm i -g @deveco/deveco-cli

然後把插件加入指定的 DSH profile:

dsh plugin --profile <name> add dsh-plugin-devecocli

安裝完成後,重啓你的 DSH profile,13 個 harmony_* 工具會出現在該 profile 中。

如果使用 git 安裝,並且 pnpm >=10,還需要授權 prepare script:把 pnpm 輸出的 package key 寫入該 profile 的 pnpm-workspace.yamlallowBuilds,然後重新執行 add

動態註冊

也可以動態註冊插件,步驟如下:

  1. 調用 cordis_inspect_list,再調用 cordis_inspect_query
  2. 調用 cordis_define,其中 code.host 使用 code.host.js 的正文
  3. 調用 cordis_run

Bundle 工具註冊在 profile 層;creator-mode 動態副本可以與其並存,不衝突。

移除

移除插件:

dsh plugin --profile <name> remove dsh-plugin-devecocli

典型用法

下面這些操作適合在安裝後做基礎驗證:

  1. 調用 harmony_device_list,查看連接的設備或模擬器
  2. 調用 harmony_screenshot,截取設備屏幕爲 PNG
  3. 調用 harmony_ui_dump,獲取當前屏幕 UI 節點樹
  4. 調用 harmony_exec 並傳 ["--version"],已覈實返回 1.2.2
  5. 調用 harmony_docs 搜索 arkts,已覈實返回 3 個 JSON 結果

使用 harmony_ui_dump 時,UI 節點樹完整輸出可能達到數百 KB;工具會返回截斷後的 64KB 尾部加 JSON summary。

使用 harmony_build 時,構建可能較長;單次執行有超時,並返回尾部輸出。

如果未登錄 Huawei Developer account,harmony_signature 會失敗;按提示運行交互式命令:

devecocli auth login

交互式命令,例如 auth login、emulator license,不適合直接通過工具執行。

權限與沙箱注意

插件會在 DSH 會話中執行 devecocli,實際能力取決於當前 dsh 進程權限和會話權限。

  • Restricted sandbox:devecocli 的 version、auth、docs 類命令可以工作;device/SDK 命令會被拒絕,原因是可執行文件未數字簽名(hdc.exe)。插件會檢測到並返回提示。
  • Full-access session:device/SDK 命令可以工作。

因爲插件會執行外部 CLI,安裝前應檢查源碼和許可證。本插件許可證爲 MIT。

開發檢查

如果你要本地改動或檢查插件源碼,可以運行:

node --check index.js
npm run check

結尾

dsh-plugin-devecocli 的價值在於把 HarmonyOS 日常開發命令收斂成 DSH 可以直接調用的工具:設備/模擬器管理、截圖與 UI 自動化、構建部署、日誌、Lint、簽名和離線文檔檢索。

資料中未提供目錄頁 URL;GitHub 倉庫地址爲:

  • https://github.com/frankq007/dsh-plugin-devecocli
羽毛球分组比赛记分
小程序二维码

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

小夜