Skip to main content

Jev Phone

毫秒级本地处理的三端多模态点击 SDK

Android · iOS · HarmonyOS

经济、快速、准确

中文 · English · 官网 ↗

Jev Phone 将 Jev 多模态决策接到三端设备上,为已有 Agent、测试平台和脚本提供可独立调用的手机点击能力。调用方给出点击目标,SDK 完成当前画面的定位和执行。

它承接从“知道要操作什么”到“实际点到设备上”的这一段。你可以继续使用自己的任务规划、缓存和业务判断,不需要引入完整 AI Phone 框架。

多模态决策驱动的三端视觉交互通道

实机演示:预览难度并保存

安卓真机连续执行四步:基础 → 中等 → 困难 → 保存修改。起始画面已打开难度弹窗,最终保存为困难。秒表按真实时间连续计时,视频未加速。

实机演示:预览难度并保存

步骤模型往返SDK本地处理页面稳定等待整步合计
基础763.28 ms490.99 ms658.00 ms1,912.27 ms
中等646.39 ms289.80 ms665.00 ms1,601.19 ms
困难647.78 ms296.26 ms702.00 ms1,646.04 ms
保存修改706.62 ms301.97 ms0.00 ms1,008.59 ms

整步合计包含点击后的页面稳定等待,通过连续截图对比判断画面是否稳定;末步没有后续步骤,因此不追加等待。第一步低于2秒,其余三步均低于1.7秒;整轮实际耗时 6,170.82ms。本地 SDK 已实现毫秒级处理;模型往返耗时则受你的网络状况与模型服务响应影响,是整步耗时波动的主要来源。

MP4 · JSON

性能

已有安卓实验中,本地候选处理、画框与编码耗时 15–50ms;非模型整轮中位为 620ms,同一导航样本9轮范围为 493–729ms。这些数据不包含模型请求、初始化与页面稳定。

每一步整体耗时还包括设备采集、候选处理、模型往返、点击和该步后续衔接。完整分段记录分别列出这些时间。

毫秒级通道处理与分段计时

工作原理:Jev 选择,组件执行

当前接入的多模态 Jev 采用 有限选项决策接口:它结合图像选择给定候选,这种接入方式并不直接返回设备操作指令或可执行的点击坐标。因此,从模型选中目标到设备实际点击,还需要组件完成定位与动作绑定。

我们先从系统树中提取可操作元素的边界,用四角在截图上勾勒出矩形,并为每个区域标记编号。Jev 接收当前目标和带编号的图像,只需选出对应编号;组件再根据编号找回元素边界,计算中心坐标,交给平台驱动执行点击。代码保存左上角与右下角坐标,由此确定矩形四角。 实际编号图还以中心红点和引线标明点击位置,编号会避让,重叠展示框会围绕原中心缩小;这些绘图处理不会改变候选的原始边界和点击坐标。

从点击目标到编号选择,再到设备坐标点击

为什么结合系统树与截图

矩形的位置来自系统树,目标的文字、图标和外观语义来自截图。例如,节点文字为空,但画面中显示的是头像:Jev 可以依据图像识别头像并选择它的编号,组件则用同一编号找回已知边界。这样,多模态选项决策就能对应到真实可操作元素,而不需要模型自己生成坐标。

几何约束与视觉语义融合

三端支持与设备准备

目前已完成三端适配:安卓使用 UiAutomator2,iOS 使用 WDA / XCTest,鸿蒙使用 UITest / hmdriver2。组件把各端的系统层级、截图、显示尺寸与点击通道接入同一候选定位流程,并处理 iOS 截图像素与 WDA point 的坐标映射。三端均支持真机与虚拟机,使用同一接口完成单步和连续点击。

使用前,需要准备已授权、保持解锁的设备及对应平台服务,再提供所选模型通道的 Key:

平台 需要准备
Android ADB 能识别设备,USB 调试已授权,UiAutomator2 服务可运行。
iOS 真机已开启开发者模式并完成信任,签名后的 WDA 服务已运行且地址可访问。
HarmonyOS HDC 能识别并连接已授权设备,UITest / hmdriver2 服务可用。

具体操作见三端设备准备。下面保留三端原始图例,展示候选编号与可执行区域的绑定。

三端视觉定位与执行验证

独立组件接入

把手机点击能力接到你已有的程序中:准备好设备服务和模型 Key,创建目标平台的 Clicker。单个点击目标调用 click(target),一组有序目标调用 run(text);组件返回选中区域、坐标、驱动状态和分段耗时,让你的程序继续处理后续流程。

接入不需要运行 Demo 网页或数据库。安卓、iOS、鸿蒙分别使用 AndroidClicker、IOSClicker、HarmonyClicker,模型通道配置和异常处理见接入指南。

SDK接入指南 · 三端设备准备 · 调用示例 · 多设备并行

当前能力与后续承接

当前支持 Android、iOS、HarmonyOS 真机与虚拟机上的单步和连续点击,完成画面采集、候选生成、模型选择、点击执行,并返回结果与计时。

后续可扩展输入、滚动、长按等动作。任务规划、业务断言、应用启动和设备调度由现有系统承接,可以围绕点击组件继续集成。

版本、升级与维护 · 当前版本 0.2.0。

接入代码

使用 Python 3.10+,可直接从 PyPI 安装:

python -m pip install 'jev-phone[android]==0.2.0'

iOS 安装 jev-phone,鸿蒙安装 jev-phone[harmony],Demo 安装 jev-phone[demo]。运行仓库中的 examples 脚本仍需下载完整源码。

0.2.0 可选绘图增强(默认关闭): 一个总开关控制三端的 H5 与可用原生增强;有可靠信息才调整展示框,没有则保留原样。候选编号、点击坐标和执行流程保持不变。

from jev_phone import configure
configure(visual_enhancement=True)

iOS H5 增强安装 jev-phone[visual];iOS 原生增强需要配套只读 WDA 扩展。各端通道条件、回退和计时见绘图增强说明。

需要 Python 3.10+(例如 python3.11);下面命令适用于 macOS / Linux。也可从公开仓库或源码包安装,安装方法见升级与维护。从仓库安装固定版本:

git clone https://github.com/dongxinsuperman/jev-phone.git
cd jev-phone
git checkout v0.2.0
python3.11 -m venv .venv
.venv/bin/pip install -e '.[android]'

安卓安装 .[android],iOS 安装 .,鸿蒙安装 .[harmony];同时接三端使用 .[android,harmony]。先按三端设备准备启动对应设备服务并解锁设备、打开目标应用。将示例 serial 替换为 adb devices -l 中的真实编号;示例步骤要求当前应用中存在对应按钮。默认使用 OpenRouter Decisions,输入该账号的 Key;该账号须能调用所配置的模型接口。SDK 不会启动应用或替你登录。

from getpass import getpass
from jev_phone import AndroidClicker

with AndroidClicker(
    serial="YOUR_DEVICE_SERIAL",
    api_key=getpass("OpenRouter Key: "),
    provider="openrouter",
) as phone:
    report = phone.run("打开默认难度设置;选择中等难度;保存修改")
    print(report["results"])

SDK接入指南 · 三端设备准备 · 验证概览 · 完整计时记录 · 页面源码 · MIT

Metadata

Release files for jev-phone 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jev-phone 0.2.0
File Size Uploaded
jev_phone-0.2.0.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jev-phone 0.2.0
File Interpreter ABI Platform
jev_phone-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / jev_phone-0.2.0.tar.gz

Download URL jev_phone-0.2.0.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
6050c686cc558c98c0912c8146ac89111973d144dca7e6041876a0e131b4ed28
BLAKE2b-256 checksum
How to use checksums
f301575d2d0e28b1b4b384e8019793874ae847ce1373f72684142a540590c5f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / jev_phone-0.2.0-py3-none-any.whl

Download URL jev_phone-0.2.0-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b54afe52430232eecf3d962c6050a745d7c976d535e4ff1619597d0d7cc3e298
BLAKE2b-256 checksum
How to use checksums
586cabf91c3f8de3488cb771629562ed47a73d2afc9e1bc95c17ca4615814779
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page