Pull Request已成功合入, 合并人@Wang Xing
(感谢 lushi871202 的贡献)中:这里用 PowerShell 的 ; 串联 file send 和 bm install,但没有检查前一个原生命令的退出码。若发送失败而设备目录残留旧的 demo.hap,后续安装仍可能成功,SSH 最终也只反映末尾命令状态,从而拿旧产物生成假阳性的自验证证据;截图、dump 等组合命令也有同类风险。
建议为每个 hdc 调用检查 $LASTEXITCODE 并立即退出,或拆成独立调用;同时为每次验证创建唯一目录并在使用前确认不存在旧产物。


中:环境参数直到这里才检查,但脚本此前已经可能安装 OpenSSH、启动并设为自启动、修改防火墙以及生成密钥。用户直接运行未编辑的模板时,脚本会先永久修改 Windows 主机,最后才因 CHANGE_ME 退出。
建议把所有必填参数和工具路径校验移动到管理员检查之后、任何系统副作用之前;校验失败时直接退出,并在每个安装/服务/防火墙命令后验证结果。


中:show_status 无条件输出“Linux 端配置完成”,而普通用户分支在 sshd 缺失、服务未启动或转发被禁用时只打印 warning,随后仍调用这里并以 0 退出;root 分支的防火墙错误也被 || true 吞掉。这与 eval 中“前置条件不满足应标记 blocked”的契约相反,会让调用方把未就绪环境误判为成功。
建议累计前置检查结果,存在 blocker 时输出“检查未通过”并返回非零;只有实际验证 sshd、目标监听和转发条件后才输出完成状态。


中:流程前面要求记录原文件元数据,但覆盖系统库后固定执行 chmod 755,没有恢复或核对原 owner、mode 和安全标签。对 /system/lib64 等路径,这既可能改变权限策略,也可能因 owner/SELinux context 不匹配导致目标进程无法按原方式加载。
建议把新文件先推到临时目录,读取并保存原文件的 mode/owner/context,再以设备支持的方式原子替换并恢复这些属性;替换后逐项比较,失败时执行已记录的回滚方案。


中:该技能被声明为 domain/arkui,但正文明确说它只负责 Linux→Windows reverse SSH transport 和 Windows-side HDC 可达性,所有步骤都与 ArkUI 无关。按仓库放置规范,跨领域的工具/流程能力应放在 common;当前归类会让其他子系统无法自然触发,并诱发重复技能。
建议将其迁到 skills/common/development/,使用通用 HDC 主题名(例如 ohos-dev-hdc-reverse-ssh-setup),同步更新 metadata、网站 YAML、README 和依赖引用。


低:这里设置的是 HDC_SERVER_PORT,但本 PR 指定为 source of truth 的 ohos-dev-hdc-command-usage 记录的变量名是 OHOS_HDC_SERVER_PORT。按当前示例执行不会把本地客户端指向 SSH 转发端口,还可能因 8710 已被隧道占用而启动本地 server 失败。
建议改用 OHOS_HDC_SERVER_PORT 并补一个命令级验证;如果该直连路径确实版本敏感且正文要求始终通过 Windows SSH 执行 HDC,则直接删除这段实验入口和第二条 HDC 端口转发更一致。


已按 6 条检视意见完成更新:PowerShell HDC fail-fast、唯一运行目录与新鲜证据、Windows validate-before-mutate、Linux blocker 非零退出、native 属性保留/原子替换/回滚、Reverse SSH skill 迁移 common 并删除 HDC 8710 转发。静态验证通过;真机验证仍因环境缺失未执行。


start build


首次触发
门禁构建开始,包含代码编译【skills_check编译】,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/6a59ed5e64650f998b0b8702/runlist


代码门禁未通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6a59ed5e64650f998b0b8702/runlist
| # | Device | build result | package |
|---|---|---|---|
| 1 | skills_check | failed(trigger pipeline timeout) | >>> |


start build


部分构建失败,仅触发失败构建
门禁构建开始,包含代码编译【skills_check编译】,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/6a5a010a64650f998b12fa37/runlist


代码门禁通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6a5a010a64650f998b12fa37/runlist
| # | Device | build result | package |
|---|---|---|---|
| 1 | skills_check | success | >>> |


代码有更新,重置PR验证状态


已按检视意见补充端到端中断恢复能力并更新提交至 8ff11b2:
- reverse SSH listener 消失时提示检查 Windows setup 脚本配置及进程状态;
- Windows 脚本识别
[Empty]、Unauthorized、Offline,并将无限重连改为最多 5 次; - HDC 异常时提示检查供电、启动状态、USB 调试、数据线、直连端口、驱动和授权;
- USB 枚举正常但 daemon 异常时检查正确 board/product/variant 镜像、HDC daemon 和 SDK/image 兼容性;
- 中断后停止 mutation、保留证据、重新验证同一 target,并使用新
RUN_ID; - 重新刷机前要求用户明确确认;
- eval 更新为 E2E 6 个、Reverse SSH 7 个。
未提交 .codespec;当前无 Windows/HDC/USB 真机,未声明真机验证通过。


start build


本地或库上代码有更新,全量重新构建,重置所有关联PR的验证状态
门禁构建开始,包含代码编译【skills_check编译】,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/6a5ee98d64650f998b4d21c8/runlist


代码门禁通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6a5ee98d64650f998b4d21c8/runlist
| # | Device | build result | package |
|---|---|---|---|
| 1 | skills_check | success | >>> |


关联的 issue
https://gitcode.com/openharmonyinsight/openharmony-skills/issues/84
背景
新增 ArkUI/ACE Engine 设备端端到端自验证能力,并沉淀可跨领域复用的 Linux→Windows USB HDC 通道 skill。本 PR 面向
release分支。新增与检视优化
ohos-dev-hdc-reverse-ssh-setupdomain/arkui迁移到common/development,使用通用 HDC 主题名。[Empty]、Unauthorized、Offline和 Connected 数量;反向 SSH 最多重连 5 次,失败后返回非零并打印配置/运行排查项。reverse_ssh_windows_setup.bat配置及进程是否仍在运行。GatewayPorts,不开放 HDC 或 reverse listener 防火墙端口。ohos-dev-arkui-hdc-demo-device-self-verifyohos-dev-hdc-command-usage的目标选择、连接排障、安装、文件和系统写规则。$LASTEXITCODE,前一步失败立即停止。RUN_ID和独立 Windows/设备目录,截图、layout 和 HAP 均要求本轮新生成,避免陈旧证据假通过。chmod 755。RUN_ID。结构化 eval
[Empty]和错误镜像/HDC daemon。验证
quick_validate.py。--check路径通过。Skill-Judge 基线
2026-07-15 修复前静态评分:E2E 93/120(C),Reverse SSH 86/120(C)。本轮已针对评分和检视中指出的 fail-fast、证据新鲜度、脚本 fail-closed、拓扑安全及中断恢复问题优化;未在没有完整评测环境时声明新的分数。
评分依据:https://github.com/softaworks/agent-toolkit/blob/main/skills/skill-judge/README.md
说明
未提交
.codespec。未执行真实设备验证;当前环境没有 Windows HDC 主机和 USB 连接的 OpenHarmony 设备。