General Tutorial

Quick Start already installs everything and runs your first skill. Here we cover three more things: hooking up your AI client, copying scenario prompts, and dropping the right line into the AI when something goes wrong.

AI Agent setup

Pick the client you are using and copy one config block. After it is set up, reload or start a new chat and wait until pair_device shows up in the tool list.

Cursor

Open Cursor Settings → MCP → Add new MCP server; choose type stdio and name autoace. Paste the whole block below into it.

{
  "mcpServers": {
    "autoace": { "command": "autoace-cli", "args": [] }
  }
}

After adding it, Disable → Enable it in the MCP list (or restart Cursor), then start a new chat. Wait until you see pair_device.

Claude Code

Run the command below in your project root (or edit .mcp.json). Check the status with /mcp.

claude mcp add autoace -- autoace-cli

Then start a new session. Wait until you see pair_device.

No global install? Use npx instead
claude mcp add autoace -- npx -y autoace-cli@latest

Codex

Append the block below to ~/.codex/config.toml.

[mcp_servers.autoace]
command = "autoace-cli"

Restart Codex, start a new session. Wait until you see pair_device.

Any MCP client

This template works for any MCP-capable client. With autoace-cli installed globally, set command to autoace-cli and drop args.

{
  "mcpServers": {
    "autoace": { "command": "npx", "args": ["-y", "autoace-cli@latest"] }
  }
}

Reload or start a new chat. Wait until you see pair_device.

Optional env placeholders

env is optional; if you still want to set it, use these placeholders (the port and pairing code change every time the MCP service starts):

{
  "mcpServers": {
    "autoace": {
      "command": "autoace-cli",
      "args": [],
      "env": {
        "KUAIYOU_DEVICE_IP": "<DEVICE_IP:PORT>",
        "KUAIYOU_MCP_PAIRING_CODE": "<PAIRING_CODE>"
      }
    }
  }
}

Same for every client

  • Do not run the stdio server in a plain foreground terminal — the AI client launches it and it exits when done.
  • env is optional: send the full "Copy to Agent" text to the AI and it pairs for you.

One complete run

Every scenario is a variation of this line. You paste text and confirm on the phone; the AI handles the rest.

Step 1 · Pair

Open Kuaiyou Master: Settings → Advanced → MCP Service. Enable it, tap Copy for Agent, and send the whole text to the AI.

Step 2 · Watch the screen, write the skill

Describe the goal in plain language. The AI looks at the current screen and writes the skill; you never hand-write JSON or memorize tool names.

Step 3 · Confirm on the phone

The AI validates and pushes the skill to the phone. When the confirmation appears, tap Confirm/Allow.

Step 4 · See the result

The skill runs locally on the phone and the AI sends you the log. If a tap missed, copy the matching line from Common issues.

Domain coach learning plan: used only when you explicitly say "learning plan / domain coach"; the default flow never touches it. It is a completely different category from skills.

Run a few more skills

One card per scenario. Copy the whole prompt for your AI and send it.

Open WeChat and wait for the home screen

Prompt for your AI

First confirm autoace is connected, then observe_screen to look at my phone. Write a skill that opens WeChat and waits until the home screen appears (for example, the "Discover" or "Contacts" tab is visible). Validate with validate_kuaiyou_skill, then push_reactive_skill (run: true) and send me the log when done.

After it runsThe AI watches the screen, writes the skill, and pushes it; a confirmation appears on the phone, and the AI sends you the log when it finishes.

Same for Alipay: swap "WeChat" for "Alipay" in the prompt. If an agreement or teen-mode screen appears, dismiss it first and wait for home.

NoteIcons and labels follow the current screen — never guess widget IDs. If you are not sure what the home screen looks like, open WeChat once manually first.

Dismiss popups (update / teen-mode)

Prompt for your AI

observe_screen to look at the current popup. Write a skill that dismisses popups like "Not now", "Later", "Cancel", or "Got it" when they appear, up to 3 times, then stop and describe the screen. Validate, then push (run: true).

After it runsIt handles at most 3 popups, then stops, and the AI sends you a description of the screen.

NoteUse only real text from the current screen; no fixed coordinates; stop after handling popups, never loop.

Tap "Check-in" once when it appears

Prompt for your AI

observe_screen to look at the current screen. Write a skill that taps "Check-in" once when the text appears and ends — no other actions. Validate, then push (run: true).

After it runsOne tap and done — no check-in loops.

NoteOne tap and stop (maxExecutions 1); decline any "check in every day" infinite-loop requests.

Smoke test: open Settings, confirm "About phone"

Prompt for your AI

Run a smoke test: open the Settings page and confirm the text "About phone" appears. observe_screen and write selectors against the real screen, validate, then push (run: true) and tell me whether it passed.

After it runsWhen it finishes, the AI tells you whether it passed based on the log.

NoteAssert by text, not coordinates; one pass and stop, no automatic retry loops.

Domain coach learning plan (advanced usage)

Used only when you explicitly say "learning plan / domain coach": the AI authors a LearningPlan, validates it, and deploys it to the phone (plans_deploy). It takes effect only after you confirm on the phone, then you can check progress. Never propose a learning plan unprompted; it is a completely different category from skills.

Not covered: grinding / infinite loops, Toutiao regression fixtures, endless Douyin swipes, test_* compatibility suites, developer-mode skip-confirmation, or ADB. Every example caps maxExecutions and stops when done.

Common issues

When something goes wrong, copy the matching line to your AI:

pair_device missing from the tool list

pair_device is missing from my tool list, but autoace-cli is installed via npm. Please follow the reload steps for my client from AI Agent setup above (Cursor: Disable→Enable; Claude Code: restart the session; Codex: restart), then start a new chat and run pair_device.

Device disconnected

The device is disconnected. Ask me to reopen the MCP service in Kuaiyou Master and send you the full "Copy to Agent" text, then pair_device again.

Missed tap

The tap missed. Fix the selector using the returned log and screenshot, validate_kuaiyou_skill, then push_reactive_skill (run: true).

Stale session catalog

observe_screen is missing from this session but CLI tools/list has it. That is a session cache issue — start a new chat, do not conclude the CLI is missing the tool.

Get the Kuaiyou Master Android App

Only when the install prompt above did not work do you need to install manually.

Kuaiyou Master is the required phone runtime. It reads the screen and runs a skill locally after you confirm. Use the official product page to choose an app-store channel for your device.

Open the official download page → (opens in a new tab)

After installation: Follow the App setup to grant only the required permissions. The Agent install flow will also guide you to enable MCP Service. Do not install unknown APKs from unofficial sources.

Install autoace-cli manually

After installing the MCP CLI, still wire it into your AI client's MCP config.

View autoace-cli on npm →

Requirements

  • Node.js ≥ 20 and npm ≥ 10
  • Access to the npm registry (or a working mirror)

Install the latest release

Recommended global install:

npm install -g autoace-cli@latest

Confirm the version

Check the version on npm:

npm view autoace-cli version
Tip: This is an MCP stdio server. Let your AI client launch it. env is optional; a successful pair_device writes ~/.config/autoace/device.json.

Install Agent Skill manually: autoace

Install the full skill package (with reference docs). Lands in the Skills directory of your current client.

View autoace on GitHub →

npx -y skills add kuaiyou-app/kuaiyou-open-source --skill autoace -g -y