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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye