插件目录 / UI & Skins / dsh-plugin-devecocli
dsh-plugin-devecocli
已验证 · 实测可装 frankq007
功能简介
HarmonyOS开发工具:设备管理、UI自动化等
可用 — 实测通过,早期项目
HarmonyOS开发工具:设备管理、UI自动化等 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-plugin-devecocli
HarmonyOS development tools for DeepSeek Harness,
backed by thedevecocliCLI (@deveco/deveco-cli). Registers 13harmony_*model tools:
device/emulator management, screen capture & UI automation, build & deploy, logs, lint,
signing and offline HarmonyOS docs.让 DSH 掌握鸿蒙开发能力:设备/模拟器管理、截图与 UI 自动化、构建部署、日志诊断、Lint、签名与本地文档检索。
Features / 工具清单(13 个)
| Tool | Purpose | devecocli command |
|---|---|---|
harmony_device_list |
List connected devices/emulators | device list --format json |
harmony_emulator_list |
List emulator instances & status | emulator list --format json |
harmony_emulator_control |
start/stop/shake/power/rotate/volume/battery/geolocation/sensor/scene/fold | emulator <action> ... |
harmony_screenshot |
Capture device screen to PNG | ui screenshot --path |
harmony_ui_dump |
Dump on-screen UI node tree | ui layout --format json |
harmony_ui_interact |
click/doubleclick/longclick/swipe/fling/drag/text | ui <gesture> ... |
harmony_log |
Device app logs (level/bundle/keyword/crash) | log --... |
harmony_build |
Build project (optional clean first) | build [clean] |
harmony_deploy |
Deploy to device (default --skip-build fast install) |
run |
harmony_signature |
Generate signing materials into project | signature generate |
harmony_check_lint |
DevEco Code Linter (optional --fix) |
check lint |
harmony_docs |
Offline HarmonyOS doc search | docs search |
harmony_exec |
Escape hatch for any devecocli subcommand (whitelisted) | any |
Requirements / 前置要求
- DeepSeek Harness (dsh) — any profile
devecoclion PATH (install via DevEco Studio ornpm i -g @deveco/deveco-cli)- HarmonyOS emulator/device connected (for device tools)
- Full-access session for device/SDK commands (see Sandbox below)
Install / 安装
Option A — bundle (recommended, persistent)
Install into any profile as a Cordis bundle:
dsh plugin --profile <name> add dsh-plugin-devecocli
# or from git / tarball / local checkout:
dsh plugin --profile <name> add github:<owner>/dsh-plugin-devecocli
dsh plugin --profile <name> add ./dsh-plugin-devecocli-0.1.0.tgz
Restart your DSH profile. The 13 harmony_* tools become available to every agent
in that profile. Remove with dsh plugin --profile <name> remove dsh-plugin-devecocli.
For git installs, pnpm ≥10 requires authorizing the prepare script — copy the exact
package key pnpm prints into the profile's pnpm-workspace.yaml allowBuilds, then
re-run add.
Option B — dynamic plugin (no install, session-local)
In a creator-mode (cordis) session, register the plugin at runtime:
cordis_inspect_list→cordis_inspect_query(confirm Hostshellservice andharnessAPI)cordis_definewithcode.host= body ofcode.host.jscordis_run(approve in UI if prompted)
Dynamic plugins are process-local: they disappear when DSH restarts. code.host.js
is the persisted source for re-install. See code.host.js.
Verification / 实测验证(T1–T9 PASS)
Executed on dsh-web creator-mode session (deve-1/pkg-4, 13 tools).
| # | Check | Result |
|---|---|---|
| T1 | Plugin activation | ✅ 3 activations OK, deve-1/pkg-4 running |
| T2 | harmony_device_list |
✅ [{"name":"dcode_api24","serial":"127.0.0.1:5555","kind":"emulator","deviceType":"phone"}] |
| T3 | harmony_screenshot |
✅ 132032-byte PNG produced |
| T4 | harmony_ui_dump |
✅ real UI tree with bounds returned |
| T5 | harmony_exec fallback |
✅ same output as T2 |
| T6 | Error path (not logged in) | ✅ structured error: Run devecocli auth login to sign in. |
| T7 | Lifecycle stop/run | ✅ tools disappear on stop, restored on run |
| T8 | Source persisted | ✅ code.host.js + README |
| T9 | harmony_check_lint |
✅ 10 warnings / 0 errors |
Extra: harmony_exec ["--version"] → 1.2.2; harmony_docs search arkts → 3 JSON results.
Bundle layer verified locally: dsh --profile <test> --dump-config shows thedsh-plugin-devecocli layer with row devecocli-tools.
Sandbox / 沙箱注意事项
- Restricted sandbox (workspace-write): devecocli launches (
--version,auth status,docs searchwork) but device/SDK commands are denied:The executable is not digitally signed: ...\hdc.exe. The plugin detects this and
returns a hint. 受限沙箱下仅文档/认证/版本类命令可用。 - Full-access session (danger-full-access): all device/SDK commands work (T2–T5, T9).
需要完整权限会话才能发挥全部能力。 - Not logged in to Huawei Developer account →
harmony_signaturefails with a clear
hint; rundevecocli auth login(interactive, not suitable via tools).
Development / 开发
node --check index.js # syntax check
npm run check
Known limits / 已知限制
- Bundle tools register in the profile layer; a creator-mode dynamic copy coexists
without conflicts (different scope layers). ui layoutfull output can be hundreds of KB — tools return truncated tail (64KB) + JSON summary.- Builds are long-running (minutes) — single execution has a timeout, returns tail output.
- Interactive commands (
auth login,emulator license) don't fit tool execution.
License
MIT — see LICENSE.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-devecocli」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:frankq007/dsh-plugin-devecocli Headless(CLI)profile:
dsh plugin --profile headless add github:frankq007/dsh-plugin-devecocli 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
改变 dsh 的外观或交互方式——一套主题、皮肤或新面板,重塑工作区。
适合谁
在 web UI 里一待几小时、想让它按自己的习惯好看又好用的人。
二次开发建议
皮肤、面板和主题 token 是扩展点——写新皮肤、加面板,或与上游配色同步 token。