跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptAI大前端

如何利用 AI 自动生成自动化脚本

介绍利用人工智能技术自动生成移动端自动化脚本的方法。通过自然语言描述操作意图,AI 可推断坐标、生成初始化逻辑及适配不同设备分辨率。支持无障碍服务、USB HID 或蓝牙 HID 等多种交互方式,并能根据错误日志自我修正。文章提供了从环境准备、模型配置、模块选择到调试优化的完整流程,并结合实际案例展示了如何生成包含循环遍历、控件查找及文本识别的复杂脚本代码,旨在降低自动化开发门槛并提升脚本鲁棒性。

颠三倒四发布于 2026/3/30更新于 2026/10/25112 浏览

引言

随着人工智能技术的快速发展,AI 已逐渐成为编写自动化脚本的重要辅助工具。传统自动化脚本开发通常依赖开发者手动编写代码,不仅耗时耗力,还对编程能力和目标平台 API 的熟悉程度有较高要求。而借助 AI(尤其是大语言模型),用户仅需通过自然语言描述操作意图——例如'点击登录按钮''滑动页面直到看到'设置'选项'——AI 即可自动生成结构正确、逻辑清晰的脚本代码,显著降低自动化门槛。

在移动端智能辅助领域,AI 可结合平台特定的 API(如 usb.click(x, y) 或 ble.swipe(...))自动推断坐标、生成初始化逻辑、插入必要延时,并适配不同设备的分辨率。例如,用户输入'打开微信并发送一条消息',AI 能分解任务为:返回桌面 → 点击微信图标 → 等待加载 → 点击聊天窗口 → 输入文本 → 发送。整个过程无需用户了解底层通信协议或坐标计算细节。

此外,AI 还能根据错误日志进行自我修正。若脚本因坐标偏移失败,AI 可建议加入图像识别定位或动态坐标计算;若 USB HID 初始化缺失,AI 会自动补全 usbInit() 调用。这种'意图驱动 + 自动补全 + 智能调试'的模式,极大提升了脚本开发效率与鲁棒性。

更重要的是,AI 生成的脚本天然具备规避风控的潜力。它可推荐使用 USB HID 或蓝牙 HID 等底层输入方式替代无障碍服务,并自动遵循仿人操作节奏(如随机延迟、曲线滑动),使自动化行为更接近真实用户,有效绕过金融、社交、游戏等高风控场景的检测机制。

用户无需掌握编程知识,仅通过自然语言描述操作流程,即可由 AI 自动生成可在目标平台直接运行的自动化脚本。以下是结合通用流程的完整使用指南:

一、准备工作

  1. 安装并登录自动化辅助工具
    • 确保已安装最新版自动化辅助工具,并完成账号登录。
  2. 开启调试模式(如需无障碍)
    • 若脚本涉及界面控件操作,需在工具内开启【调试模式】并授予【无障碍权限】(路径:工具设置 → 调试模式)。
  3. 准备硬件(如使用 HID)
    • 若计划使用 USB HID 或蓝牙 HID,需提前连接设备并确保系统识别成功。

✅ 注意:AI 会根据你选择的'模块'自动决定是否需要无障碍或 HID 支持。

二、使用步骤(基于 AI 功能)

步骤 1:进入 AI 脚本生成页面
  • 登录管理后台;
  • 进入「移动端」→「AI 生成脚本」页面。
步骤 2:配置 AI 模型(推荐 DeepSeek)
  • 点击右上角'设置模型参数';
  • 选择模型(推荐 DeepSeek);
  • 填写你的 DeepSeek API Key(需自行注册开发者账号并获取)。
步骤 3:选择功能模块
  • 点击右上角'+AI'按钮;
  • 在弹出窗口中,于'支持模块'下拉菜单中选择所需技术栈:
    • 无障碍模块:适用于常规界面控件操作;
    • USB HID 模块:用于有线 HID 设备控制;
    • 蓝牙 HID 模块:用于无线 BLE HID 控制;
    • 图色/OCR/Yolo:用于图像识别场景。
  • 默认为'无障碍',请根据实际需求切换。
步骤 4:输入详细操作需求(关键!)
  • AI 会根据描述自动生成对应脚本代码(含坐标计算、延时、错误处理等)。

在对话框中用清晰、分步骤的自然语言描述你要实现的操作。 ❌ 错误示例:'帮我抓取抖音评论。' ✅ 正确示例:

打开抖音 App;点击底部'首页'确保进入主界面;向上滑动一次,进入第一个视频;点击右侧'评论'图标;等待评论列表加载,滚动到底部;使用 OCR 识别所有评论文本并保存到本地文件。

步骤 5:调试与优化
  • 生成后,左侧显示可运行代码,可直接选择设备在线调试;
  • 若结果不符预期,可在对话框中继续补充说明(如'点击失败,请改用图色定位'),AI 会迭代优化脚本;
  • 支持多次交互修改,直至满足需求。

三、AI 生成脚本的优势

  • 零代码门槛:非程序员也能快速实现复杂自动化;
  • 自动适配平台 API:AI 熟悉平台所有函数(如 usb.click()、ocrFindView());
  • 智能规避风控:可主动推荐 HID 方案替代无障碍;
  • 支持多模态融合:可组合使用 OCR + 图色 + 控件查找;
  • 高效迭代:通过对话持续优化逻辑,无需手动改代码。

四、最佳实践建议

  • 细化每一步操作:越详细,生成脚本越准确;
  • 明确技术路径:如'不要用无障碍,请用 USB HID 点击';
  • 提供界面特征:如'按钮文字为'立即领取''或'图标为红色购物车';
  • 指定输出格式:如'将结果保存为 JSON 文件'。

五、实际例子

拼多多相关例子

ai 自然语言描述: 打开拼多多,若找到'首页'或者'个人中心'则表示成功进入拼多多。点击文本为'拍照搜索'且类名为 android.widget.ImageView 控件的左边 50 个像素位置,进入含有类名为 android.widget.EditText 控件的页面。在该控件中输入文本'手机',然后点击文本为'搜索'的按钮,进入含有 id 为 com.xunmeng.pinduoduo:id/tv_title 的搜索结果页面。在搜索界面页面中循环遍历处理 id 为 com.xunmeng.pinduoduo:id/tv_title 的所有控件,用文本'拍照搜索'来判断是否为搜索结果面。具体处理为:点击控件进入含有文本为'客服'控件的页面,查找文本为'进店'的控件,如果找不到则向上滚动页面后继续查找,最多滚动 5 次,如果找到则获取控件的 famliy 为 [0, 2, 1, 1] 的控件的文本。

生成的代码为:

// 循环遍历处理
function _loopDeal(fnGetContainer, fnGetTitle, fnTask, options) {
    var dealedArr = [], scrollCount = 0;
    var cbItemFilter = options && options.cbItemFilter ? options.cbItemFilter : null;
    var backTag = options && options.backTag ? options.backTag : '';
    var endTag = options && options.endTag ? options.endTag : '';
    var maxConsecutiveScrollCount = options && options.maxConsecutiveScrollCount ? options.maxConsecutiveScrollCount : 3;
    console.log('backTag:', backTag, 'endTag:', endTag, 'maxConsecutiveScrollCount:', maxConsecutiveScrollCount);
    while (true) {
        var container = fnGetContainer();
        if (container) {
            var find = false;
            // 遍历找到的所有目标
            for (var item of container) {
                // 过滤掉无效的 item
                if (!cbItemFilter || cbItemFilter(item)) {
                    // 获取 title,排除空
                    var title = fnGetTitle(item);
                    if (strIsNotEmpty(title.trim())) {
                        if (!dealedArr.includes(title)) {
                            console.log('处理:' + title);
                            find = true;
                            dealedArr.push(title);
                            // 执行任务
                            var r = fnTask(item);
                            console.log('执行任务结果:' + r);
                            // 返回到容器界面
                            if (backTag) {
                                var b = back2Page(backTag, { backFirst: false, maxStep: 8 });
                                console.log('back b:' + b);
                            }
                            break;
                        }
                    }
                }
            }
            if (!find) {
                // 检查是否到达容器底部
                if (endTag) {
                    if (findView(endTag, { maxStep: 2 }).length > 0) {
                        console.log('找到结束 Tag:' + endTag + ", 退出");
                        break;
                    }
                }
                // 检查是否达到最大连续滑动次数
                if (scrollCount >= maxConsecutiveScrollCount) {
                    console.log('超过最大连续滑动次数,认为已经到达底部,退出');
                    break;
                }
                console.log('没找到有效的目标 item,滑动');
                scroll('up', { afterWait: 1000 });
                ++scrollCount;
            } else {
                scrollCount = 0;
            }
        } else {
            console.log('没找到容器,退出');
            break;
        }
    }
}
function main() {
    // 启动拼多多 APP
    if (1 != launchApp('com.xunmeng.pinduoduo')) {
        console.error('启动拼多多失败');
        return;
    }
    console.log('启动拼多多成功');
    // 等待进入首页或个人中心
    var ret = findView('txt:首页 | txt:个人中心', { maxStep: 10 });
    if (ret.length <= 0) {
        console.error('未找到首页或个人中心,可能未成功进入拼多多');
        return;
    }
    console.log('成功进入拼多多');
    // 点击拍照搜索控件左边 50 像素位置
    ret = findView('txt:拍照搜索@cn:android.widget.ImageView');
    if (ret.length <= 0) {
        console.error('未找到拍照搜索控件');
        return;
    }
    var view = ret.views[0];
    // 点击控件左边 50 像素位置
    gestureClick(view.left - 50, view.top + view.height / 2, { afterWait: 1000 });
    // 等待进入含有 EditText 的页面
    ret = findView('cn:android.widget.EditText', { maxStep: 10 });
    if (ret.length <= 0) {
        console.error('未进入搜索页面');
        return;
    }
    console.log('进入搜索页面');
    // 在 EditText 中输入"手机"
    paste('cn:android.widget.EditText', '手机', { afterWait: 1000 });
    // 点击搜索按钮
    click('txt:搜索', { click: true, afterWait: 2000 });
    // 等待进入搜索结果页面
    ret = findView('id:com.xunmeng.pinduoduo:id/tv_title', { maxStep: 10 });
    if (ret.length <= 0) {
        console.error('未进入搜索结果页面');
        return;
    }
    console.log('进入搜索结果页面');
    // 循环处理搜索结果
    _loopDeal(getContainer, getTitle, task, { backTag: 'txt:拍照搜索' });
}
// 弹窗处理
function e1() {
    var ret = findView('txt:取消 | txt:关闭|id:com.xunmeng.pinduoduo:id/close', { maxStep: 1 });
    if (ret.length > 0) {
        click(ret.views[0], { click: true });
        sleep(500);
    }
}
function getContainer() {
    return findView('id:com.xunmeng.pinduoduo:id/tv_title', { flag: 'find_all', failed: e1 }).views;
}
function getTitle(item) {
    return item.text;
}
function task(item) {
    // 点击控件进入详情页
    if (!switchPage(item, 'txt:客服', { failed: e1 }).length > 0) {
        console.log('进入详情页失败');
        return false;
    }
    console.log('进入详情页');
    // 查找"进店"控件,最多滚动 5 次
    var scrollCount = 0;
    var ret;
    while (scrollCount < 5) {
        ret = findView('txt:进店', { maxStep: 2 });
        if (ret.length > 0) {
            console.log('找到进店控件');
            // 获取 family 为 [0, 2, 1, 1] 的控件文本
            var targetView = ret.views[0].family([0, 2, 1, 1]);
            if (targetView) {
                console.log('目标控件文本:', targetView.text);
            }
            break;
        }
        console.log('未找到进店控件,向上滚动');
        scroll('up', { afterWait: 1000 });
        scrollCount++;
    }
    if (scrollCount >= 5) {
        console.log('滚动 5 次后仍未找到进店控件');
    }
    return true;
}

目录

  1. 引言
  2. 一、准备工作
  3. 二、使用步骤(基于 AI 功能)
  4. 步骤 1:进入 AI 脚本生成页面
  5. 步骤 2:配置 AI 模型(推荐 DeepSeek)
  6. 步骤 3:选择功能模块
  7. 步骤 4:输入详细操作需求(关键!)
  8. 步骤 5:调试与优化
  9. 三、AI 生成脚本的优势
  10. 四、最佳实践建议
  11. 五、实际例子

更多推荐文章

查看全部
  • 设计支持万人并发抢购的秒杀系统架构方案
  • Ubuntu 22.04 桌面版安装指南
  • Rokid 灵珠平台:快速搭建旅游 AR 智能体实战
  • OpenHarmony 下 Flutter 跨域难题:flutter_cors 实战与适配方案
  • 用 GitHub Copilot 提升 Python 开发效率的实战记录
  • Git 2.53 新特性:智能维护与性能优化
  • C++ 基于正倒排索引的搜索引擎核心实现与代码详解
  • Android 开发核心面试题解析:系统启动、Binder 与内存管理
  • 网络基础安全六大组件:防火墙、WAF、IPS、行为管控、DDoS 及蜜罐详解
  • 微信小程序 WebView 与网页双向通信实战指南
  • AI 驱动移动机器人提升化学合成效率,Nature 发表智能实验室研究
  • 卷积神经网络(CNN)核心原理与 TensorFlow 实战
  • 数据结构:二叉树与堆的结构及实现
  • Windows 下 OpenClaw 开源 AI 代理框架部署指南
  • PyTorch 自定义算子开发:使用 C++ 与 CUDA 扩展
  • 2026 年 3 月全球 AI 前沿动态与行业洞察
  • Spring 事务管理与传播机制详解
  • 大模型 AI Agent 在企业应用中的 6 种基础类型与落地场景
  • 8 款实用 AI 绘画工具推荐:从 Midjourney 到 Stable Diffusion
  • whisper.cpp 高性能语音识别推理实现

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online