跳到正文
FunCoding

control

Automatically control locally connected Android phones with OpenGUI screenshots and allowlisted actions whenever a request targets a phone, Android app, mobile game, or multiple devices. The user does not need to name OpenGUI. Use the native Codex Browser instead for browser-only work.

Star
1,815
最近提交
2026年10月11日

deepseek-harness-plugin/skills/control/SKILL.md

在 GitHub 上查看

OpenGUI Control

Use the OpenGUI MCP tools when they are available. In a public Skills-only installation, resolve the plugin root as two directories above this file and invoke node <plugin-root>/lib/codex-cli.js <interface> '<json>' instead. The CLI returns screenshot files under its private state directory; inspect those files with the available image viewer. Never bypass this adapter with raw adb shell commands.

Route the task

  • Route by intent, not invocation syntax. Ordinary requests such as opening an app, testing a phone UI, or claiming a game reward activate this Skill without $control, OpenGUI, or a special command.
  • Treat an explicit Android phone, mobile app, or mobile game target as an OpenGUI task.
  • If OpenGUI is unavailable, report its device, session, or adapter error. Do not silently fall back to Bash, shell, raw ADB, or another phone-control path.
  • Use the native Codex Browser for a website, URL, web app, or browser-only target.
  • Split a mixed phone-and-browser request into the smallest necessary phone actions and native Browser work.

Phone loop

  1. Call opengui_list_devices. Explain USB authorization or connection errors rather than guessing.
  2. Call opengui_open_session with one to four selected device ids. Omit ids only when exactly one authorized phone is connected.
  3. Call opengui_observe before the first mutation. Treat the returned screenshot pixels as the only valid coordinate space.
  4. Perform exactly one opengui_act at a time with the newest observationId, then inspect the returned observation. Use tight target bounds for taps. Use wait only for visible loading.
  5. Open the returned deviceWallUrl in the native Codex Browser when the user asks to monitor devices or when a multi-device wall helps.
  6. Always call opengui_close_session after success. Call opengui_cancel immediately when the user asks to stop or when continuing would be unsafe.

For a multi-device session, pass deviceId on every observation and action. Devices are frozen for the session; never substitute a newly connected phone after a disconnect. Stop on stale-observation, repeated-no-progress, operation-limit, authorization, or disconnection errors.

External side effects

Before the action that sends a message, publishes content, purchases anything, or deletes data, show the user the current target and intended effect and ask for immediate confirmation. Set externalSideEffect to send, publish, purchase, or delete on that action. The MCP transport performs a second local confirmation. For the Skills-only CLI fallback, set confirmedExternalSideEffect: true only after the user explicitly confirms in the current conversation. Never infer confirmation from the original task wording when the final target or content was not yet visible.

相似的 Skill

test-driven-development

OBobra/superpowers298k近 7 天新增 2,631 个 star

migrate-to-shoehorn

MAmattpocock/skills288k近 7 天新增 10,178 个 star

agent-runtime-gateway-smoke-test

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

精选

accessibility

审计 Web、iOS、Android 的无障碍合规,支持键盘导航与屏幕阅读器。

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

ai-regression-testing

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

官方

firecrawl-build-interact

FIfirecrawl/firecrawl191k近 7 天新增 2,010 个 star