How It Works
Perceive
Takes a screenshot of the phone screen and sends it to a vision AI model to understand what's displayed — buttons, text, inputs, menus.
Decide
A planning AI receives the screen description + your task + action history, then decides the single best next action to take.
Act
Executes the action via ADB — tap, swipe, type, launch app, press back. Then waits for the screen to settle and loops back to Perceive.
Cost: ~$0.001 per step, ~$0.04 per 30-step task. Screen caching saves 30-50% on repeated screens.
Capabilities
Social Media
Post to Instagram, like tweets, follow accounts, send DMs. Works across app updates — AI adapts to UI changes.
App Testing
Automated QA flows across any Android app. No Espresso/Appium setup needed. Just describe the test in English.
Data Entry
Fill forms, enter records, process repetitive data input tasks across any app or mobile website.
Content Publishing
Cross-post content to multiple platforms. Schedule with cron workflows. AI handles each app's unique flow.
Account Management
Manage multiple accounts across apps. Profile updates, settings changes, notification management.
Custom Workflows
Chain actions into JSON workflows. Mix manual steps with AI tasks. Trigger on schedule or manually.
Quick Setup
1. Enable Developer Options
Settings → About Phone → Tap "Build Number" 7 times
2. Enable WiFi Debugging
Settings → Developer Options → Wireless debugging → Enable → Pair with code
3. Connect via API
curl -X POST https://moneybot.viralstack.xyz/api/phonebot/devices \
-H "Content-Type: application/json" \
-d '{"ip": "192.168.1.100", "port": 5555, "name": "My Phone"}'
4. Run a Task
curl -X POST https://moneybot.viralstack.xyz/api/phonebot/devices/1/task \
-H "Content-Type: application/json" \
-d '{"task": "Open Instagram and like the first post in my feed"}'
Or via Telegram: /phone open Instagram and like the first post
API Reference
/api/phonebot/devices
List all paired devices
/api/phonebot/devices
Pair a new device (body: {ip, port, name})
/api/phonebot/devices/:id/screenshot
Take a screenshot (returns base64 PNG)
/api/phonebot/devices/:id/action
Execute single action (body: {type, params})
/api/phonebot/devices/:id/task
Run AI task (body: {task, maxSteps})
/api/phonebot/workflows
List saved workflows
/api/phonebot/workflows
Create a workflow (body: {name, slug, steps})
/api/phonebot/workflows/:id/run
Execute a workflow
/api/phonebot/runs
Execution history
/api/phonebot/runs/:id
Single run details + action log
Workflow Examples
Post to Instagram
[
{"type": "launch", "params": {"package": "com.instagram.android"}},
{"type": "wait", "params": {"ms": 3000}},
{"type": "ai_task", "params": {"task": "Tap the + button to create a new post"}},
{"type": "ai_task", "params": {"task": "Select the first photo in gallery and proceed"}},
{"type": "ai_task", "params": {"task": "Add caption: Rise and grind. Then share the post."}}
]
Morning Social Check
[
{"type": "launch", "params": {"package": "com.twitter.android"}, "waitAfter": 3000},
{"type": "ai_task", "params": {"task": "Check notifications and like any mentions", "maxSteps": 10}},
{"type": "home", "params": {}, "waitAfter": 1000},
{"type": "launch", "params": {"package": "com.instagram.android"}, "waitAfter": 3000},
{"type": "ai_task", "params": {"task": "Check DMs and reply to any new messages", "maxSteps": 15}}
]
Architecture
Telegram /phone ───┐
▼
REST API ────► Vision Loop ────► ADB Bridge ────► Android Device
│ ▲ │
│ │ ├── tap / swipe / type
▼ │ ├── screenshot capture
LLM Gateway └── app launch / shell
├── MiniMax-VL (vision)
└── DeepSeek (planning)
Workflow Engine ──► Step sequences + AI tasks
Device Manager ───► Health monitoring + auto-reconnect
Screen Cache ─────► SHA-256 hash → skip re-analysis