重磅升级:我给 harmony-mcp 集成了鸿蒙 HDC,让 AI 能直接调试 HarmonyOS 设备

重磅升级:我给 harmony-mcp 集成了鸿蒙 HDC,让 AI 能直接调试 HarmonyOS 设备

定位:项目升级发布 + 实操工作流分享

目标读者:正在用 Cursor、Claude、Kiro 等 AI 工具做小程序或 HarmonyOS 开发的开发者


之前做的 harmony-mcp,主要解决的是微信小程序开发里的重复操作:环境检查、编译诊断、包体积分析、合规预检、一键上传。

这次是一次比较大的升级:在原有小程序能力基础上,我给 harmony-mcp 集成了鸿蒙 HDC 设备自动化。

也就是说,现在 AI 不只可以帮你操作微信开发者工具,还可以通过 HDC 直接操作 HarmonyOS 真机或模拟器:

  • 检查 HDC 环境
  • 列出已连接设备
  • 安装 HAP 包
  • 启动指定 Ability
  • 抓取 hilog 日志
  • 推送文件到设备
  • 从设备拉取文件
  • 卸载应用

目标还是同一个:让 AI 不只"告诉你该执行什么命令",而是能在本地安全边界内直接调用工具,执行、验证、再反馈结果。


先说效果

以前调试鸿蒙应用,我的流程通常是这样的:

  1. 打开终端,确认 hdc 能不能用
  2. 执行 hdc list targets 看设备有没有连上
  3. 找到 HAP 包路径
  4. 执行 hdc install xxx.hap
  5. 手写 aa start 命令拉起 Ability
  6. 再执行 hdc hilog 看日志
  7. 遇到多设备,还要手动补 -t connectKey

现在可以直接对 AI 说:

text 复制代码
帮我检查鸿蒙环境,列出设备,然后把这个 HAP 安装到模拟器上并启动 EntryAbility

AI 会按顺序调用:

text 复制代码
harmony_ready_check
harmony_list_devices
harmony_install
harmony_start
harmony_log

如果 HDC 找不到、设备没连、存在多设备但没指定 target,工具会返回结构化错误和修复建议。AI 不需要猜命令输出,用户也不用在终端里来回复制。


原理:MCP + HDC

MCP(Model Context Protocol)可以理解为 AI 调用外部工具的标准协议。

text 复制代码
以前:AI 给你一段命令,你复制到终端执行
现在:AI 通过 MCP 调用工具,工具再调用本地 HDC,并返回结构化结果

HDC 是 HarmonyOS 官方设备连接工具,常见命令包括:

bash 复制代码
hdc list targets
hdc install entry-default-signed.hap
hdc uninstall com.example.app
hdc shell aa start -a EntryAbility -b com.example.app
hdc shell hilog -x
hdc file send local.txt /data/local/tmp/local.txt
hdc file recv /data/local/tmp/local.txt local-back.txt

直接让 AI 裸跑 shell 当然也能做,但稳定性和安全边界都不够好。

所以这次升级的核心不是"让 AI 拼命令",而是把 HDC 能力封装成明确的 MCP tools:每个工具都有固定名称、入参 schema、行为说明和安全标记。


这次新增的 8 个鸿蒙工具

工具 能力
harmony_ready_check 检测 HDC 路径、HDC 版本、设备连接状态
harmony_list_devices 列出鸿蒙真机和模拟器,返回 connectKey
harmony_install 安装 HAP 包,支持异步任务
harmony_uninstall bundleName 卸载应用
harmony_start 启动指定 bundleNameabilityName
harmony_log 抓取 hilog 日志,支持行数和关键词过滤
harmony_file_push 推送本地文件到设备
harmony_file_pull 从设备拉取文件到本地

所有能力都基于华为官方 HDC CLI,不涉及逆向,也不调用非公开接口。


5 分钟配置

前置条件

  1. 已安装 DevEco Studio 或 HarmonyOS SDK
  2. 本机能找到 HDC 工具
  3. 已启动 DevEco 模拟器,或已连接 HarmonyOS 真机
  4. 真机已开启开发者模式和 USB 调试
  5. Node.js >= 18

如果 HDC 没有加入 PATH,也可以用环境变量或本地配置指定路径。

环境变量方式:

bash 复制代码
HDC_PATH=你的hdc可执行文件完整路径

或者在项目根目录创建 harmony-mcp.json

json 复制代码
{
  "hdcPath": "D:\\Huawei\\Sdk\\default\\toolchains\\hdc.exe"
}

Cursor 配置

在项目根目录创建 .cursor/mcp.json

json 复制代码
{
  "mcpServers": {
    "harmony-mcp": {
      "command": "npx",
      "args": ["-y", "@yujiamei/harmony-mcp"]
    }
  }
}

重启 Cursor,在 MCP 面板里看到 harmony-mcp 可用即可。

Windows 用户如果 npx 启动不稳定,可以先全局安装:

bash 复制代码
npm install -g @yujiamei/harmony-mcp

然后配置改成:

json 复制代码
{
  "mcpServers": {
    "harmony-mcp": {
      "command": "harmony-mcp",
      "args": []
    }
  }
}

Claude Desktop、Kiro 等支持 MCP 的客户端配置方式类似。


我的 5 个鸿蒙高频使用场景

场景 1:环境预检

以前我会先在终端里确认:

bash 复制代码
hdc version
hdc list targets

现在直接对 AI 说:

text 复制代码
帮我检查鸿蒙开发环境

AI 会调用 harmony_ready_check,一次性检查:

  1. HDC 路径是否能找到
  2. HDC 版本是否能读取
  3. 当前是否有真机或模拟器连接

如果 HDC 找不到,返回结果里会带修复建议,例如设置 HDC_PATH、检查 SDK 安装目录、把 toolchains 加入 PATH。

这个能力看起来简单,但很实用。很多问题不是代码错,而是设备、SDK、HDC 服务状态不对。


场景 2:多设备自动识别

鸿蒙调试经常遇到多设备场景,比如同时开着模拟器,又插着一台真机。

以前要自己看:

bash 复制代码
hdc list targets

然后手动复制某个 connectKey,再给后续命令补:

bash 复制代码
hdc -t 127.0.0.1:5555 install xxx.hap

现在可以说:

text 复制代码
列出当前所有鸿蒙设备

AI 调用 harmony_list_devices 后会拿到结构化结果:

json 复制代码
{
  "status": "OK",
  "deviceCount": 2,
  "devices": [
    {
      "connectKey": "127.0.0.1:5555",
      "status": "Connected",
      "kind": "emulator"
    },
    {
      "connectKey": "FMR0223C13000649",
      "status": "Connected",
      "kind": "device"
    }
  ]
}

后续安装、启动、抓日志都可以复用这个 connectKey


场景 3:安装 HAP 并启动 Ability

以前的手动流程:

bash 复制代码
hdc install D:\demo\entry-default-signed.hap
hdc shell aa start -a EntryAbility -b com.example.demo

现在可以直接说:

text 复制代码
把 D:/demo/entry-default-signed.hap 安装到模拟器上,然后启动 com.example.demo 的 EntryAbility

AI 会调用:

text 复制代码
harmony_install
harmony_start

harmony_install 还做了异步任务设计。安装 HAP 可能耗时较长,如果客户端支持 MCP Tasks,可以先返回 taskId,再轮询最终结果,避免整个对话被安装过程阻塞。

如果客户端不支持 Tasks,也可以降级成同步结果。


场景 4:抓 hilog 定位问题

应用拉起后,最常见的下一步就是看日志。

以前我要手动执行:

bash 复制代码
hdc shell hilog -x

日志多了以后还得自己过滤。

现在可以直接说:

text 复制代码
看一下设备最近 100 行日志,只保留包含 App 的行

AI 调用 harmony_log,传入:

json 复制代码
{
  "lines": 100,
  "keyword": "App"
}

工具会返回结构化结果,包括日志行数、过滤关键词和日志内容。

这一步的价值在于,AI 可以继续基于日志判断下一步:是启动失败、权限问题、bundleName 错误,还是应用自身 crash。


场景 5:文件推送和拉取

有些调试需要把配置、日志、测试数据放到设备里,或者从设备里拉文件出来。

以前要自己执行:

bash 复制代码
hdc file send C:\test\hello.txt /data/local/tmp/hello.txt
hdc file recv /data/local/tmp/hello.txt C:\test\hello-back.txt

现在可以对 AI 说:

text 复制代码
把 C:/test/hello.txt 推送到设备的 /data/local/tmp/hello.txt,然后再拉回到 C:/test/hello-back.txt 验证

AI 会调用:

text 复制代码
harmony_file_push
harmony_file_pull

这类动作本身不复杂,但很适合交给 AI 串流程,尤其是在调试脚本、复现问题、收集设备文件时。


为什么不直接让 AI 执行 shell

这个问题我在做鸿蒙模块时想了很久。

让 AI 直接执行:

bash 复制代码
hdc install xxx.hap

确实最快,但工程上有几个问题:

  1. HDC 输出不是稳定 API,不同版本和设备可能不一样
  2. 多设备场景下,AI 容易忘记指定 -t
  3. 安装、卸载、文件写入这些动作需要明确风险标记
  4. 原始 stdout/stderr 不利于 AI 后续决策
  5. 很难写可回归的测试

MCP tool 的好处是把这些不稳定性收敛到工具层。

AI 看到的是:

text 复制代码
harmony_install(hapPath, target)
harmony_start(bundleName, abilityName, target)
harmony_log(lines, keyword, target)

工具层负责处理 HDC 路径、命令拼接、超时、错误映射和输出解析。


这次升级里我最重视的一点:HDC 输出样本库

HDC 输出并不是一个严格稳定的 JSON API。

所以项目里新增了一个 fixture 样本库:

text 复制代码
test/fixtures/hdc-outputs/

里面收集各种 HDC stdout/stderr 样本:

text 复制代码
list-targets-empty.txt
list-targets-single-device.txt
list-targets-single-emulator.txt
list-targets-multi.txt
install-success.txt
install-signature-error.txt
install-no-space.txt
uninstall-success.txt
uninstall-not-installed.txt
aa-start-success.txt
aa-start-not-found.txt
hilog-normal.txt
hilog-crash.txt
file-send-success.txt
file-recv-success.txt
error-device-not-found.txt
error-cannot-connect.txt
error-timeout.txt
version.txt

每个样本第一行都会标记来源:

text 复制代码
# source: official-docs
# source: deveco-simulator-3.1
# source: community-issue-123
# source: synthetic

现在有些样本仍然是 synthetic,也就是基于文档和常见输出推测出来的。后续如果有真机或模拟器输出,就可以把它们替换成真实样本。

这样做的目的很明确:不要靠想象写解析逻辑,要用真实输出反向校准工具行为。


测试覆盖

这次鸿蒙模块不是只写了工具注册,还补了几层测试:

测试层 覆盖内容
单元测试 CLI 参数拼接、parseDeviceList、超时和错误映射
MCP 协议测试 8 个工具的注册、入参 schema、契约一致性
Mock E2E 通过 mock-hdc 模拟完整链路
Fixture-driven 测试 基于 test/fixtures/hdc-outputs/ 校准解析逻辑

当前解析层、错误处理层和 MCP 协议层已经有测试覆盖。

但我也要把边界说清楚:真机和模拟器的完整链路还需要更多社区反馈,尤其是不同 HarmonyOS 版本、不同 HDC 版本下的输出差异。


常见问题

Q:这个是替代 DevEco Studio 吗?

不是。它是把 HDC 设备操作接入 AI 工作流。开发、构建、签名、调试 UI 仍然依赖 DevEco Studio 和 HarmonyOS SDK。

Q:需要华为账号或密钥吗?

不需要。当前鸿蒙能力只调用本地 HDC,不需要把账号、密钥交给 AI。

Q:支持真机吗?

设计上支持真机和 DevEco 模拟器。真机需要开启开发者模式、USB 调试,并在首次连接时允许调试。

Q:支持多设备吗?

支持。先调用 harmony_list_devices 获取 connectKey,后续工具用 target 指定设备。

Q:会不会误删应用?

harmony_uninstall 被标记为 destructive 工具。支持 MCP 安全提示的客户端会在执行前提示风险。实际使用时也建议明确传入 bundleNametarget

Q:为什么强调需要社区反馈?

因为 HDC 输出可能随设备、系统版本、SDK 版本变化。真实 stdout/stderr 样本越多,解析逻辑越可靠。


推荐 Prompt

装好之后,可以直接复制这些 prompt 试一下:

场景 Prompt
环境检查 "检查一下我的鸿蒙 HDC 环境是否正常"
设备列表 "列出当前连接的鸿蒙真机和模拟器"
安装应用 "把 D:/demo/entry-default-signed.hap 安装到模拟器上"
启动应用 "启动 com.example.demo 的 EntryAbility"
查看日志 "抓取最近 200 行 hilog,只看包含 Error 的日志"
文件推送 "把 C:/test/config.json 推送到设备 /data/local/tmp/config.json"
文件拉取 "把设备 /data/local/tmp/log.txt 拉到 C:/test/log.txt"
完整流程 "检查鸿蒙环境,选择模拟器,安装 HAP,启动 EntryAbility,然后抓最近 100 行日志"

数据

指标 数据
新增鸿蒙工具 8 个
设备操作来源 华为官方 HDC CLI
支持设备 HarmonyOS 真机 / DevEco 模拟器
支持客户端 Cursor / Claude Desktop / Kiro / 任何支持 MCP 的客户端
测试方式 单元测试 / MCP 协议测试 / Mock E2E / Fixture-driven 测试
核心样本目录 test/fixtures/hdc-outputs/

链接

如果你手上有 HarmonyOS 真机或 DevEco 模拟器,欢迎跑一遍 docs/MANUAL_VERIFICATION.md

如果实际 HDC 输出和样本不一致,欢迎把 stdout/stderr 回贡到 fixtures。

这会直接提升这个工具在真实设备上的可靠性。


这次升级之后,harmony-mcp 不再只是小程序 AI 工作流工具,而是在原有基础上开始覆盖鸿蒙设备调试。下一步我会继续补真机样本、错误场景和更多自动化链路。

我给 harmony-mcp 接入了鸿蒙 HDC,让 AI 直接调试 HarmonyOS 设备

适合发布平台:掘金 / V2EX / 微信开放社区 / 鸿蒙开发者社区

定位:项目升级发布 + 实操工作流分享

目标读者:正在用 Cursor、Claude、Kiro 等 AI 工具做小程序或 HarmonyOS 开发的开发者


之前我做 harmony-mcp,主要解决的是微信小程序开发里的重复操作:环境检查、编译诊断、包体积分析、合规预检、一键上传。

这次是一次比较大的升级:在原有小程序能力基础上,我给 harmony-mcp 集成了鸿蒙 HDC 设备自动化。

也就是说,现在 AI 不只可以帮你操作微信开发者工具,还可以通过 HDC 直接操作 HarmonyOS 真机或模拟器:

  • 检查 HDC 环境
  • 列出已连接设备
  • 安装 HAP 包
  • 启动指定 Ability
  • 抓取 hilog 日志
  • 推送文件到设备
  • 从设备拉取文件
  • 卸载应用

目标还是同一个:让 AI 不只"告诉你该执行什么命令",而是能在本地安全边界内直接调用工具,执行、验证、再反馈结果。


先说效果

以前调试鸿蒙应用,我的流程通常是这样的:

  1. 打开终端,确认 hdc 能不能用
  2. 执行 hdc list targets 看设备有没有连上
  3. 找到 HAP 包路径
  4. 执行 hdc install xxx.hap
  5. 手写 aa start 命令拉起 Ability
  6. 再执行 hdc hilog 看日志
  7. 遇到多设备,还要手动补 -t connectKey

现在可以直接对 AI 说:

text 复制代码
帮我检查鸿蒙环境,列出设备,然后把这个 HAP 安装到模拟器上并启动 EntryAbility

AI 会按顺序调用:

text 复制代码
harmony_ready_check
harmony_list_devices
harmony_install
harmony_start
harmony_log

如果 HDC 找不到、设备没连、存在多设备但没指定 target,工具会返回结构化错误和修复建议。AI 不需要猜命令输出,用户也不用在终端里来回复制。


原理:MCP + HDC

MCP(Model Context Protocol)可以理解为 AI 调用外部工具的标准协议。

text 复制代码
以前:AI 给你一段命令,你复制到终端执行
现在:AI 通过 MCP 调用工具,工具再调用本地 HDC,并返回结构化结果

HDC 是 HarmonyOS 官方设备连接工具,常见命令包括:

bash 复制代码
hdc list targets
hdc install entry-default-signed.hap
hdc uninstall com.example.app
hdc shell aa start -a EntryAbility -b com.example.app
hdc shell hilog -x
hdc file send local.txt /data/local/tmp/local.txt
hdc file recv /data/local/tmp/local.txt local-back.txt

直接让 AI 裸跑 shell 当然也能做,但稳定性和安全边界都不够好。

所以这次升级的核心不是"让 AI 拼命令",而是把 HDC 能力封装成明确的 MCP tools:每个工具都有固定名称、入参 schema、行为说明和安全标记。


这次新增的 8 个鸿蒙工具

工具 能力
harmony_ready_check 检测 HDC 路径、HDC 版本、设备连接状态
harmony_list_devices 列出鸿蒙真机和模拟器,返回 connectKey
harmony_install 安装 HAP 包,默认同步返回,兼容不支持 Tasks 的客户端
harmony_uninstall bundleName 卸载应用
harmony_start 启动指定 bundleNameabilityName
harmony_log 抓取 hilog 日志,支持行数和关键词过滤
harmony_file_push 推送本地文件到设备
harmony_file_pull 从设备拉取文件到本地

所有能力都基于华为官方 HDC CLI,不涉及逆向,也不调用非公开接口。


5 分钟配置

前置条件

  1. 已安装 DevEco Studio 或 HarmonyOS SDK
  2. 本机能找到 HDC 工具
  3. 已启动 DevEco 模拟器,或已连接 HarmonyOS 真机
  4. 真机已开启开发者模式和 USB 调试
  5. Node.js >= 18

如果 HDC 没有加入 PATH,也可以用环境变量或本地配置指定路径。

环境变量方式:

bash 复制代码
HDC_PATH=你的hdc可执行文件完整路径

或者在项目根目录创建 harmony-mcp.json

json 复制代码
{
  "hdcPath": "D:\\Huawei\\Sdk\\default\\toolchains\\hdc.exe"
}

Cursor 配置

在项目根目录创建 .cursor/mcp.json

json 复制代码
{
  "mcpServers": {
    "harmony-mcp": {
      "command": "npx",
      "args": ["-y", "@yujiamei/harmony-mcp"]
    }
  }
}

重启 Cursor,在 MCP 面板里看到 harmony-mcp 可用即可。

Windows 用户如果 npx 启动不稳定,可以先全局安装:

bash 复制代码
npm install -g @yujiamei/harmony-mcp

然后配置改成:

json 复制代码
{
  "mcpServers": {
    "harmony-mcp": {
      "command": "harmony-mcp",
      "args": []
    }
  }
}

Claude Desktop、Kiro 等支持 MCP 的客户端配置方式类似。


我的 5 个鸿蒙高频使用场景

场景 1:环境预检

以前我会先在终端里确认:

bash 复制代码
hdc version
hdc list targets

现在直接对 AI 说:

text 复制代码
帮我检查鸿蒙开发环境

AI 会调用 harmony_ready_check,一次性检查:

  1. HDC 路径是否能找到
  2. HDC 版本是否能读取
  3. 当前是否有真机或模拟器连接

如果 HDC 找不到,返回结果里会带修复建议,例如设置 HDC_PATH、检查 SDK 安装目录、把 toolchains 加入 PATH。

这个能力看起来简单,但很实用。很多问题不是代码错,而是设备、SDK、HDC 服务状态不对。


场景 2:多设备自动识别

鸿蒙调试经常遇到多设备场景,比如同时开着模拟器,又插着一台真机。

以前要自己看:

bash 复制代码
hdc list targets

然后手动复制某个 connectKey,再给后续命令补:

bash 复制代码
hdc -t 127.0.0.1:5555 install xxx.hap

现在可以说:

text 复制代码
列出当前所有鸿蒙设备

AI 调用 harmony_list_devices 后会拿到结构化结果:

json 复制代码
{
  "status": "OK",
  "deviceCount": 2,
  "devices": [
    {
      "connectKey": "127.0.0.1:5555",
      "status": "Connected",
      "kind": "emulator"
    },
    {
      "connectKey": "FMR0223C13000649",
      "status": "Connected",
      "kind": "device"
    }
  ]
}

后续安装、启动、抓日志都可以复用这个 connectKey


场景 3:安装 HAP 并启动 Ability

以前的手动流程:

bash 复制代码
hdc install D:\demo\entry-default-signed.hap
hdc shell aa start -a EntryAbility -b com.example.demo

现在可以直接说:

text 复制代码
把 D:/demo/entry-default-signed.hap 安装到模拟器上,然后启动 com.example.demo 的 EntryAbility

AI 会调用:

text 复制代码
harmony_install
harmony_start

harmony_install 目前默认同步返回,优先兼容 Cursor Inspector 这类不支持 MCP Tasks 的客户端。这样做的好处是更直接:装完就返回结果,不需要再处理 taskId 和轮询状态。


场景 4:抓 hilog 定位问题

应用拉起后,最常见的下一步就是看日志。

以前我要手动执行:

bash 复制代码
hdc shell hilog -x

日志多了以后还得自己过滤。

现在可以直接说:

text 复制代码
看一下设备最近 100 行日志,只保留包含 App 的行

AI 调用 harmony_log,传入:

json 复制代码
{
  "lines": 100,
  "keyword": "App"
}

工具会返回结构化结果,包括日志行数、过滤关键词和日志内容。

这一步的价值在于,AI 可以继续基于日志判断下一步:是启动失败、权限问题、bundleName 错误,还是应用自身 crash。


场景 5:文件推送和拉取

有些调试需要把配置、日志、测试数据放到设备里,或者从设备里拉文件出来。

以前要自己执行:

bash 复制代码
hdc file send C:\test\hello.txt /data/local/tmp/hello.txt
hdc file recv /data/local/tmp/hello.txt C:\test\hello-back.txt

现在可以对 AI 说:

text 复制代码
把 C:/test/hello.txt 推送到设备的 /data/local/tmp/hello.txt,然后再拉回到 C:/test/hello-back.txt 验证

AI 会调用:

text 复制代码
harmony_file_push
harmony_file_pull

这类动作本身不复杂,但很适合交给 AI 串流程,尤其是在调试脚本、复现问题、收集设备文件时。


为什么不直接让 AI 执行 shell

这个问题我在做鸿蒙模块时想了很久。

让 AI 直接执行:

bash 复制代码
hdc install xxx.hap

确实最快,但工程上有几个问题:

  1. HDC 输出不是稳定 API,不同版本和设备可能不一样
  2. 多设备场景下,AI 容易忘记指定 -t
  3. 安装、卸载、文件写入这些动作需要明确风险标记
  4. 原始 stdout/stderr 不利于 AI 后续决策
  5. 很难写可回归的测试

MCP tool 的好处是把这些不稳定性收敛到工具层。

AI 看到的是:

text 复制代码
harmony_install(hapPath, target)
harmony_start(bundleName, abilityName, target)
harmony_log(lines, keyword, target)

工具层负责处理 HDC 路径、命令拼接、超时、错误映射和输出解析。


这次升级里我最重视的一点:HDC 输出样本库

HDC 输出并不是一个严格稳定的 JSON API。

所以项目里新增了一个 fixture 样本库:

text 复制代码
test/fixtures/hdc-outputs/

里面收集各种 HDC stdout/stderr 样本:

text 复制代码
list-targets-empty.txt
list-targets-single-device.txt
list-targets-single-emulator.txt
list-targets-multi.txt
install-success.txt
install-signature-error.txt
install-no-space.txt
uninstall-success.txt
uninstall-not-installed.txt
aa-start-success.txt
aa-start-not-found.txt
hilog-normal.txt
hilog-crash.txt
file-send-success.txt
file-recv-success.txt
error-device-not-found.txt
error-cannot-connect.txt
error-timeout.txt
version.txt

每个样本第一行都会标记来源:

text 复制代码
# source: official-docs
# source: deveco-simulator-3.1
# source: community-issue-123
# source: synthetic

现在有些样本仍然是 synthetic,也就是基于文档和常见输出推测出来的。后续如果有真机或模拟器输出,就可以把它们替换成真实样本。

这样做的目的很明确:不要靠想象写解析逻辑,要用真实输出反向校准工具行为。


测试覆盖

这次鸿蒙模块不是只写了工具注册,还补了几层测试:

测试层 覆盖内容
单元测试 CLI 参数拼接、parseDeviceList、超时和错误映射
MCP 协议测试 8 个工具的注册、入参 schema、契约一致性
Mock E2E 通过 mock-hdc 模拟完整链路
Fixture-driven 测试 基于 test/fixtures/hdc-outputs/ 校准解析逻辑

当前解析层、错误处理层和 MCP 协议层已经有测试覆盖。

除此之外,我还在 DevEco 模拟器上手动跑通了一轮真实链路,已经验证:

  • harmony_ready_check
  • harmony_list_devices
  • harmony_install
  • harmony_start
  • harmony_uninstall
  • harmony_log 底层 hdc shell hilog -x 可用,工具层也已经补了限流和关键词过滤

但我也要把边界说清楚:不同 HarmonyOS 版本、不同 HDC 版本下,输出细节仍可能存在差异,真机样本和社区反馈依然很重要。


常见问题

Q:这个是替代 DevEco Studio 吗?

不是。它是把 HDC 设备操作接入 AI 工作流。开发、构建、签名、调试 UI 仍然依赖 DevEco Studio 和 HarmonyOS SDK。

Q:需要华为账号或密钥吗?

不需要。当前鸿蒙能力只调用本地 HDC,不需要把账号、密钥交给 AI。

Q:支持真机吗?

设计上支持真机和 DevEco 模拟器。真机需要开启开发者模式、USB 调试,并在首次连接时允许调试。

Q:支持多设备吗?

支持。先调用 harmony_list_devices 获取 connectKey,后续工具用 target 指定设备。

Q:会不会误删应用?

harmony_uninstall 被标记为 destructive 工具。支持 MCP 安全提示的客户端会在执行前提示风险。实际使用时也建议明确传入 bundleNametarget

Q:为什么强调需要社区反馈?

因为 HDC 输出可能随设备、系统版本、SDK 版本变化。真实 stdout/stderr 样本越多,解析逻辑越可靠。


推荐 Prompt

装好之后,可以直接复制这些 prompt 试一下:

场景 Prompt
环境检查 "检查一下我的鸿蒙 HDC 环境是否正常"
设备列表 "列出当前连接的鸿蒙真机和模拟器"
安装应用 "把 D:/demo/entry-default-signed.hap 安装到模拟器上"
启动应用 "启动 com.example.demo 的 EntryAbility"
查看日志 "抓取最近 200 行 hilog,只看包含 Error 的日志"
文件推送 "把 C:/test/config.json 推送到设备 /data/local/tmp/config.json"
文件拉取 "把设备 /data/local/tmp/log.txt 拉到 C:/test/log.txt"
完整流程 "检查鸿蒙环境,选择模拟器,安装 HAP,启动 EntryAbility,然后抓最近 100 行日志"

数据

指标 数据
新增鸿蒙工具 8 个
设备操作来源 华为官方 HDC CLI
支持设备 HarmonyOS 真机 / DevEco 模拟器
支持客户端 Cursor / Claude Desktop / Kiro / 任何支持 MCP 的客户端
测试方式 单元测试 / MCP 协议测试 / Mock E2E / Fixture-driven 测试
核心样本目录 test/fixtures/hdc-outputs/

链接

如果你手上有 HarmonyOS 真机或 DevEco 模拟器,欢迎跑一遍 docs/MANUAL_VERIFICATION.md

如果实际 HDC 输出和样本不一致,欢迎把 stdout/stderr 回贡到 fixtures。

这会直接提升这个工具在真实设备上的可靠性。


这次升级之后,harmony-mcp 不再只是小程序 AI 工作流工具,而是在原有基础上开始覆盖鸿蒙设备调试。下一步我会继续补真机样本、错误场景和更多自动化链路。

相关推荐
oort1231 小时前
VLStream 全开源可私有化的AI视频平台 真能解决传统项目的痛点吗? 太实用了
人工智能·开源·音视频
TheSumSt2 小时前
日常教程丨远程串流打游戏方法介绍(Parsec/Tailscale+Headscale+DERP+Sunshine&Moonlight)
linux·网络·经验分享·nginx·开源·玩游戏
Soari2 小时前
GitHub 开源项目解析:EveryInc/compound-engineering-plugin —— 让 AI 编程从“一次性生成”走向“持续复利工程”
人工智能·开源·github·claude code
xixixi777772 小时前
Hugging Face 开源模型供应链安全平台、AI 数据隐私保护法草案发布:AI 安全合规进入技术 + 法律双驱动阶段
大数据·人工智能·安全·ai·开源·大模型·智能体
好好风格2 小时前
微软这个 14 万星工具,把 PDF、PPT、Excel 都变成大模型爱读的 Markdown
人工智能·python·开源
TechWJ2 小时前
被 Intercom Zendesk收费坑过?我用Chatwoot搭了个免费客服站
docker·ai·开源·客服·chatwoot
梦梦代码精2 小时前
功能堆砌不如好扩展:4 款开源商城系统的选型思考
java·docker·uni-app·开源·php
该昵称用户已存在2 小时前
开源即自由:MyEMS 能源管理系统的技术栈解耦与兼容性架构
架构·开源·能源
DO_Community2 小时前
Claude Code 的开源替代方案:用 OpenCode + DigitalOcean 实现模型自由
人工智能·开源·agent·claude·deepseek