DeepSeek Harness 插件

dsh-deveco-cli

HarmonyOS application development command line tool(英文原文)

跳到安装方式

来源信息

GitHub 仓库
fz-lyle/dsh-deveco-cli
最近更新
2026年8月17日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/fz-lyle/dsh-deveco-cli
插件名:dsh-deveco-cli
作者:fz-lyle

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<div align="center"> <h1>DevEco CLI</h1> <p>一个面向 HarmonyOS 应用开发的统一命令行入口。</p> <p> <a href="https://www.npmjs.com/package/@ah-plugins/dsh-deveco-cli"><img src="https://img.shields.io/npm/v/@ah-plugins/dsh-deveco-cli.svg" alt="NPM Version" /></a> <a href="https://www.npmjs.com/package/@ah-plugins/dsh-deveco-cli"><img src="https://img.shields.io/npm/dm/@ah-plugins/dsh-deveco-cli.svg" alt="NPM Downloads" /></a> <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-%3E%3D22-green.svg" alt="Node.js" /></a> <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue.svg" alt="Platform" /> <a href="https://developer.huawei.com/consumer/cn/download/"><img src="https://img.shields.io/badge/DevEco%20Studio-%3E%3D6.0.0-orange.svg" alt="DevEco Studio" /></a> <img src="https://img.shields.io/badge/Command%20Line%20Tools-%3E%3D26.0.0-orange.svg" alt="Command Line Tools" /> <a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License" /></a> </p> </div>

DevEco CLIDevEco Studio 工具链统一封装为一个 CLI,内置 ohpmhvigorhdcemulatorhilog,同时集成 HarmonyOS 技能安装、项目脚手架、本地 HarmonyOS 文档检索和 MCP 服务。

> 关于数据采集与隐私(遥测打点内容、存储加密、上报及关闭方式),请参阅 [PRIVACY.md](./PRIVACY.md)。

快速开始

前置要求

  • 操作系统为 macOSWindowsLinux(需配置对应环境变量)
  • 安装Node.js,推荐使用22及以上版本
  • DevEco Studio >= 6.0.0 或 Command Line Tools >= 26.0.0

- macOS:必须安装在 ~/Applications/Applications 目录下。

安装

npm install -g @ah-plugins/dsh-deveco-cli@latest

安装后可以通过以下命令更新到最新版本:

devecocli update

最短工作流

devecocli create --app-name MyApp
cd MyApp
devecocli run
devecocli log --level E

文档检索

devecocli docs search List
devecocli docs read harmonyos-guides/application-models/arkts-page-start-overview

更多命令和参数可通过 devecocli --help 或各子命令的 --help 查看。

环境变量

devecocli 当需要使用非默认安装路径、多版本并存时固定选型,Command Line Tools或在Linux下运行时,可通过以下环境变量显式指定工具链根:

名称说明
DEVECO_CLI_STUDIO_PATH显式指定 DevEco Studio 安装根,优先级最高
DEVECO_CLI_CLT_PATH显式指定 Command Line Tools 安装根

完整优先级链:

DEVECO_CLI_STUDIO_PATH > DEVECO_CLI_CLT_PATH > Auto_Detect

平台与版本约束

平台DevEco Studio Auto_DetectCommand Line Tools最低版本
Windows支持可选Studio 6.0.0 / CLT 26.0.0
macOS支持可选同上
Linux不支持必选CLT 26.0.0

使用示例

# 设置 DevEco Studio
export DEVECO_CLI_STUDIO_PATH="/Applications/DevEco-Studio.app" (可带或不带尾部 Contents)
devecocli device list

# 设置 CLT
export DEVECO_CLI_CLT_PATH=/opt/command-line-tools
devecocli device list

AI Agent 集成

DevEco CLI 支持通过命令行将自身技能添加到 Agent 中。下面以 opencode 为例展示最短流程:

# 1. 给 opencode 安装 deveco-cli 技能
devecocli init --agent opencode

# 2. 给 opencode 在当前 HarmonyOS 项目配置 MCP
devecocli init --mcp --agent opencode --project ./MyApp

# 3. 进入项目并启动 opencode
cd MyApp
opencode

也支持 atomcode等 Agent,使用方式相同:

# 给 atomcode 安装技能
devecocli init --agent atomcode

如果 Agent 不在 --agent 参数取值范围内,可使用 --path 参数进行添加,参考如下命令:

devecocli init --path D:\work\ARKTS\NewData

进入 Agent 后可以直接描述任务,例如:

  • Build this project in release mode and run it on my emulator
  • Tail the last error logs from this app
  • Check for syntax errors in src/main/ets/pages/Index.ets

说明:

  • Windows上搭配devecocli使用opencode时,推荐将powershell 7 作为默认执行终端。
  • Windows上用opencode执行devecocli build/emulator start等指令时,若命令结束后终端无法正常退出,建议将默认终端切换为powershell 7

DeepSeek Harness 插件

DevEco CLI 同时发布为 dsh bundle。安装后,DeepSeek Harness 会注册 deveco_cli 工具,供 Agent 以结构化参数调用 devecocli

dsh plugin add @ah-plugins/dsh-deveco-cli
dsh web

工具参数为 commandargs 和可选 cwdargs 是 argv 数组,不是 shell 字符串:

{
  "command": "docs",
  "args": ["search", "List", "--format", "json"],
  "cwd": "/path/to/HarmonyOSProject"
}

该插件复用当前包内的 dist/cli.js,因此发布前需要执行 npm run build

常用命令

命令用途
devecocli create创建新的 HarmonyOS 项目
devecocli build构建项目并产出 .hap / .hsp / .har / .app
devecocli check lint检查代码规范并输出实践建议与报告
devecocli run安装并运行应用
devecocli device list查看当前连接设备
devecocli emulator list查看本地模拟器实例
devecocli ui layout导出设备屏幕上的 UI 节点树(布局、坐标、节点 ID)
devecocli ui window list查看设备窗口列表(为 ui layout / ui click 等提供窗口 ID)
devecocli ui screenshot对真机或模拟器执行 UI 截图
devecocli ui click点击指定坐标或节点 ID
devecocli ui swipe自定义滑动(指定起点、终点和速度)
devecocli ui text输入文本到焦点或指定位置
devecocli log查看 hilog 或崩溃日志
devecocli docs search搜索本地 HarmonyOS 文档
devecocli init安装内置技能或配置 MCP
devecocli skills管理 HarmonyOS 技能市场中的技能
devecocli signature generate自动生成调试签名材料并配置到项目
devecocli check compat扫描源代码在两个 SDK 版本之间的 API 变更

命令集

help

查看版本、帮助信息以及所有子命令

命令格式:

devecocli help
# 返回结果
Usage: devecocli [options] [command]

HarmonyOS application development command line tool

Options:
  -V, --version          output the version number
  -h, --help             display help for command

Commands:
  build [options]        Build the HarmonyOS project
  run [options]          Build and run the project on a connected device
  update                 Update deveco-cli to the latest version
  device                 Manage connected devices
  emulator               Manage emulator instances
  auth                   Authentication commands (login, logout, status, team)
  ui                     Inspect and interact with UI on a connected device
  skills                 Manage HarmonyOS skills
  log [options]          Obtain device application logs
  create [options]       Scaffold a new HarmonyOS application project
  init [options]         Install the deveco-cli skill or configure the deveco-mcp server into AI agents
  serve                  Host bundled auxiliary protocol servers
  docs [options]         Search and read HarmonyOS documentation from local docs directory
  check                  Run DevEco project checks
  signature              Generate application signature
  help [command]         display help for command

init

deveco-cli Skill 或者 MCP 服务配置到智能体中

命令格式:

devecocli init --agent <agents> --project <path> --path <path> --skill --mcp --force

参数:

参数名说明
--agent可选,智能体名称,多个智能体名称以英文逗号分隔。缺省时配置到所有已检测到的智能体中
--project可选,指定工程路径,将deveco-cli SkillMCP 服务安装到该工程项目中
--path可选,指定 deveco-cli Skill 的配置路径。不可与 --project--agent--mcp 同时使用
--skill可选,安装 deveco-cli Skill。不可与 --mcp 同时使用。--mcp--skill 都缺省时,执行 --skill
--mcp可选,配置 MCP 服务,与 --project 一起使用表示配置工程级 MCP 服务,独立使用表示配置用户级 MCP 服务。不可与 --skill 同时使用
-f, --force可选,当目标位置已存在 deveco-cli SkillMCP 服务时,覆盖重装

示例:

# 配置Skill
devecocli init -f   # 安装或更新deveco-cli Skill
devecocli init --skill
devecocli init --agent agentname    # agentname需替换为实际的智能体名称
devecocli init --path D:\work\ARKTS\NewData -f

# 配置MCP
devecocli init --mcp
devecocli init --mcp --agent agentname    # agentname需替换为实际的智能体名称   
devecocli init --mcp --project D:\work\ARKTS\NewData -f

docs search

将关键词搜索版本说明、指南、API参考、最佳实践、FAQ 、变更预告等中的内容

命令格式:

devecocli docs search <keywords...> --catalog <name> --format <fmt> --limit <n>

参数:

参数名说明
keywords...必选,搜索关键词,多个关键词用空格隔开
--catalog可选,文档类别,取值包含harmonyos-releases(版本说明)、 harmonyos-guides(指南)、harmonyos-references(API参考)、best-practices(最佳实践)、harmonyos-faqs(FAQ)、harmonyos-roadmap(变更预告)、all(所有分类,默认)
--format可选,控制输出格式,取值包括 defaultjson ,默认为default ,输出结果包括文档ID、标题、文档的概括内容
--limit可选,设置搜索结果返回条数,默认为10

示例:

devecocli docs search 沉浸光感
devecocli docs search '@State' '@Prop' --catalog best-practices --limit 10
devecocli docs search Row Column --format json

docs read

按文档ID查询文档的完整内容

命令格式:

devecocli docs read <documentId> 

参数:

参数名说明
documentId必选,文档ID

示例:

devecocli docs read 开发指南/应用框架/UI_Design_Kit_UI设计套件/沉浸光感/ui-design-hds-component-material

docs catalog

查询文档分类和分类名称

命令格式:

devecocli docs catalog --format <fmt> 

参数:

参数名说明
--format可选,输出格式,defaultjson ,默认为 default

示例:

devecocli docs catalog 
devecocli docs catalog --format json

create

创建 HarmonyOS 应用工程,仅支持创建工程模板中的 Empty Ability 模板

命令格式:

devecocli create --app-name <name> --project-path <path> --bundle-name <bundle> --api-level <level> 

参数:

参数名说明
--app-name必选,应用名称
--project-path可选,工程路径,默认为:./<appname>
--bundle-name可选,包名,默认为:com.example.<appname>appname 自动转为小写
--api-level可选,API级别,最小值为17,最大值从安装的 Deveco StudioHarmonyOS SDK 中自动获取

示例:

devecocli create --project-path ./MyApp --app-name MyApp
devecocli create --project-path ./MyApp --app-name MyApp --bundle-name com.acme.myapp --api-level 23
devecocli create --app-name MyApp

auth login

登录华为开发者账号,打开浏览器完成授权。

命令格式:

devecocli auth login

说明:

  • 海外账户暂不支持

auth logout

登出并清除本地存储的凭据

命令格式:

devecocli auth logout

auth status

显示当前登录的用户

命令格式:

devecocli auth status

auth team list

列出当前用户已加入的团队

命令格式:

devecocli auth team list

示例:

devecocli auth team list

build

编译并打包 HarmonyOS 工程或工程中的模块

命令格式:

devecocli build --product <product> --modules <modules> --build-mode <mode>

参数:

参数名说明
--product可选,产品的名称,默认为 default
--modules可选,模块的名称。如需指定模块的 target 信息,使用 module@target 形式。当工程中只有一个模块时,可缺省;当工程中存在多个模块,且仅存在一个 entry 类型的模块时,可缺省
--build-mode可选,构建模式,默认为 debug

示例:

devecocli build --build-mode release
devecocli build --modules entry library
devecocli build --modules library@phone
devecocli build --product oversea --modules entry --build-mode release

说明:

  • 选定模块的依赖会被自动解析和构建
  • 执行devecocli build --product <name>命令后,产物为 .app
  • 执行devecocli build --product <name> --modules <m1>命令后,产物为 .hap / .hsp / .har

build clean

清理 HarmonyOS 项目的构建产物

命令格式:

devecocli build clean

check compat

基于 DevEco Studio 自带的 apkanalyzer-apiscan 插件,扫描源代码在两个 SDK 版本之间的 API 变更情况。

子命令:

子命令说明
devecocli check compat默认执行工程级扫描
devecocli check compat --modules <m1> [m2...]按模块扫描
devecocli check compat <file1> [file2...]按文件扫描(仅支持 .ets/.c/.cpp
devecocli check compat versions列出可用的目标 SDK 版本

命令格式:

devecocli check compat [files...] --source-version <ver> --target-version <ver> [--modules <m...>] [--format <default|csv|json>] [--output-path <path>] [--limit <n>]

参数:

参数名说明
--source-version必填,当前工程 SDK 版本
--target-version必填,目标 SDK 版本
--modules可选,指定扫描的模块(多个以空格分隔)。与文件参数互斥
--format可选,输出格式。default/csv/json。默认 default(控制台输出文本,文件输出 csv
--output-path可选,报告输出路径。目录或文件(扩展名必须与 --format 匹配)
--limit可选,控制台显示的最大记录数,默认 100

版本号说明:

  • 可用版本可通过 devecocli check compat versions 查看
  • zsh 环境下版本号需用引号包裹(包含括号),例如 "<source_version>""<target_version>"

compat versions 参数:

参数名说明
--format可选,输出格式。defaultjson。默认 default(文本输出,每行一个版本号)

格式与输出组合:

场景允许的 --format行为
控制台输出(无 --output-pathdefault / jsondefault 输出文本表格,json 输出 JSON
文件输出(--output-path <file>,扩展名必须匹配 --formatdefault / csv / jsondefault/csv.csv 文件;json.json 文件
目录输出(--output-path <dir>,无扩展名)default / csv / jsondefault/csv 生成 apiChange-res{N}.csvjson 生成 apiChange-res{N}.json

示例:

# 工程级扫描,输出到控制台
devecocli check compat --source-version "<source_version>" --target-version "<target_version>"

# 输出 JSON 到控制台
devecocli check compat --format json --source-version "<source_version>" --target-version "<target_version>"

# 输出报告到目录(默认 csv)
devecocli check compat --output-path ./report --source-version "<source_version>" --target-version "<target_version>"

# 输出 JSON 报告到目录(生成 apiChange-res{N}.json)
devecocli check compat --output-path ./report --format json --source-version "<source_version>" --target-version "<target_version>"

# 输出报告到指定文件
devecocli check compat --output-path ./report.json --format json --source-version "<source_version>" --target-version "<target_version>"

# 文件级扫描
devecocli check compat ./entry/src/main/ets/pages/Index.ets --source-version "<source_version>" --target-version "<target_version>"

# 模块级扫描
devecocli check compat --modules entry har1 --source-version "<source_version>" --target-version "<target_version>"

check lint

检查代码规范并输出实践建议与报告。

命令格式:

devecocli check lint [path]

参数:

| 参数名 | 说明 | | ---------------------------- | --------------------------------------------------------------------- | | [path] | 可选,待检查的文件或目录;默认使用 build-profile.json5 所在的项目根目录,否则使用当前目录 | | --config-path <path> | Code Linter 配置文件路径,仅支持 .json.json5;默认使用待检查项目根目录下的 code-linter.json5,显式指定时必须与待检查路径属于同一项目 | | --fix | 自动修复可修复的问题 | | --incremental | 仅检查 Git 未提交文件 | | --product <name> | build-profile.json5 中定义的 product,默认为 default | | --format <default\|json> | 完整报告格式;default 输出 Markdown,json 输出 JSON;要求 DevEco Studio ≥ 6.1.0 | | --output-path <path> | 完整报告文件或目录,目录形式会自动生成带时间戳的报告文件;要求 DevEco Studio ≥ 6.1.0 | | --limit <number> | 未指定 --output-path 时,限制终端显示的问题数量 |

emulator 版本要求: DevEco Studio ≥ 6.1.0

emulator list

查看模拟器实例

命令格式:

devecocli emulator list [--format <table|json>]

参数:

参数名说明
--format可选,控制终端输出格式,取值为 tablejson,默认为 table

示例:

devecocli emulator list
devecocli emulator list --format json

emulator start

启动模拟器。首次使用时,需要签署 HarmonyOS 软件许可与服务协议,具体请参考 emulator license

命令格式:

devecocli emulator start [names...]

参数:

参数名说明
\[names...]必选,模拟器实例名称,多个名称用空格隔开。若名称中带有空格,则名称需要添加英文引号

示例:

devecocli emulator start Phone
devecocli emulator start Phone1 Phone2

说明:

  • emulator start 命令仅支持启动 release 版本的模拟器

emulator stop

关闭模拟器

命令格式:

devecocli emulator stop [names...]

参数:

参数名说明
\[names...]必选,模拟器实例名称,多个名称用空格隔开。若名称中带有空格,则名称需要添加英文引号

示例:

devecocli emulator stop Phone
devecocli emulator stop 127.0.0.1:5555

emulator 场景操作

控制运行中的模拟器实例,直接映射 DevEco Studio 内置 Emulator 公开命令行参数。新增场景控制命令要求 Emulator 7.0 或更高版本;低版本会直接提示升级。截图不属于模拟器场景操作,统一通过 devecocli ui screenshot 执行。

示例:

devecocli emulator shake --target Phone
devecocli emulator power --target Phone
devecocli emulator rotate left --target Phone
devecocli emulator volume up --target Phone
devecocli emulator fold half-open --target Phone
devecocli emulator battery --target Phone --level 90
devecocli emulator battery --target Phone --status charging
devecocli emulator geolocation --target Phone --longitude 116.400244
devecocli emulator scene outdoorRunning --target Phone
devecocli emulator sensor --target Phone --heartrate 80

说明:

  • --target 支持模拟器名称或 127.0.0.1:<port> 序列号。
  • battery --level 会自动查询模拟器当前充电状态:充电时取值范围为整数 [0, 100],未充电时为 [1, 100]
  • battery --status 取值为 chargingdischarging
  • geolocation 支持 --longitude--latitude--altitude--direction
  • scene 取值为 outdoorRunningoutdoorCyclingdrivingNavigation
  • sensor 支持 --light-intensity--humidity--temperature--steps--heartrate
  • fold <state> 会根据目标模拟器的设备类型校验状态,设备与参数必须匹配:
设备类型支持的 state
------
foldableopenhalf-openclose
2in1_foldableopenvertical-openhalf-openclose
triplefoldsingledouble、`triple