dsh-hdc-bridge:DSH 原生鸿蒙开发助手

前言

在 DSH 里做 HarmonyOS 开发,常见做法是接 MCP 服务器暴露 hdc 能力,或让模型凭记忆回答 API 问题。前者能连设备,但缺少 DSH 原生的工具卡片、截图闭环和会话级沙箱策略;后者在版本差异和离线场景下容易出错。

dsh-hdc-bridge 走另一条路:不重写 hdc 协议,直接复用本机 hdc 二进制(3.x),把设备调试、官方知识层和可选 DevEco CLI 构建通道封装成 DSH 客户端插件。下面介绍它的定位、能力与安装用法。

这是什么

dsh-hdc-bridge 由维护者 1na-ko 发布,分类为客户端插件,当前版本 0.7.3,MIT 许可。GitHub 仓库 14 stars。

一句话定位:DSH 原生鸿蒙开发助手——hdc 设备闭环调试、官方优先版本化知识层(离线 Tier-1 随包 + SDK 机读 + 官方文档检索)、可选官方 DevEco CLI 构建/签名/模拟器控制。

hdc_mcp 等 MCP 服务器的分工是:后者覆盖 hdc 能力层;本插件的价值在 DSH 原生层——会话内工具卡片与 read_image 闭环、按调用会话解析沙箱策略、结构化失败上报,以及 v0.7 起按官方 client 插件形态集成的设备面板。

核心功能

设备闭环调试

插件提供 20 个工具,覆盖从发现设备到验证 UI 的完整链路。约定上,所有工具失败不抛异常,统一返回 { ok: false, error, hint };成功返回带 ok: true 的结果对象。

设备相关工具包括:

工具 说明
hdc_list_targets 列出已连接设备/模拟器
hdc_connect hdc tconn(严格 host:port 校验)
hdc_shell 设备 shell
hdc_screenshot 截图 → 拉取 JPEG → 落盘校验
hdc_install 安装 .hap
hdc_hilog hilog 尾部 N 行
hdc_ui_dump 文本化 UI 快照
hdc_ui_find 按文本/hint 找控件
hdc_ui tap / swipe / input / key 等 UI 操作
hdc_app 应用 query / start / stop / clear-data / uninstall
hdc_crash 崩溃抓取与结构化摘要
hdc_diag hdc 路径、策略解析等诊断

截图默认写入 <workspace>/.dsh-hdc/screenshots/。工具默认使用本会话上次使用的设备;掉线时自动回退首台连接设备。

设备面板

v0.7 起,面板按官方 client 插件形态集成:左侧边栏「鸿蒙」入口,点击后在右上角打开浮动面板(可拖拽、缩放、收起)。面板展示设备列表(型号/API/电池)、一键截图、hilog 尾部、系统区、工具链徽章;主题走官方 --dsw-alias-* token,随深浅色自适应。面板打开时 8s/20s 轮询,关闭后降为 60s 慢轮询。

官方知识层

知识能力分三层:

  1. Tier-1 离线随包hms_knowledge):28 篇 OpenHarmony 官方文档节选(CC-BY-4.0),约 1.7MB,无需 SDK/CLI/网络,支持 catalog / read / search。
  2. SDK 机读hms_api):读本机 SDK .d.ts,按 @since/@deprecated/@syscap 精确到 API 版本分类。
  3. Tier-2 全量文档hms_docs):需本机安装 @deveco/deveco-cli,通过 devecocli docs 检索。

此外还有 hms_api_change(跨版本破坏性变更扫描)、hms_lint(官方 codelinter 规则索引与检查)。

构建、签名与模拟器

hms_build 提供官方构建/签名/运行通道:status / build / run / sign / clean。@deveco/deveco-cli 不随插件安装;未装时自动回退本机 hvigorw + hdc_install + hdc_app 闭环。

hms_emulator 通过 devecocli 控制模拟器:list / start / stop / create / delete,以及 shake / power / rotate / volume / fold / battery / geolocation / sensor / scene 等状态注入。

hms_setup 做环境体检:hdc / DevEco Studio / SDK / devecocli / 设备五项,并解析目标 API 版本三源(项目→设备→SDK)不一致告警。

安装、应用、构建失败时,插件对 11 条已知错误码附中文修复建议(如 9568332 签名未绑 UDID、1300002 空间不足)。

运行时技能

插件附带三个运行时技能,模型按需加载:

  • hdc-bridge:设备闭环用法
  • deveco-cli:官方 SKILL.md 改写(MIT 声明保留)
  • harmonyos-knowledge:知识层纪律(官方优先、版本化、许可合规)

安装与启用

本包零 npm 依赖,纯 JS、无构建步骤。安装命令如下:

# npm 安装
dsh plugin --profile <name> add dsh-hdc-bridge

# 或直接从 GitHub 安装
dsh plugin --profile <name> add github:1na-ko/dsh-hdc-bridge

验证组合层并启动:

dsh --profile <name> --dump-config   # 确认出现 dsh-hdc-bridge 层
dsh --profile <name>

环境要求

  • HarmonyOS 设备或模拟器;真机需开发者模式 + USB 调试。
  • hdc 二进制自动探测:DevEco Studio 常见 SDK 路径 → PATH。
  • 截图查看需图像输入模型;纯文本模型可用 hdc_ui_dump 做文本化 UI 检查。
  • 可选后端 @deveco/deveco-cli 需自行 npm i -g @deveco/deveco-cli(DevEco Studio ≥ 6.1.0,macOS/Windows,Node ≥ 18);签名前需一次 devecocli auth login
  • hms_knowledge 的 Tier-1 知识随包内置,离线可用。

典型用法

设备调试闭环

  1. hdc_list_targets 确认设备在线。
  2. hdc_screenshot 截图,配合 read_image 查看界面。
  3. hdc_ui_dump 获取布局文本,或 hdc_ui_find 定位控件坐标。
  4. hdc_ui 执行 tap / input 等操作,再 dump 验证。
  5. hdc_install 装包,hdc_app 启动应用,hdc_hilog 看日志。

查 API 与文档

无网络或未装 DevEco CLI 时,先用 hms_knowledge 的 catalog 列目录,再 read 按小节读取。装了 Studio 后,用 hms_api 读本机 SDK 声明;装了 devecocli 后,用 hms_docs 检索全量官方文档。

构建与运行

# 模型侧调用 hms_build
# status → build → run
# devecocli 缺失时自动走 hvigorw 降级路径

适用场景与注意

适合谁:

  • 在 DSH 里做 HarmonyOS / OpenHarmony 应用开发的智能体用户。
  • 需要设备截图、UI 操作、装包验证闭环,又不想自建 MCP 桥接的人。
  • 希望离线查阅官方 API 节选,或按需读本机 SDK 声明的开发者。

注意事项:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
  • snapshot_display 仅支持 .jpeg(API 10+)。
  • 真机安装需签名 profile 绑定设备 UDID,否则报 9568332
  • hdc 客户端对远端失败可能仍返回退出码 0,插件以输出标记 + 落盘校验兜底。
  • UI 输入实战经验:混合字符串注入时 IME 模式切换可能吞字符,建议分段输入 + dump 校验;软键盘会改变布局,每次操作前用最新坐标。
  • devecocli 的 build/run/sign 在受限沙箱中可能报 EPERM,需按指引在沙箱外执行。
  • macOS 实机验证尚在路线图中,尚未完成。

可选知识搭配:社区包 harmony-next.skills 不随包,用户自行 npx skills add linhay/harmony-next.skills

链接

社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。DSH 生态理念是「一切皆插件」,dsh-hdc-bridge 把鸿蒙开发的设备层、知识层和构建层收进一个客户端插件,适合在 DSH 会话里直接跑通「看设备 → 改码 → 装包 → 验证」的闭环。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜