【HarmonyOS AI】DevEco CLI、Skills、知识库运用AI Coding提效详解
一、前言
CLI 是命令行工具,Command Line Interface 的缩写。今年智能体大爆炸之后,又开始流行,在GUI(图形界面)没出来前,计算机古早时代,都是CLI的使用方式,现在智能体操作很多,为了调用方便,直接给AI用CLI。用户使用自然语言让AI去干活,比GUI方便。
这篇记录的是一次完整的 DevEco CLI 接入过程: 从装 CLI、配 Skills、解决 C 盘空间问题,到用知识库和 Skills 辅助写了个登录界面,最后编译推送到 Mate 60 Pro 真机上跑起来。以下是AI写的登录页面:

所有命令都是实际验证过的,来源会标清楚。踩过的坑也会明确标出来,避免后人再踩一遍。
并且我把整个安装和配置链路,封装了一个Skills技能包,大家可以直接安装我这个技能包,完成下面的详细步骤:
并且我把整个安装和配置链路,封装了一个Skills技能包,大家可以直接安装我这个技能包,完成下面的详细步骤:
并且我把整个安装和配置链路,封装了一个Skills技能包,大家可以直接安装我这个技能包,完成下面的详细步骤:
https://download.csdn.net/download/u010949451/93165494
bash
技能包位置:D:\deveco-cli-setup
安装方式:把目录复制到你的 AI 助手,让它去复制到 skills 加载路径。(有的智能体需要重启/刷新加载)
使用方式:对 AI 说"配置鸿蒙开发环境"。
1、核心能力
环境配置自动化
装 CLI → 选 Skills → 配 MCP → 建项目,全程 AI 带路
每一步有报错,AI 自动查 FAQ 给修复方案
2、Skills 智能推荐
只做手机 App?装 8 个开发编码 Bundle 就够了
要做折叠屏?AI 自动加上多设备适配 Bundle
要集成华为登录?单独装平台服务 Bundle 里的账号 Skill
不确定?全装 33 个,省心
3、避坑内置
命令混用、hvigor 缓存、签名配置等 10 个常见错误,AI 提前拦

二、安装 DevEco CLI

1、 确认 npm 全局安装路径
先看一下 npm 全局包装哪儿了,最好装到 D 盘:
bash
npm config get prefix
# 输出:D:\DevTools\npm-global
如果不在 D 盘,可以改:
bash
npm config set prefix "D:\你的路径"
2、 安装 CLI
bash
npm install -g @deveco/deveco-cli@latest
验证一下:
bash
devecocli --version
# 输出:1.2.0
三、验证核心能力

装完先看一眼支持哪些命令:
bash
devecocli --help
实际验证过的命令:
| 命令 | 功能 | 验证状态 |
|---|---|---|
build |
构建项目 | ✅ 已验证 |
run |
构建并运行到设备 | ✅ 已验证 |
device |
管理连接设备 | ✅ 已验证 |
emulator |
管理模拟器 | ✅ 已验证 |
skills |
管理 Skills | ✅ 已验证 |
docs |
搜索本地文档 | ✅ 已验证 |
log |
获取设备日志 | ✅ 已验证 |
create |
创建新项目 | ✅ 已验证 |
init |
配置 MCP/Agent | ✅ 已验证 |
serve |
启动辅助协议服务器 | ✅ 已验证 |
⚠️ 我没找到CLI自动签名的方式,只能靠IDE 配置自动完成。有开发证书那种比较方便,直接让智能体加进去就行了。
四、安装 Skills 到 D 盘(智能体默认都装在C盘,很吃空间)
1、 查看有哪些 Skills
bash
devecocli skills list
首次执行会从远程拉列表,一共 33 个。
3、 安装核心 Skills
默认会装到 Agent 配置目录(C 盘),通过 --path 指定装到 D 盘:
bash
mkdir D:\workbuddy-skills
devecocli skills add --skill hmos-arkts-syntax-checker --path D:\workbuddy-skills
devecocli skills add --skill hmos-arkui-develop-skill --path D:\workbuddy-skills
devecocli skills add --skill hmos-arkts-knowledge-retriever --path D:\workbuddy-skills
devecocli skills add --skill hmos-memleak-analysis --path D:\workbuddy-skills
devecocli skills add --skill hmos-jscrash-analysis --path D:\workbuddy-skills
Skills 实际装在 D 盘,后面通过符号链接让 WorkBuddy 从 C 盘加载。这样既省 C 盘空间,又不影响 WorkBuddy 识别。
4、符号链接解决 C 盘空间问题
WorkBuddy 默认从 C:\Users\<用户名>\.workbuddy\skills\ 加载 Skills,但我们把 Skills 装到了 D 盘。解决办法是建个符号链接,让 C 盘路径指向 D 盘实际目录。
需要管理员权限的 PowerShell。
powershell
# 1. 备份原有 Skills(如果有的话)
cp -r C:\Users\woody\.workbuddy\skills D:\workbuddy-skills-backup
# 2. 删掉 C 盘的 skills 目录
rm -rf C:\Users\woody\.workbuddy\skills
# 3. 创建符号链接(C 盘路径 → D 盘实际目录)
New-Item -ItemType SymbolicLink `
-Path "C:\Users\woody\.workbuddy\skills" `
-Target "D:\workbuddy-skills"
验证一下:
bash
ls -la C:\Users\woody\.workbuddy\skills
# 输出:lrwxrwxrwx 1 woody 197609 19 Jul 22 12:14 skills -> /d/workbuddy-skills
注意:Windows 创建符号链接需要管理员权限,而且目标目录必须先存在。如果 WorkBuddy 正在跑,需要先关掉再操作。
5、配置 MCP
DevEco CLI 内置了 MCP 服务器(devecocli serve mcp),不需要额外装 CodeGenie MCP。Skills 通过 MCP 调用 DevEco Studio 的能力。
bash
cd D:\DevTools\deveco-projects\WorkBuddyTestApp
devecocli init --mcp --agent opencode --project .
会在项目下生成 .opencode/opencode.json:
json
{
"mcp": {
"deveco-mcp": {
"type": "local",
"command": ["devecocli", "serve", "mcp"],
"environment": {
"PROJECT_PATH": "D:\\DevTools\\deveco-projects\\WorkBuddyTestApp"
},
"enabled": true
}
}
}
6、创建项目
bash
mkdir D:\DevTools\deveco-projects
cd D:\DevTools\deveco-projects
devecocli create --app-name WorkBuddyTestApp
生成的项目结构:
WorkBuddyTestApp/
├── AppScope/
├── entry/
│ ├── src/main/ets/
│ │ ├── entryability/
│ │ └── pages/
│ │ └── Index.ets
│ └── build-profile.json5
├── hvigor/
├── build-profile.json5
└── oh-package.json5
7、IDE 自动签名
DevEco CLI 没有独立的 sign 命令,签名通过 build-profile.json5 配置。
操作步骤:
- DevEco Studio → File → Open → 选项目目录
- Build → Build Hap(s)/App(s) → 勾选"自动签名"
- IDE 会自动改
build-profile.json5,加上签名配置
签名后的 build-profile.json5 大概长这样:
json
{
"app": {
"signingConfigs": [{
"name": "default",
"type": "p12",
"path": "./.idea/.../auto_debug.p12",
"storePassword": "...",
"keyAlias": "...",
"keyPassword": "..."
}]
}
}
8、用知识库和 Skills 开发登录界面
java
在index.ets界面,写一个登录界面UI布局。使用 DevEco CLI 的 docs 和 skills 命令。
登录界面:
账号密码输入框
登录按钮
需要验证码/手机号登录
风格偏好(商务)

8.1 检索 ArkUI 组件文档
bash
# 搜索 TextInput 组件
devecocli docs search "TextInput" --format json
# 读取 Button API 详情
devecocli docs read "API参考/ArkUI_方舟UI框架/ArkTS组件/按钮与选择/Button/ts-basic-components-button"
返回的是结构化 JSON,包含 title、documentId、content、url。
8.2 查看 ArkUI 开发 Skill
Skill 位置:C:\Users\woody\.workbuddy\skills\hmos-arkui-develop-skill\
核心参考资料:
references/quick-apis/02-basic-components.md--- 基础组件速查references/quick-apis/16-enums.md--- 枚举值定义
8.3 写登录界面代码
基于知识库检索结果,写了个包含这些功能的登录页:
- 账号密码登录 / 手机号验证码登录 切换
- TextInput 输入框(带图标、密码隐藏)
- Button 登录按钮(带加载状态)
- Checkbox 用户协议勾选
- 第三方登录入口(华为账号、微信)
关键组件用法(来自官方文档验证):
typescript
// TextInput 带图标和密码模式
TextInput({ placeholder: '请输入密码', controller: this.pwdController })
.type(InputType.Password)
.prefixIcon({ src: $r('app.media.ic_password'), color: '#999' })
// Button 样式
Button('登录', { type: ButtonType.Capsule })
.backgroundColor('#007DFF')
.width('100%')
// 切换按钮(文本样式)
Button('获取验证码', { buttonStyle: ButtonStyleMode.TEXTUAL })
9、构建与避坑
1、构建项目
bash
cd D:\DevTools\deveco-projects\WorkBuddyTestApp
devecocli build --build-mode debug
预期输出:
> hvigor BUILD SUCCESSFUL in 272 ms
Build completed successfully
2、别直接调 node hvigorw.js
错误做法:
bash
node hvigorw.js assembleHap --mode debug
# 报错:> hvigor ERROR: ENOENT: no such file ...\node_modules\@ohos\hvigor\bin\hvigor.js
原因:hvigor 缓存里的符号链接指向了旧的 DevEco Studio 路径(D:\CodeAPP\DevEcoStudio\),但实际装在新路径(D:\HarmonyOS\IDE\...)。
正确做法 :始终用 devecocli build,它会自动处理缓存和路径问题。
10、推送到真机
10.1 查看连接设备
bash
devecocli device list
# 输出:29Q022392xxxxx HUAWEI Mate 60 Pro connected
10.2 运行到设备
bash
devecocli run --device "29Q0223927001481"
预期输出:
Build completed successfully.
Installing artifacts to device 29Q0223927001481...
App installed successfully
Launching com.example.workbuddytestapp/EntryAbility...
Application 'com.example.workbuddytestapp': start ability successfully.
11、Skills 测试(崩溃分析 + 内存泄漏)
11.1 内存泄漏静态扫描
bash
python "C:/Users/woody/.workbuddy/skills/hmos-memleak-analysis/scripts/filter_risk_func.py" \
"D:/DevTools/deveco-projects/WorkBuddyTestApp/entry/src/main/ets"
扫描结果示例(检测到故意写的泄漏代码):
Found 2 potential leak(s):
[LOW] LeakTestPage.ets:11
API: setInterval -> missing: clearInterval
code: this.timerId = setInterval(() => {
category: Common
[HIGH] LeakTestPage.ets:16
API: .on('netAvailable') -> missing: .off('netAvailable')
code: netConn.on('netAvailable', (data) => {
category: EventListener
11.2 JS Crash 日志分析
Skill 文件:hmos-jscrash-analysis/SKILL.md
核心能力:
- 按 Reason / Error name / Error message 三级根因匹配
- 定位第一个应用栈帧
- 输出修复建议
故障模式库:references/fault-mode-library.md
完整踩坑记录
| 坑 | 现象 | 原因 | 解决 |
|---|---|---|---|
| 命令名混用 | deveco-cli 不存在 |
源文件写法不一致 | 统一用 devecocli |
| Skills 装到 C 盘 | C 盘空间不足 | 默认装到 Agent 目录 | --path D:\workbuddy-skills + 符号链接 |
| hvigor 缓存错误 | ENOENT: no such file hvigor.js |
缓存指向旧 DevEco Studio 路径 | 用 devecocli build,别直接调 node hvigorw.js |
| ButtonStyleMode 写错 | 编译失败 | 写成 TEXT 而非 TEXTUAL |
查官方文档确认枚举值 |
| SymbolGlyph 图标名错误 | 编译失败 | 用了不存在的系统图标名 | 用 devecocli docs search 确认有效图标名 |
| ohpm 不在 PATH | ohpm: command not found |
ohpm 没加系统环境变量 | 用完整路径:D:\...\DevEco Studio\tools\ohpm\bin\ohpm.bat |
| 模拟器镜像未下载 | system image file cannot be found |
首次使用需下载镜像 | devecocli emulator download "Mate X7" 或 IDE 下载 |
最终状态
| 组件 | 状态 | 位置 |
|---|---|---|
| DevEco CLI | ✅ v1.2.0 | D:\DevTools\npm-global\ |
| 本地知识库 | ✅ 已就绪 | CLI 内置 |
| Skills | ✅ 15 个 | D:\workbuddy-skills\(符号链接) |
| MCP 配置 | ✅ 已配置 | .opencode/opencode.json |
| 测试项目 | ✅ 已运行 | D:\DevTools\deveco-projects\WorkBuddyTestApp\ |
| 真机部署 | ✅ 成功 | HUAWEI Mate 60 Pro |
关键命令速查
bash
# 安装 CLI
npm install -g @deveco/deveco-cli@latest
# 查看帮助
devecocli --help
# 创建项目
devecocli create --app-name MyApp
# 构建(始终用这个,别直接调 hvigor)
devecocli build --build-mode debug
# 运行到设备
devecocli run --device "设备ID"
# 查看设备
devecocli device list
# 搜索文档
devecocli docs search "TextInput" --format json
# 安装 Skill 到 D 盘
devecocli skills add --skill hmos-arkts-syntax-checker --path D:\workbuddy-skills
# 配置 MCP
devecocli init --mcp --agent opencode --project .