DeepSeek Harness plugin

dsh-plugin-devecocli

HarmonyOS development for DeepSeek Harness: device/emulator management, UI automation, build & deploy, logs, lint and docs via the devecocli CLI

Jump to install

Source facts

Repository
frankq007/dsh-plugin-devecocli
Latest update
Aug 14, 2026
Category
Development & Runtime
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/frankq007/dsh-plugin-devecocli
Plugin: dsh-plugin-devecocli
Author: frankq007

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-plugin-devecocli

> HarmonyOS development tools for DeepSeek Harness, > backed by the devecocli CLI (@deveco/deveco-cli). Registers 13 harmony_* model tools: > device/emulator management, screen capture & UI automation, build & deploy, logs, lint, > signing and offline HarmonyOS docs. > > 让 DSH 掌握鸿蒙开发能力:设备/模拟器管理、截图与 UI 自动化、构建部署、日志诊断、Lint、签名与本地文档检索。

Features / 工具清单(13 个)

ToolPurposedevecocli command
harmony_device_listList connected devices/emulatorsdevice list --format json
harmony_emulator_listList emulator instances & statusemulator list --format json
harmony_emulator_controlstart/stop/shake/power/rotate/volume/battery/geolocation/sensor/scene/foldemulator <action> ...
harmony_screenshotCapture device screen to PNGui screenshot --path
harmony_ui_dumpDump on-screen UI node treeui layout --format json
harmony_ui_interactclick/doubleclick/longclick/swipe/fling/drag/textui <gesture> ...
harmony_logDevice app logs (level/bundle/keyword/crash)log --...
harmony_buildBuild project (optional clean first)build [clean]
harmony_deployDeploy to device (default --skip-build fast install)run
harmony_signatureGenerate signing materials into projectsignature generate
harmony_check_lintDevEco Code Linter (optional --fix)check lint
harmony_docsOffline HarmonyOS doc searchdocs search
harmony_execEscape hatch for any devecocli subcommand (whitelisted)any

Requirements / 前置要求

  • DeepSeek Harness (dsh) — any profile
  • devecocli on PATH (install via DevEco Studio or npm 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:

1. cordis_inspect_listcordis_inspect_query (confirm Host shell service and harness API) 2. cordis_define with code.host = body of [code.host.js](./code.host.js) 3. cordis_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](./code.host.js).

Verification / 实测验证(T1–T9 PASS)

Executed on dsh-web creator-mode session (deve-1/pkg-4, 13 tools).

#CheckResult
T1Plugin activation✅ 3 activations OK, deve-1/pkg-4 running
T2harmony_device_list[{"name":"dcode_api24","serial":"127.0.0.1:5555","kind":"emulator","deviceType":"phone"}]
T3harmony_screenshot✅ 132032-byte PNG produced
T4harmony_ui_dump✅ real UI tree with bounds returned
T5harmony_exec fallback✅ same output as T2
T6Error path (not logged in)✅ structured error: Run devecocli auth login to sign in.
T7Lifecycle stop/run✅ tools disappear on stop, restored on run
T8Source persisted✅ code.host.js + README
T9harmony_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 the dsh-plugin-devecocli layer with row devecocli-tools.

Sandbox / 沙箱注意事项

  • Restricted sandbox (workspace-write): devecocli launches (--version, auth status,

docs search work) 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_signature fails with a clear

hint; run devecocli 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 layout full 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](./LICENSE).