A multimodal vision engine that replaces brittle selectors—driving browsers, native apps, desktops, and games through pixels, reaching what DOM-based frameworks like Playwright and Selenium cannot. Three ways in: ship it as a Skill any AI agent (Claude Code, Cursor, and others) can load, letting the agent write and run the script from a natural-language task; call the Python SDK directly from your own Python project; or use the CLI to run a natural-language task with a single command, no code required.
Qirabot reads the screen, decides, and acts on its own in each scenario—no selectors, no scripted rules.
On a real iPhone, creates a character in Fantasy Westward Journey — a top-grossing NetEase MMORPG — and completes the entire new-player flow: dialogues, quests, battles, leveling to 15 with no human input. Capped at 200 steps, not by ability. Recording at 3× speed.
On a real iPhone, creates a character in AFK Journey — Lilith’s flagship RPG — clears the guided tutorial, and pushes main-story quests in the open world: dialogues, gacha pulls, speed auto-battles, auto-pathing, all AI-decided. After a lost fight it levels its heroes and retries. Zero human input. Recording at 3× speed.
Reads the pieces on the Royal Match board, identifies matches by color and shape, drags adjacent pieces to swap and form three-in-a-row clears, and reasons step by step to clear Level 2.
Six points that set Qirabot apart from traditional automation.
Loaded as a Skill into any AI agent (Claude Code, Cursor, and others); the agent calls Qirabot from natural-language tasks to drive the device.
No XPath, no CSS selectors, no scripted rules. The vision engine reads on-screen text, buttons, and elements, converting natural-language descriptions into pixel coordinates; locators adjust when the screen changes.
Replace element-exists assertions with bot.verify("the cart shows 1 item"). Pull structured data straight from the screen with bot.extract()—no parsing logic.
A single REST API drives the Chrome browser, Android, iOS, and desktop environments.
No persistent connections. The script is the client—each step makes an outbound call to pull a decision; firewall-friendly. Automation code and data stay in your environment; only screenshots are uploaded.
Already running Playwright, Selenium, Appium, or Airtest? Pass the page or driver to Qirabot to inject AI steps into your existing suite—no tool switch, no rewrites.
Both call styles share the same underlying phases; the only difference is whether reasoning is needed.
Model reasoning + multi-step loop until the task is done
Capture
The client captures the current screen and sends it to the server as reasoning input.
Reason
The server combines the task, action history, and screenshot to reason out the next action.
Locate
The vision engine identifies the target element and converts it into pixel coordinates.
Execute
The client performs the corresponding action at those coordinates (click, type, gesture, etc.).
Loops back to step ① until the task is done.
The action is specified by the caller; execute once and return
Capture
The client captures the current screen as input for localization.
Locate
The vision engine identifies the target element from a natural-language description and converts it into pixel coordinates.
Execute
The client performs the caller's specified action at those coordinates.
Run natural-language tasks with a single shell command—no code required—or call the SDK from your own Python scripts, pytest suites, or CI pipelines. Either way, you can bolt onto an existing Playwright / Selenium / Appium / Airtest session, keeping your existing selectors and driver code while injecting AI steps where they matter.
Four subcommands—browser / android / ios / desktop—run natural-language tasks on the matching target: browser supports headless mode and CDP attachment to a running Chrome; Android and iOS real devices are driven directly over adb / WDA. qirabot doctor checks your environment in one step; every run writes an HTML report with annotated screenshots, and --record captures a video—ready for quick validation and CI.
Read the SDK & CLI Guide# Install the CLIcurl -LsSf https://qirabot.com/install | sh # One command, one natural-language task — no code, no selectorsqirabot browser "Open GitHub Trending and extract today's top repositories" # Android / iOS real devices: the same one-liner, direct over adb / WDAqirabot android "Open Settings and enable dark mode"qirabot ios "Clear the daily quests" --bundle-id com.example.game # Every run writes an HTML report with annotated screenshots;# --record also captures a video of the runqirabot browser "Smoke-test the checkout flow" --record --max-steps 30Qirabot ships as a Skill that any AI agent (Claude Code, Cursor, and others) can load—giving it the ability to write scripts and drive browsers, native apps, desktops, and games from a natural-language task.
In Claude Code, run:
/plugin install qirabot@qirabotOther agents: copy the entire skills/qirabot/ directory into their skill path.
Describe the goal in natural language, e.g.:
The agent generates a Python script from SKILL.md and REFERENCE.md, drives the device through Qirabot, and returns a structured result.
# Authored by the agent — Qirabot wraps Playwright / Appium / Airtestfrom qirabot import Qirabot bot = Qirabot()page = bot.open("https://admin.example.com")result = bot.ai(page, "Export this month’s orders as CSV")print(result.output)The skill lives at sdk/python/plugins/qirabot/skills/qirabot/, bundling SKILL.md (when and how the agent should invoke it), REFERENCE.md (API summary), and three starter templates (browser / android / bolt-on). bot.ai() is the default entry—a single instruction can drive a full multi-step task.
No recurring subscription. Refill credits when you need them; each call is billed by actual consumption.
Pick a tier when creating a task; usage is billed per token, priced in credits. Per-step estimates below assume a typical step ≈ 3,200 input + 100 output tokens + 1 vision call
Fastest and lowest cost—minimal reasoning, best for simple, high-volume steps.
credits / 1M tokens
Per typical step
≈ 0.22 credits($0.0022)
A solid balance of quality and cost for everyday automation.
credits / 1M tokens
Per typical step
≈ 0.41 credits($0.0041)
More reasoning for demanding tasks that need extra accuracy.
credits / 1M tokens
Per typical step
≈ 1.17 credits($0.0117)
Top quality with extended thinking for the most complex tasks.
credits / 1M tokens
Per typical step
≈ 1.55 credits($0.0155)
500 free credits for new users on signup.
Top up credits at any amount in the console; refill anytime.
Each call is billed by actual consumption: LLM tokens + vision call unit price, calculated to the fraction. Failed steps are not charged. Idle tasks incur no cost. No fixed monthly subscription.