duoplus-agent:让 Agent 通过 ADB 广播操作 DuoPlus 云手机

前言

要在云手机或远程 Android 上跑自动化,常见做法是本地写 Appium、Maestro 脚本,或自己拼 adb shell input 与截图拉取。设备在机房、界面在云端时,Agent 往往缺少一套「可复述、可校验」的操作约定。

下面介绍的 duoplus-agent 是 SkillHub 上的社区 Skill(坐标 @user_1df07c13/duoplus-agent,分类 ai-agent)。它把点击、滑动、输入、截图与 UI 层级分析整理成固定工作流,底层通过 ADB 广播把 JSON 指令交给设备上的 DuoPlus CloudPhone 服务执行。页面标注 requires_api_key=false,不依赖额外 API Key。

这是什么

duoplus-agent(展示名 DuoPlus CloudPhone Agent)由社区用户 user_1df07c13 发布,当前 SkillHub 页面版本为 v1.0.0,来源为 community。

一句话定位:在已安装 adb、且目标设备运行 DuoPlus CloudPhone 相关系统服务 的前提下,让编码 Agent 按 Skill 文档连接设备、下发操作、用截图或 uiautomator 做校验。

官方 Skill 页与 API 入口:

  • 展示页:https://www.skillhub.cn/skills/user_1df07c13/duoplus-agent
  • API:https://api.skillhub.cn/user_1df07c13/duoplus-agent

核心功能

以下能力均来自 Skill 包内 SKILL.md 与辅助脚本 scripts/send_command.sh 的说明。

设备连接

无线连接后,后续命令用 -s <DEVICE_ID> 指定设备:

adb connect <IP>:<PORT>
adb devices -l

通过 JSON 动作控制界面

Skill 提供 scripts/send_command.sh,将 action_name 与 params 封装为完整 payload,Base64 编码后发送广播:

adb -s <DEVICE_ID> shell am broadcast -a com.duoplus.service.PROCESS_DATA --es message "<BASE64>"

文档中列出的动作包括但不限于:

类型 action_name 示例 说明
启动应用 OPEN_APP 需 package_name
点击 CLICK_COORDINATE、CLICK_ELEMENT 坐标或按文本等元素属性匹配
手势 LONG_COORDINATE、DOUBLE_TAP_COORDINATE、SLIDE_PAGE 含方向与起止坐标
输入 INPUT_CONTENT、KEYBOARD_OPERATION 输入前需先聚焦输入框;支持 enter/delete 等键
导航 GO_TO_HOME、PAGE_BACK 系统级返回与桌面
等待 WAIT_TIME、WAIT_FOR_SELECTOR 固定延时或等待元素出现
结束 END_TASK 文档建议在卡住时使用

文档强调:动作类命令为 fire-and-forget,不返回执行结果,应在每步操作后用截图或 UI dump 验证。

UI 分析与截图

  • 层级:uiautomator dump 拉取 view.xml,按文本或 resource-id 查 bounds 定位元素。
  • 视觉:screencap 拉取 PNG,可选 cwebp 压缩为 WebP 再交给视觉模型分析。

Skill 元数据要求本机具备 adb 与 cwebp(无 cwebp 时可直接使用 PNG)。

推荐循环

文档给出的典型循环为:分析 UI → send_command.sh 执行 → 本地 sleep 1–3 秒 → 截图或再次 dump → 重复直至完成。

坐标系为 0–1000 相对坐标(非像素);滑动时建议使用非整数的起止坐标。

安装与启用

1. 安装 SkillHub CLI(若尚未安装)

按 https://skillhub.cn/install/skillhub.md 检查并安装:

command -v skillhub && skillhub --version

未安装时可执行:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

2. 安装 duoplus-agent

安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别:

skillhub install @user_1df07c13/duoplus-agent --dir <你的 skills 目录>

常见路径(同官方安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

也可按 SkillHub 页面提示,让 Agent 阅读 https://skillhub.cn/install/skillhub.md 后安装 @user_1df07c13/duoplus-agent。

Skill 包内 README 另写了 ClawHub 坐标 duoplus/duoplus-agent 与本地复制到 OpenClaw skills 目录的方式;若你使用 OpenClaw 系客户端,可按 README 选用。

安装后需重启或刷新 Agent,使其加载新 Skill。

典型用法

下列示例路径相对于 Skill 安装目录,与官方 SKILL.md 一致。

启动微信(示例包名):

scripts/send_command.sh <DEVICE_ID> '{"action_name":"OPEN_APP","params":{"package_name":"com.tencent.mm"}}'

按文本点击「Login」:

scripts/send_command.sh <DEVICE_ID> '{"action_name":"CLICK_ELEMENT","params":{"text":"Login"}}'

输入前先聚焦,再清空并输入:

scripts/send_command.sh <DEVICE_ID> '{"action_name":"CLICK_ELEMENT","params":{"text":"用户名"}}'
scripts/send_command.sh <DEVICE_ID> '{"action_name":"INPUT_CONTENT","params":{"content":"Hello","clear_first":true}}'
scripts/send_command.sh <DEVICE_ID> '{"action_name":"KEYBOARD_OPERATION","params":{"key":"enter"}}'

拉取 UI 层级定位元素:

adb -s <DEVICE_ID> shell uiautomator dump /sdcard/view.xml && adb -s <DEVICE_ID> pull /sdcard/view.xml ./view.xml

截图并可选压缩:

adb -s <DEVICE_ID> shell screencap -p /sdcard/screen.png
adb -s <DEVICE_ID> pull /sdcard/screen.png ./screen.png
cwebp -q 60 -resize 540 0 ./screen.png -o ./screen.webp

对 Agent 的自然语言任务(Skill README 中的示例)可以是:「连接 192.168.1.100:5555 并打开微信」「在设备上截取当前屏幕」「点击 Login 按钮」。Agent 应按 Skill 约束选择上述脚本与 ADB 命令,而不是臆造未文档化的接口。

适用场景与注意

适合谁

  • 已使用或计划使用 DuoPlus 云手机,希望把「点按、滑动、填表、截图验收」交给 Cursor / Claude Code / Codex 等 Agent 编排的场景。
  • 能接受 逐步截图或 dump 验证 的自动化(因广播命令不返回执行结果)。

限制与前提

  • 设备端须运行 DuoPlus 相关服务;广播 Action 为 com.duoplus.service.PROCESS_DATA。
  • 依赖本机 adb 可达目标 DEVICE_ID;无线场景需先 adb connect。
  • Skill 面向 Agent 的操作说明,不是独立 SaaS;云手机账号、实例与网络由 DuoPlus 侧自行开通与维护。
  • 社区来源 Skill,接入生产前建议在隔离实例上试跑完整流程。

SkillHub 当前统计(以抓取资料为准):评分 100000,下载 2711,安装 33。

结尾

duoplus-agent 把 DuoPlus 云手机的操控收敛为「ADB 连接 + send_command.sh JSON 动作 + 截图/UI dump 校验」的固定套路,便于 Agent 在对话中复现步骤。若你要在 Agent 里控制 DuoPlus 云手机,可从官方 Skill 页安装并阅读包内 SKILL.md:

https://www.skillhub.cn/skills/user_1df07c13/duoplus-agent

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

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

小夜