jev-phone
Python tap SDK for Android, iOS and HarmonyOS where multimodal Jev picks a numbered on-screen candidate and the SDK taps it.
Overview
Jev Phone is a standalone Python SDK, documented mainly in Chinese, that adds phone tapping to existing agents, test platforms and scripts. The caller gives a tap target; the SDK locates it on the current screen and taps. It covers the step from knowing what to operate to actually touching the device, without a full AI phone framework.
The SDK extracts actionable element bounds from the system UI tree, draws numbered rectangles on the screenshot, and sends the target and annotated image to multimodal Jev, which only picks a number. The SDK maps the number back to the element's bounds and taps the centre, so the model never generates coordinates. Using both the tree and the screenshot lets Jev recognise elements like avatars that have no text. It supports Android (UiAutomator2), iOS (WDA/XCTest) and HarmonyOS (UITest/hmdriver2) on real devices and emulators. A recorded demo shows four steps at 1.0-1.9 s each including model round trip; local processing is reported at 15-50 ms.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which numbered region matches the tap target? | — |
How it works
- Capture the UI tree and screenshot
- Draw numbered candidate rectangles on the screenshot
- Jev picks the number matching the target
- The SDK taps the centre of that element and waits for the screen to settle
Strengths
- Model never generates coordinates
- Works across three mobile platforms
- Fast local processing
- Drops into existing agents and test tools
Caveats
- Model round trip dominates step time
- Requires device services such as UiAutomator2 or WDA
- Documentation mainly in Chinese
Getting started
Create an AndroidClicker, IOSClicker or HarmonyClicker with your model key, then call click(target) or run(text); see the SDK integration guide.At a glance
- Type
- Library
- Status
- beta
- Language
- Python
- Runtime
- SDK for Android, iOS and HarmonyOS
- Has code
- yes
Use cases and integrations
How curated lists describe it
Jev 多模态手机自动化:面向 Android、iOS、HarmonyOS 的独立 Python 点击 SDK,毫秒级本地处理。 Jev-powered multimodal mobile automation: a standalone Python tap SDK for Android, iOS and HarmonyOS, with millisecond-level local processing.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
Which numbered on-screen candidate matches the requested tap target.
Does the model output coordinates?
No. It picks a number; the SDK maps it back to known element bounds.
Which platforms are supported?
Android, iOS and HarmonyOS, on real devices and emulators.
Related projects
- OpenJev★ 5
Jev-inspired decision API with a local mock server and Python and TypeScript SDKs for prototyping; real inference is planned.
LibraryprototypePython MSW handlers that mock the Jev API for the official TypeSafe SDK, making Jev-driven tests deterministic without keys or credits.
ServicebetaTypeScriptNative macOS agent app wiring 23 LLM providers into a task loop, listed with an optional Jev command-risk advisor via a TypeSafeKit client.
LibraryproductionSwiftClaude Code plugin that runs tap scripts on iOS or Android and has Jev judge each checkpoint's on-screen claims for a pass/fail verdict.
AppbetaTypeScriptFork of mobile-mcp that adds OCR and lets Jev pick which recognised text element to tap on Android and iOS devices.
MCP serverbetaTypeScriptFast iOS Simulator and Android navigator built on sim-use where Jev picks each tap instead of a frontier-model turn.
Projectbeta