← 返回 Skills 市场
duoplusofficial

Duoplus Agent

作者 DuoPlus Cloud Phone · GitHub ↗ · v1.0.11 · MIT-0
cross-platform ✓ 安全检测通过
595
总下载
2
收藏
1
当前安装
12
版本数
在 OpenClaw 中安装
/install duoplus-agent
功能描述
Control Android cloud phones via ADB broadcast commands - tap, swipe, type, screenshot, read UI elements. Requires DuoPlus CloudPhone service running on the...
使用说明 (SKILL.md)

DuoPlus CloudPhone Agent

Control and automate DuoPlus cloud phones using ADB broadcast commands.

For more information, visit DuoPlus Official Website.

Connecting Devices

Wireless Connection

adb connect \x3CIP>:\x3CPORT>
adb devices -l

All subsequent commands use -s \x3CDEVICE_ID> to target a specific device.

Common Workflows

Launching an App

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

Analyzing the UI

Dump and pull the UI hierarchy to find element coordinates and attributes:

adb -s \x3CDEVICE_ID> shell uiautomator dump /sdcard/view.xml && adb -s \x3CDEVICE_ID> pull /sdcard/view.xml ./view.xml

Then grep for text or resource IDs to find bounds="[x1,y1][x2,y2]".

Interacting with Elements

All interactions are sent via the helper script as JSON commands:

  • Tap coordinate: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"CLICK_COORDINATE","params":{"x":500,"y":500}}'
  • Tap element by text: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"CLICK_ELEMENT","params":{"text":"Login"}}'
    • Optional params: resource_id, class_name, content_desc, element_order (0-based index)
  • Long press: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"LONG_COORDINATE","params":{"x":500,"y":500,"duration":1000}}'
  • Double tap: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"DOUBLE_TAP_COORDINATE","params":{"x":500,"y":500}}'
  • Type text: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"INPUT_CONTENT","params":{"content":"Hello","clear_first":true}}'
    • Must tap the input field first to focus it
  • Keyboard key: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"KEYBOARD_OPERATION","params":{"key":"enter"}}'
    • Supported keys: enter, delete, tab, escape, space
  • Swipe: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"SLIDE_PAGE","params":{"direction":"up","start_x":487,"start_y":753,"end_x":512,"end_y":289}}'
    • direction: up/down/left/right (required). Coordinates are optional.
  • Home: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"GO_TO_HOME","params":{}}'
  • Back: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"PAGE_BACK","params":{}}'
  • Wait: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"WAIT_TIME","params":{"wait_time":3000}}'
  • Wait for element: scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"WAIT_FOR_SELECTOR","params":{"text":"Loading complete","timeout":10000}}'
  • End task (only when stuck): scripts/send_command.sh \x3CDEVICE_ID> '{"action_name":"END_TASK","params":{"success":false,"message":"reason"}}'

All action commands are fire-and-forget — they do NOT return results. Take a screenshot after each action to verify.

Visual Verification

Take a screenshot, compress with cwebp, and pull to local for analysis:

# Take screenshot on device
adb -s \x3CDEVICE_ID> shell screencap -p /sdcard/screen.png

# Pull to local
adb -s \x3CDEVICE_ID> pull /sdcard/screen.png ./screen.png

# Compress to WebP for smaller file size (optional, recommended for vision model)
cwebp -q 60 -resize 540 0 ./screen.png -o ./screen.webp

If cwebp is not available, use the PNG directly.

How Commands Work (Internal)

Commands are sent as Base64-encoded JSON via ADB broadcast. The helper script scripts/send_command.sh handles this automatically:

# Usage: scripts/send_command.sh \x3CDEVICE_ID> \x3CACTION_JSON>
scripts/send_command.sh 192.168.1.100:5555 '{"action_name":"CLICK_ELEMENT","params":{"text":"Login"}}'

The script builds the full payload (task_type, task_id, md5, etc.), Base64-encodes it, and sends via:

adb -s \x3CDEVICE_ID> shell am broadcast -a com.duoplus.service.PROCESS_DATA --es message "\x3CBASE64>"

Typical Workflow

1. Analyze UI    → uiautomator dump to find elements, or screenshot for visual analysis
2. Execute action → send_command.sh with the appropriate action JSON
3. Wait 1-3s     → Let the action take effect
4. Verify        → Screenshot + cwebp compress, or uiautomator dump again
5. Repeat 2-4 until all requested steps are completed

Tips

  • Coordinates: The coordinate system is 0-1000 relative (top-left=0,0, bottom-right=1000,1000), NOT pixels.
  • Element matching: Use CLICK_ELEMENT (by text) when possible; fall back to CLICK_COORDINATE when text matching fails.
  • Input: Must tap the input field first (CLICK_COORDINATE or CLICK_ELEMENT) to focus, then INPUT_CONTENT.
  • Submit: After typing, use KEYBOARD_OPERATION(key="enter") to submit.
  • Wait: Use sleep 1-3 between commands to allow the UI to update. Do NOT use shell sleep on the device.
  • Swipe coordinates: Must use irregular integers, avoid round numbers (500, 800). Vary coordinates between consecutive swipes.
安全使用建议
This skill appears to do what it says: control Android devices via adb broadcasts. Before installing, ensure you trust the devices and network you will target (adb over TCP can expose device control to your network). Verify you trust the skill author (no homepage/source provided) and inspect the included script (it is small and local). Be aware screenshots and UI dumps pulled from devices may contain sensitive information—avoid sending them to external services unless you intend to. If you plan to use adb over Wi‑Fi, secure it (or prefer USB) and confirm the device-side package com.duoplus.service is expected on your devices.
功能分析
Type: OpenClaw Skill Name: duoplus-agent Version: 1.0.11 The skill is a legitimate tool for controlling Android cloud phones via ADB. The core logic in `scripts/send_command.sh` includes security best practices such as regex validation for device IDs and using Python environment variables to safely handle JSON input, which prevents shell injection. No evidence of data exfiltration, unauthorized remote execution, or malicious prompt injection was found.
能力评估
Purpose & Capability
Name/description match the behavior: the skill sends ADB broadcasts to a device-side DuoPlus service and uses adb/uiautomator/screencap which are necessary for the claimed capabilities. Required binaries (adb, cwebp) are appropriate.
Instruction Scope
SKILL.md instructs only device-targeted actions (uiautomator dumps, screencap, adb broadcast). It does not direct the agent to read unrelated host files, environment secrets, or contact external endpoints. The helper script limits its scope to local ADB operations.
Install Mechanism
Instruction-only skill (no install spec). The included helper script is small and runs locally; there are no downloads or archive extraction steps. Low install risk.
Credentials
The skill requests no environment variables, credentials, or config paths. That is proportional for an ADB-based device controller. It does rely on adb connectivity (which implies network/device access) but that is expected.
Persistence & Privilege
always is false and the skill does not request persistent platform privileges or modify other skills. Autonomous invocation is allowed by default but is not combined here with broad credentials or persistent presence.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install duoplus-agent
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /duoplus-agent 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.11
- Update to version 1.0.11 with documentation-only changes. - README.md updated with no feature or code changes.
v1.0.10
No code or documentation changes detected in this release. - Version updated to 1.0.10 with no file modifications. - No new features, bugfixes, or documentation updates included.
v1.0.9
**1.0.9 Summary:** This update restructures documentation, adds UI analysis via uiautomator, and introduces cwebp compression as a requirement. - Restructured SKILL.md for improved clarity and updated workflows. - Added requirement and usage instructions for cwebp image compression. - Replaced device capability/environment checks with direct uiautomator for UI XML extraction and analysis. - Removed reference to scripts/check_env.sh. - Updated command examples and documentation to reflect new best practices.
v1.0.8
- Bumped version from 1.0.0 to 1.0.8. - Changelog updated to indicate a change in send_command.sh. - No code or documentation content changes detected beyond version and changelog metadata.
v1.0.7
Initial release of duoplus-agent, enabling remote control of Android cloud phones through ADB broadcast commands. - Supports actions like tap, swipe, type, take screenshots, and read UI elements on DuoPlus cloud phones (Service version >= 2.0.0 required). - Provides both fire-and-forget actions (e.g., clicks, navigation) and query commands (e.g., get UI state with screenshot and elements). - Includes helper scripts (e.g., send_command.sh, check_env.sh) for device environment validation and streamlined command sending. - Detailed documentation on available actions, command formats, and typical usage workflow included in SKILL.md.
v1.0.6
add check env
v1.0.5
Update SKILL.md
v1.0.4
- Added a new metadata file: _meta.json. - No user-facing changes to core functionality or documentation. - Version number remains at 1.0.0 in SKILL.md; version bump is for packaging/metadata purposes.
v1.0.3
Update SKILL.md
v1.0.2
- Improved documentation for response model: clarified that most action commands are "fire-and-forget" (no return value) and only get_ui_state and PAGE_SCREENSHOT provide synchronous responses. - Added detailed descriptions of expected responses for get_ui_state and PAGE_SCREENSHOT, including their response fields. - Provided a step-by-step "Typical Workflow" section for interacting with cloud phones. - Updated best practices and usage guidance to reflect the new response model and encourage verifying the result of every action with get_ui_state. - Removed the _meta.json file.
v1.0.1
- Added _meta.json file to provide additional metadata for the skill. - No user-facing functionality changes.
v1.0.0
v1.0.0 — Initial Release • Initial integration with OpenClaw API • Multi-device control and task automation • Secure execution via AI commands
元数据
Slug duoplus-agent
版本 1.0.11
许可证 MIT-0
累计安装 3
当前安装数 1
历史版本数 12
常见问题

Duoplus Agent 是什么?

Control Android cloud phones via ADB broadcast commands - tap, swipe, type, screenshot, read UI elements. Requires DuoPlus CloudPhone service running on the... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 595 次。

如何安装 Duoplus Agent?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install duoplus-agent」即可一键安装,无需额外配置。

Duoplus Agent 是免费的吗?

是的,Duoplus Agent 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Duoplus Agent 支持哪些平台?

Duoplus Agent 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Duoplus Agent?

由 DuoPlus Cloud Phone(@duoplusofficial)开发并维护,当前版本 v1.0.11。

💬 留言讨论